* [U-Boot-Users] GPL 2 "or later" concern
@ 2006-09-18 18:05 Andy Green
2006-09-19 9:27 ` Alex Zeffertt
2006-09-19 19:17 ` Jerry Van Baren
0 siblings, 2 replies; 8+ messages in thread
From: Andy Green @ 2006-09-18 18:05 UTC (permalink / raw)
To: u-boot
Hi folks -
Nice work on U-boot! We are using it with good success on an ARM9
embedded device that is just coming to production.
Late last week the busybox project maintainer decided that the next
version will be licensed as "GPL v2 only", matching the Linux kernel
license, this is a change from an effective "GPL v2 'or later'" license
like U-boot currently has.
During the discussions about this I became aware that there may be some
conflict between GPL v3 and using privately signed crypto hashes to
validate GPL v2 "or later" binaries, some people at least (Linus) hold
that the GPL v3 will allow recipients of the binaries to demand private
signing keys. I am uncertain what the facts are, especially as GPL V3
is not done yet, but looking at it the "or later" license it allows the
FSF to decide anything they like at any later date and it can cause the
distributor trouble accordingly because the GPL V2 "or later" clause
arguably at least signs him up for complying with
$TO_BE_DETERMINED_BY_FSF_WHEN_THEY_WANT, since a recipient can at any
time decide he applies V3 or Vn.
I audited the packages we use and I find more or less of an issue with
three: one we use one small file from and it can be rewritten; one only
has the "or later" copyright on files we are not distributing the binary
for, and lastly there is U-boot, which is currently pretty solidly in
the V2 "or later" camp in grep's opinion :-)
Since all U-boot users who may use signatures to verify the provenance
of a package are in the same boat, I am wondering what the general
opinion about this situation is, and what the feeling would be about a
Linux kernel/busybox-style GPL V2-only license.
-Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-18 18:05 [U-Boot-Users] GPL 2 "or later" concern Andy Green
@ 2006-09-19 9:27 ` Alex Zeffertt
2006-09-19 10:46 ` Andy Green
2006-09-19 19:17 ` Jerry Van Baren
1 sibling, 1 reply; 8+ messages in thread
From: Alex Zeffertt @ 2006-09-19 9:27 UTC (permalink / raw)
To: u-boot
Andy Green wrote:
>
> Since all U-boot users who may use signatures to verify the provenance
> of a package are in the same boat, I am wondering what the general
> opinion about this situation is, and what the feeling would be about a
> Linux kernel/busybox-style GPL V2-only license.
>
Hi Andy,
I am curious as to what worries you about GPL v3.
Is it that you wish to build a version of u-boot that will only load a kernel
that has been signed with your private key?
If so, then your customers will not be free to modify their kernel even though
they may access its source.
This seems to go against the spirit of the GPL. However, I can also see that
for some products linux will only be used if it can be shown to be tamper proof.
Alex
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-19 9:27 ` Alex Zeffertt
@ 2006-09-19 10:46 ` Andy Green
2006-09-19 12:56 ` Alex Zeffertt
0 siblings, 1 reply; 8+ messages in thread
From: Andy Green @ 2006-09-19 10:46 UTC (permalink / raw)
To: u-boot
Alex Zeffertt wrote:
> Andy Green wrote:
>>
>> Since all U-boot users who may use signatures to verify the provenance
>> of a package are in the same boat, I am wondering what the general
>> opinion about this situation is, and what the feeling would be about a
>> Linux kernel/busybox-style GPL V2-only license.
> I am curious as to what worries you about GPL v3.
>
> Is it that you wish to build a version of u-boot that will only load a
> kernel
> that has been signed with your private key?
>
> If so, then your customers will not be free to modify their kernel even
> though
> they may access its source.
>
> This seems to go against the spirit of the GPL. However, I can also see
> that
> for some products linux will only be used if it can be shown to be
> tamper proof.
Hi Alex -
My main concern is in fact updates, currently we package our updates,
including U-boot in RPMs and I intend to sign them, and check the
signature before allowing install. In this embedded device the user
does not have root access. We use RPM so we can completely and easily
fulfill the requirement for sources that match any binaries we ship by
capturing them into SRPMs.
It seems to me possible for a GPL 2 "or later" user to argue that he
should have the signing keys on the basis that he is choosing to
"modify" the code on the provisions of GPL 3, not GPL 2 and despite that
the distributor says he gave the sources on GPL 2 rules. (Last week on
another mailing list a guy was arguing that even GPL2-only code would
qualify for the same treatment, but I can't see how that can be).
Because the hardware is fixed, and the special nature of what U-boot
does, a workaround for me might be to never update U-boot, but obviously
that is less than fully desirable. That way we ship U-boot in the
flash, provide sources for it, but never distribute a signed update
avoiding the proposed potential problem.
I audited the sources for all the packages we will ship, and there is
only one other relatively small source file in net-tools that is GPL2
"or later", so I am considering making sure everything non-proprietary
we ship is GPL2-only or more liberal.
-Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-19 10:46 ` Andy Green
@ 2006-09-19 12:56 ` Alex Zeffertt
0 siblings, 0 replies; 8+ messages in thread
From: Alex Zeffertt @ 2006-09-19 12:56 UTC (permalink / raw)
To: u-boot
Andy Green wrote:
>
> Because the hardware is fixed, and the special nature of what U-boot
> does, a workaround for me might be to never update U-boot, but obviously
> that is less than fully desirable. That way we ship U-boot in the
> flash, provide sources for it, but never distribute a signed update
> avoiding the proposed potential problem.
>
I know this doesn't relate to your original question about licences, but
it would seem to me that distributing u-boot updates is *very* risky. One
slip and every customer could be sending you back dead units in the post.
If you make sure before you sell that u-boot can boot a kernel, and upgrade
the kernel (without assuming a working kernel is present) you won't need to
support u-boot upgrades.
Alex
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-18 18:05 [U-Boot-Users] GPL 2 "or later" concern Andy Green
2006-09-19 9:27 ` Alex Zeffertt
@ 2006-09-19 19:17 ` Jerry Van Baren
2006-09-19 20:02 ` Andy Green
1 sibling, 1 reply; 8+ messages in thread
From: Jerry Van Baren @ 2006-09-19 19:17 UTC (permalink / raw)
To: u-boot
Andy Green wrote:
> Hi folks -
>
> Nice work on U-boot! We are using it with good success on an ARM9
> embedded device that is just coming to production.
>
> Late last week the busybox project maintainer decided that the next
> version will be licensed as "GPL v2 only", matching the Linux kernel
> license, this is a change from an effective "GPL v2 'or later'" license
> like U-boot currently has.
>
> During the discussions about this I became aware that there may be some
> conflict between GPL v3 and using privately signed crypto hashes to
> validate GPL v2 "or later" binaries, some people at least (Linus) hold
> that the GPL v3 will allow recipients of the binaries to demand private
> signing keys. I am uncertain what the facts are, especially as GPL V3
> is not done yet, but looking at it the "or later" license it allows the
> FSF to decide anything they like at any later date and it can cause the
> distributor trouble accordingly because the GPL V2 "or later" clause
> arguably at least signs him up for complying with
> $TO_BE_DETERMINED_BY_FSF_WHEN_THEY_WANT, since a recipient can at any
> time decide he applies V3 or Vn.
>
> I audited the packages we use and I find more or less of an issue with
> three: one we use one small file from and it can be rewritten; one only
> has the "or later" copyright on files we are not distributing the binary
> for, and lastly there is U-boot, which is currently pretty solidly in
> the V2 "or later" camp in grep's opinion :-)
>
> Since all U-boot users who may use signatures to verify the provenance
> of a package are in the same boat, I am wondering what the general
> opinion about this situation is, and what the feeling would be about a
> Linux kernel/busybox-style GPL V2-only license.
>
> -Andy
IANAL and I don't even play one on TV. If you want a legal opinion,
sorry you came to the wrong place (and didn't pay enough). IMHO. YMMV.
etc.
If you have source code that is GPLv2 "or later", it is *your* option to
exercise the "or later" clause on the source you hold. If the copyright
holder changes the copyright to "GPLv3 only" (or goes closed source, for
that matter), you will not be able to use any of the *newer* code that
he may produce (that would be GPLv3 only), but he *cannot* remove your
right to the source you currently hold that is licensed GPLv2 "or
later." Licensing changes is one reason forks happen.
The FSF cannot force you to exercise the "or later" clause. They merely
wrote the GPLv2 and GPLv3(beta X) licenses that have been used to
license a particular piece of software, but they are not the ones that
are licensing the software to you (if they are, see the previous
paragraph). (Note that I do not mean to minimize here the debt of
gratitude that we owe RMS and the FSF for GPLvN. The GPL licenses have
been a tremendously remarkable and enduring work.)
Downstream recipients cannot force *you* to exercise the "or later"
clause and force you to GPLv3. It is their option to convert the source
that they hold to GPLv3, but that change flows downstream, not upstream.
gvb
P.S. I deduce you don't care, but a big part of the consternation over
Linus' GPLv2 _only_ stand is because it is impossible to convert the
linux kernel to GPLv3 (you would have to get all copyright holders,
starting with Linus, to convert their copyrights to GPLv2 "or later" or
GPLv3 only). As a side effect of this, GPLv3 _only_ code will *not* be
able to be linked with linux kernel code because GPLv3 puts more
restrictions on the code than GPLv2, making it *incompatible* with
GPLv2. Only GPLv2 or GPLv2 "or later" code will be legal in the kernel
(and GPLv2 "or later" is frowned on and probably isn't accepted per the
stated philosophies of Linus).
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-19 19:17 ` Jerry Van Baren
@ 2006-09-19 20:02 ` Andy Green
2006-09-19 21:11 ` Jerry Van Baren
0 siblings, 1 reply; 8+ messages in thread
From: Andy Green @ 2006-09-19 20:02 UTC (permalink / raw)
To: u-boot
Jerry Van Baren wrote:
> If you have source code that is GPLv2 "or later", it is *your* option to
> exercise the "or later" clause on the source you hold. If the copyright
...
> Downstream recipients cannot force *you* to exercise the "or later"
> clause and force you to GPLv3. It is their option to convert the source
> that they hold to GPLv3, but that change flows downstream, not upstream.
Well until the GPL V3 comes out, the "or later" protocol is completely
untested, since this is the first chance to use it. Here is a
hypothetical scenario a few months from now: that a recipient is told by
the distributor that he may use the given software under V3 terms if he
likes (this is the "or later" language in the license). The recipient
says, "cool, I will modify the software you gave me under V3 terms
then". Then the recipient points to section 1 of GPL V3
http://gplv3.fsf.org/gpl-draft-2006-07-27.html
''1. Source Code ... The Corresponding Source also includes any
encryption or authorization keys necessary to install and/or execute
modified versions from source code...''
and he says "well then, can I have your signing keys so I can install my
version?" The distributor smiles and says, "oh no, I gave you that
package under GPL v2 terms you see, there is no requirement on me to do
that". The recipient says, "I don't know about that, nothing in writing
about it is there? But what is in writing, on the license you gave me,
it says I can 'modify' the code under GPL V2 'or later'. So I want to
do that under V3 terms like I said, and you offered in writing. So your
keys please!"
I don't know if that would fly or not, but distribution of signed GPL V2
"or later" code means the signing keys are hostage to the outcome of
such an attempt, whereas GPL V2-only code is safe from it.
> P.S. I deduce you don't care, but a big part of the consternation over
> Linus' GPLv2 _only_ stand is because it is impossible to convert the
> linux kernel to GPLv3 (you would have to get all copyright holders,
> starting with Linus, to convert their copyrights to GPLv2 "or later" or
> GPLv3 only). As a side effect of this, GPLv3 _only_ code will *not* be
> able to be linked with linux kernel code because GPLv3 puts more
> restrictions on the code than GPLv2, making it *incompatible* with
> GPLv2. Only GPLv2 or GPLv2 "or later" code will be legal in the kernel
> (and GPLv2 "or later" is frowned on and probably isn't accepted per the
> stated philosophies of Linus).
Well I would say that I do care about it, but that Linus' stance makes a
lot of sense to me. An interesting consideration is that the FSF has a
monopoly on creating GPL versions, and that if your project uses the "or
later" language, it can mean you can see your project being distributed
or modified under terms that you didn't want or ask for, depending on
what the FSF (ie, RMS) decide to place in the next version which is out
of your control. (Admittedly the old rules are still allowed too, so
that should put a limit on how crazy it can get.) But only the FSF can
generate a new version of the GPL which can be applied as an option to
all existing GPL V2 "or later" projects by magic.
-Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-19 20:02 ` Andy Green
@ 2006-09-19 21:11 ` Jerry Van Baren
2006-09-19 22:00 ` Andy Green
0 siblings, 1 reply; 8+ messages in thread
From: Jerry Van Baren @ 2006-09-19 21:11 UTC (permalink / raw)
To: u-boot
Andy Green wrote:
> Jerry Van Baren wrote:
>
>> If you have source code that is GPLv2 "or later", it is *your* option to
>> exercise the "or later" clause on the source you hold. If the copyright
> ...
>> Downstream recipients cannot force *you* to exercise the "or later"
>> clause and force you to GPLv3. It is their option to convert the source
>> that they hold to GPLv3, but that change flows downstream, not upstream.
>
> Well until the GPL V3 comes out, the "or later" protocol is completely
> untested, since this is the first chance to use it. Here is a
> hypothetical scenario a few months from now: that a recipient is told by
> the distributor that he may use the given software under V3 terms if he
> likes (this is the "or later" language in the license). The recipient
> says, "cool, I will modify the software you gave me under V3 terms
> then". Then the recipient points to section 1 of GPL V3
>
> http://gplv3.fsf.org/gpl-draft-2006-07-27.html
>
> ''1. Source Code ... The Corresponding Source also includes any
> encryption or authorization keys necessary to install and/or execute
> modified versions from source code...''
>
> and he says "well then, can I have your signing keys so I can install my
> version?" The distributor smiles and says, "oh no, I gave you that
> package under GPL v2 terms you see, there is no requirement on me to do
> that". The recipient says, "I don't know about that, nothing in writing
> about it is there? But what is in writing, on the license you gave me,
> it says I can 'modify' the code under GPL V2 'or later'. So I want to
> do that under V3 terms like I said, and you offered in writing. So your
> keys please!"
>
> I don't know if that would fly or not, but distribution of signed GPL V2
> "or later" code means the signing keys are hostage to the outcome of
> such an attempt, whereas GPL V2-only code is safe from it.
The distributor smiles and says "Sorry, you cannot take _my_ source code
to GPLv3 since it is licensed GPLv2 _only_. You can take the source
code that licensed GPLv2 "or later" to GPLv3, BUT THAT IS NOT A LICENSE
BETWEEN YOU AND ME. Oh, and by the way, if you do that, you will not be
able to use _my_ GPLv2 only code with it." (See GPLv2 Section 6, GPLv3
Section 2, and GPLv3 Section 10).
Lets say Dan Malek writes a whizzbang bootloader program named PPCBoot
and licenses it GPLv2 "or later".
This gives you a license to use the said source code and add your
"special sauce," as long as you abide by the rules of GPLv2 ("or later",
but you choose to abide by GPLv2 only). You are free to license your
"special sauce" GPLv2 _only_ because that is also compatible with Dan's
code.
Say you sell your widget to Joe Schmuk. GPLv2 obligates you to provide
both Dan's PPCBoot source code plus your "special sauce" source code to
Joe. The critical item here is that you are *not* sublicensing Dan's
source - Joe's only license to Dan's source is via GPLv2 "or later"
directly with Dan, not via you (GPLv2 Section 6, quoted below). The way
I read this, Joe force you abide by any GPLv3 licensing based on his
license with Dan (PPCBoot) because you are not party to that licensing
agreement. In particular, if he takes his PPCBoot code, which he has
licensed from Dan directly (per GPLv2 Section 6) and takes it GPLv3,
that is between him and Dan, you and not involved in any way and he
cannot force you to convert _your_ copy of PPCBoot to GPLv3 because your
copy is separately licensed between _you_ and Dan.
----------------------------------------------------------------
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
----------------------------------------------------------------
In GPLv3, this is more explicit:
----------------------------------------------------------------
2. Basic Permissions.
[snip]
Propagation of covered works other than conveying is permitted without
limitation. Sublicensing is not allowed; section 10 makes it
unnecessary. Conveying is permitted under the conditions stated below.
----------------------------------------------------------------
FWIIW, GPLv3 Section 10 is the equivalent of GPLv2 Section 6, quoted
previously, but is not a direct copy.
Joe's only license to your "special sauce" is your GPLv2 _only_ license,
and that license is with you (Dan isn't involved). Joe can do what he
likes with Dan's license and you are not involved in that licensing. To
argue that you are involved since you conveyed the source would be to
argue that Dell is party to the Microsoft EULA of every PC they sell
since they were the distributor of that software.
FWIIW, the way I read GPLv2 and GPLv3, if Joe converts the source he
licensed from Dan (PPCBoot) to GPLv3 (which he is free to do), he will
no longer be able to use your "special sauce" code with it because the
GPLv3 licensed code is no longer compatible with your GPLv2 "special
sauce". The result is Joe's conversion of Dan's license to GPLv3 only
"hurts" him in that it increases the limitations on what he can now do
with his copy of Dan's code.
>> P.S. I deduce you don't care, but a big part of the consternation over
>> Linus' GPLv2 _only_ stand is because it is impossible to convert the
>> linux kernel to GPLv3 (you would have to get all copyright holders,
>> starting with Linus, to convert their copyrights to GPLv2 "or later" or
>> GPLv3 only). As a side effect of this, GPLv3 _only_ code will *not* be
>> able to be linked with linux kernel code because GPLv3 puts more
>> restrictions on the code than GPLv2, making it *incompatible* with
>> GPLv2. Only GPLv2 or GPLv2 "or later" code will be legal in the kernel
>> (and GPLv2 "or later" is frowned on and probably isn't accepted per the
>> stated philosophies of Linus).
>
> Well I would say that I do care about it, but that Linus' stance makes a
> lot of sense to me. An interesting consideration is that the FSF has a
> monopoly on creating GPL versions, and that if your project uses the "or
> later" language, it can mean you can see your project being distributed
> or modified under terms that you didn't want or ask for, depending on
> what the FSF (ie, RMS) decide to place in the next version which is out
> of your control. (Admittedly the old rules are still allowed too, so
> that should put a limit on how crazy it can get.) But only the FSF can
> generate a new version of the GPL which can be applied as an option to
> all existing GPL V2 "or later" projects by magic.
>
> -Andy
gvb
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot-Users] GPL 2 "or later" concern
2006-09-19 21:11 ` Jerry Van Baren
@ 2006-09-19 22:00 ` Andy Green
0 siblings, 0 replies; 8+ messages in thread
From: Andy Green @ 2006-09-19 22:00 UTC (permalink / raw)
To: u-boot
Jerry Van Baren wrote:
>> I don't know if that would fly or not, but distribution of signed GPL V2
>> "or later" code means the signing keys are hostage to the outcome of
>> such an attempt, whereas GPL V2-only code is safe from it.
>
> The distributor smiles and says "Sorry, you cannot take _my_ source code
> to GPLv3 since it is licensed GPLv2 _only_. You can take the source
But as a practical matter, unless the distributor meddled with the
license text on the files, the files that the recipient got from this
distributor do not agree with what he now verbally claims. The written
licenses given out by the distributor continues to say
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
I do accept there can be something to this business of the distributor
specifying the license version under which he distributes, but I don't
understand how that beats out the license sitting on the files. I have
also never seen a written specification by the distributor of the basis
on which he distributed (I guess because the "or later" protocol has
never been exercised yet). What will he do, add it as a disclaimer to
the license file? Despite the other files sit there conflicting with it?
The recipient can at least form something capable of being argued by
pointing at what he was given and asking the distributor what he is
talking about, since when he looks at the files he sees an invitation to
"...modify it under the terms of... version 2... or... later", and to
repeat that he demands his rights described there to modify under GPL V3
and so needs the signing keys.
I'm not trying to prove that such a demand for keys from the recipient
of GPL V2 "or later" code is correct, just to propose there may be some
kind of non-crazy argument that can happen about whether the distributor
of a signed GPL V2 "or later" binary can keep his keys private when the
GPL V3 comes. If that is the case (I don't know that it is, I just
propose the scenario and wait for it to be destroyed), then it would
suggest that the security of keys used to sign GPL V2 "or later" code is
at potential risk, and that if you deploy such keys then GPL V2 "only"
(and currently LGPL V2 "or later" as found on eg, uClibc, since LGPL 3
does not have the key clause) is a lower risk bet to sign. And this is
why I ask what is the situation with U-boot and a GPL2-only license. I
guess if any contributor would never agree to GPL2-only they can say and
I can stop wondering :-)
> This gives you a license to use the said source code and add your
> "special sauce," as long as you abide by the rules of GPLv2 ("or later",
In my scenario there is no special sauce, it can be the intact tarball
from the upstream author that was just compiled and signed.
> 6. Each time you redistribute the Program (or any work based on the
> Program), the recipient automatically receives a license from the
> original licensor to copy, distribute or modify the Program subject to
> these terms and conditions. You may not impose any further
> restrictions on the recipients' exercise of the rights granted herein.
> You are not responsible for enforcing compliance by third parties to
> this License.
When I look at this the key phrase is ''the recipient automatically
receives a license from the original licensor to copy, distribute or
modify the Program subject to *these* terms and conditions''. When the
sources are marked up with the GPL V2 "or later" language, "*these*
terms and conditions" that the recipient is licensed with say GPL V2 "or
later". The files you get given say it explicitly in hard ASCII. I
don't see how pointing at section 6 helps to kill the proposed scenario,
rather it helps it along.
-Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-09-19 22:00 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-18 18:05 [U-Boot-Users] GPL 2 "or later" concern Andy Green
2006-09-19 9:27 ` Alex Zeffertt
2006-09-19 10:46 ` Andy Green
2006-09-19 12:56 ` Alex Zeffertt
2006-09-19 19:17 ` Jerry Van Baren
2006-09-19 20:02 ` Andy Green
2006-09-19 21:11 ` Jerry Van Baren
2006-09-19 22:00 ` Andy Green
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox