diff mbox

[LEDE-DEV] bcm53xx: calculate TRX CRC32 using whole kernel partition

Message ID 1462818920-30336-1-git-send-email-zajec5@gmail.com
State Changes Requested
Headers show

Commit Message

Rafał Miłecki May 9, 2016, 6:35 p.m. UTC
This provides better protection of flash data.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

David Lang May 9, 2016, 6:40 p.m. UTC | #1
Just a note, rather than removeing copyright openwrt you should probably say 
parts are copyright openwrt and parts copyright lede

just because you added a bit doesn't give you sole copyright of the file :-)

but it does mean that openwrt doesn't own the copyright of the entire file any 
more either.

the git history can untangle this for anyone who cares.

But there is enough bad feelings going around, we don't need someone getting 
angry over copyright notices being removed.

David Lang

On Mon, 9 May 2016, Rafał Miłecki wrote:

> Date: Mon,  9 May 2016 20:35:20 +0200
> From: Rafał Miłecki <zajec5@gmail.com>
> To: lede-dev@lists.infradead.org
> Cc: Hauke Mehrtens <hauke@hauke-m.de>, Rafał Miłecki <zajec5@gmail.com>
> Subject: [LEDE-DEV] [PATCH] bcm53xx: calculate TRX CRC32 using whole kernel
>     partition
> 
> This provides better protection of flash data.
>
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
> ---
> target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
> index abbb04a..e8a7e4d 100644
> --- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
> +++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
> @@ -1,7 +1,12 @@
> #!/bin/sh
> #
> -# Copyright (C) 2007 OpenWrt.org
> +# Copyright (C) 2016 LEDE project
> #
> #
> 
> -mtd fixtrx firmware || mtd fixseama firmware
> +kernel_size=$(cat /proc/mtd | egrep -m 1 "kernel|linux" | cut -d ' ' -f 2)
> +[ -n "$kernel_size" ] && kernel_size=$((0x$kernel_size))
> +
> +mtd ${kernel_size:+-c $kernel_size} fixtrx firmware && exit 0
> +mtd fixseama firmware && exit 0
> +exit 1
> -- 
> 1.8.4.5
>
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
Rafał Miłecki May 9, 2016, 6:45 p.m. UTC | #2
On 9 May 2016 at 20:40, David Lang <david@lang.hm> wrote:
> Just a note, rather than removeing copyright openwrt you should probably say
> parts are copyright openwrt and parts copyright lede
>
> just because you added a bit doesn't give you sole copyright of the file :-)
>
> but it does mean that openwrt doesn't own the copyright of the entire file
> any more either.
>
> the git history can untangle this for anyone who cares.
>
> But there is enough bad feelings going around, we don't need someone getting
> angry over copyright notices being removed.

Please don't top post and consider using dots instead of new lines ;)

I'm aware adding something new to the code doesn't give me all
Copyrights. The thing is the whole real content of the old file (one
line) was rewritten by this patch. That's why I replaced Copyright.
Bjørn Mork May 9, 2016, 8:19 p.m. UTC | #3
Rafał Miłecki <zajec5@gmail.com> writes:

> -# Copyright (C) 2007 OpenWrt.org
> +# Copyright (C) 2016 LEDE project

I've always wondered about the OpenWrt copyright assigment process, and
this looks like a perfect opportunity to clear that up.  Why do you
assign the copyright to the project?  What are the formalities involved
here?  Is there any paperwork?  What legal entity is this "OpenWrt.org"
or "LEDE project" now owning the copyright?  How do you ensure that they
use the code only like you intended after you donated it?

I am used to open source projects like the Linux kernel, where every
author keeps their copyright.  Or projects like those managed by the FSF
where you do hand over the copyright to them, by actually signing papers
and mailing them in.  Both methods have pretty clear legal implications.

But OpenWrt.org has always been this odd one, where everyone just writes
"Copyright (C) .... OpenWrt.org" seemingly without any thought about how
that works.  And the LEDE project does the same?

What I'd personally hate, was if some bad guys got control over one of
these organisations/projects and suddenly owned the copyright of all the
work donated to them over the years.  The bad guys could then legally
relicense all the code under whatever license they wanted.  Isn't that
unnecessarily risky?  IMHO the kernel model is nice for GPL'd code,
since it pretty much prevents any relicensing at all.

I think maybe a FAQ entry regarding copyright assignment would be
nice. I am very confused by this.  And a bit scared.  But maybe I'm
alone there?


Bjørn
Hauke Mehrtens May 9, 2016, 9:24 p.m. UTC | #4
On 05/09/2016 10:19 PM, Bjørn Mork wrote:
> Rafał Miłecki <zajec5@gmail.com> writes:
> 
>> -# Copyright (C) 2007 OpenWrt.org
>> +# Copyright (C) 2016 LEDE project
> 

I am not a lawyer and the following statements could be wrong.

> I've always wondered about the OpenWrt copyright assigment process, and
> this looks like a perfect opportunity to clear that up.  Why do you
> assign the copyright to the project?
There is no real reason.

> What are the formalities involved here?
None

> Is there any paperwork?
No

> What legal entity is this "OpenWrt.org"
We haven't registered OpenWrt as a legal entity, OpenWrt gets
represented by SPI (Software in the Public Interest). It could be that
it implicitly gets a legal entity in some laws.

> or "LEDE project" now owning the copyright?
LEDE project is also no legal entity, it is not even represented by anyone.

> How do you ensure that they use the code only like you intended after you donated it?
This copyright notice is useless. The copyright will stay at the
individual author. At least in Germany it would not be possible for me
to give the copyright to OpenWrt or LEDE as OpenWrt and LEDE do not pay
me based on the hours I work, or in any other way.

> I am used to open source projects like the Linux kernel, where every
> author keeps their copyright.  Or projects like those managed by the FSF
> where you do hand over the copyright to them, by actually signing papers
> and mailing them in.  Both methods have pretty clear legal implications.

In OpenWrt the author holds the copyright we just haven't added the
copyright statement everywhere.

> But OpenWrt.org has always been this odd one, where everyone just writes
> "Copyright (C) .... OpenWrt.org" seemingly without any thought about how
> that works.  And the LEDE project does the same?
> 
> What I'd personally hate, was if some bad guys got control over one of
> these organisations/projects and suddenly owned the copyright of all the
> work donated to them over the years.  The bad guys could then legally
> relicense all the code under whatever license they wanted.  Isn't that
> unnecessarily risky?  IMHO the kernel model is nice for GPL'd code,
> since it pretty much prevents any relicensing at all.

As the copyright is owned by the individual authors I do not see a
problem, just bad documentation. The OpenWrt trade mark is owned by SPI.

> I think maybe a FAQ entry regarding copyright assignment would be
> nice. I am very confused by this.  And a bit scared.  But maybe I'm
> alone there?

I will add this.

Hauke
Bjørn Mork May 10, 2016, 7:15 a.m. UTC | #5
Hauke Mehrtens <hauke@hauke-m.de> writes:
> On 05/09/2016 10:19 PM, Bjørn Mork wrote:
>
>> How do you ensure that they use the code only like you intended after you donated it?
> This copyright notice is useless. The copyright will stay at the
> individual author. At least in Germany it would not be possible for me
> to give the copyright to OpenWrt or LEDE as OpenWrt and LEDE do not pay
> me based on the hours I work, or in any other way.

OK, that makes sense.  But it makes me wonder even more about the
reasons for putting that misleading copyright statement there.  It would
be less confusing if you just named the project without the "Copyright"
prefix.

> As the copyright is owned by the individual authors I do not see a
> problem, just bad documentation. The OpenWrt trade mark is owned by SPI.

Yes, the docs are bad.  I for one will certainly believe whatever a
copyright statement says, although as you point out, it doesn't have any
legal meaning.

>> I think maybe a FAQ entry regarding copyright assignment would be
>> nice. I am very confused by this.  And a bit scared.  But maybe I'm
>> alone there?
>
> I will add this.

Thanks.  And thanks a lot for taking the time to explain these things.


Bjørn
Rafał Miłecki May 10, 2016, 7:44 a.m. UTC | #6
On 10 May 2016 at 09:15, Bjørn Mork <bjorn@mork.no> wrote:
> Hauke Mehrtens <hauke@hauke-m.de> writes:
>> On 05/09/2016 10:19 PM, Bjørn Mork wrote:
>>
>>> How do you ensure that they use the code only like you intended after you donated it?
>> This copyright notice is useless. The copyright will stay at the
>> individual author. At least in Germany it would not be possible for me
>> to give the copyright to OpenWrt or LEDE as OpenWrt and LEDE do not pay
>> me based on the hours I work, or in any other way.
>
> OK, that makes sense.  But it makes me wonder even more about the
> reasons for putting that misleading copyright statement there.  It would
> be less confusing if you just named the project without the "Copyright"
> prefix.

I agree after reviewing this, I just posted
bcm53xx: drop Copyright header from two of my bash scripts
https://patchwork.ozlabs.org/patch/620287/
diff mbox

Patch

diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
index abbb04a..e8a7e4d 100644
--- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
@@ -1,7 +1,12 @@ 
 #!/bin/sh
 #
-# Copyright (C) 2007 OpenWrt.org
+# Copyright (C) 2016 LEDE project
 #
 #
 
-mtd fixtrx firmware || mtd fixseama firmware
+kernel_size=$(cat /proc/mtd | egrep -m 1 "kernel|linux" | cut -d ' ' -f 2)
+[ -n "$kernel_size" ] && kernel_size=$((0x$kernel_size))
+
+mtd ${kernel_size:+-c $kernel_size} fixtrx firmware && exit 0
+mtd fixseama firmware && exit 0
+exit 1