1) I came across another review with the same license question. The source files have one of the GPLv2, GPLv2+ and LGPLv2+ headers each. They get compiled and produce 1 final binary executable. None of the headers (or other source code files) go to the final RPM.
What goes to the license tag of the package?
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=537325#c4
2) Hypothetical question (although happens rather frequently): What if there was a -devel subpackage and .h files with different licenses ended up in this -devel subpackage?
Orcan
On Wednesday 09 December 2009, Orcan Ogetbil wrote:
- I came across another review with the same license question. The
source files have one of the GPLv2, GPLv2+ and LGPLv2+ headers each. They get compiled and produce 1 final binary executable. None of the headers (or other source code files) go to the final RPM.
What goes to the license tag of the package?
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=537325#c4
- Hypothetical question (although happens rather frequently): What if
there was a -devel subpackage and .h files with different licenses ended up in this -devel subpackage?
Aren't both questions answered pretty well by https://fedoraproject.org/wiki/Packaging/LicensingGuidelines ?
On Wed, Dec 9, 2009 at 4:34 PM, Ville Skyttä wrote:
On Wednesday 09 December 2009, Orcan Ogetbil wrote:
- I came across another review with the same license question. The
source files have one of the GPLv2, GPLv2+ and LGPLv2+ headers each. They get compiled and produce 1 final binary executable. None of the headers (or other source code files) go to the final RPM.
What goes to the license tag of the package?
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=537325#c4
- Hypothetical question (although happens rather frequently): What if
there was a -devel subpackage and .h files with different licenses ended up in this -devel subpackage?
Aren't both questions answered pretty well by https://fedoraproject.org/wiki/Packaging/LicensingGuidelines ?
Nope. I wouldn't ask if they were.
Orcan
On Wed, 9 Dec 2009 19:10:19 -0500, Orcan wrote:
On Wed, Dec 9, 2009 at 4:34 PM, Ville Skyttä wrote:
On Wednesday 09 December 2009, Orcan Ogetbil wrote:
- I came across another review with the same license question. The
source files have one of the GPLv2, GPLv2+ and LGPLv2+ headers each. They get compiled and produce 1 final binary executable. None of the headers (or other source code files) go to the final RPM.
What goes to the license tag of the package?
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=537325#c4
- Hypothetical question (although happens rather frequently): What if
there was a -devel subpackage and .h files with different licenses ended up in this -devel subpackage?
Aren't both questions answered pretty well by https://fedoraproject.org/wiki/Packaging/LicensingGuidelines ?
Nope. I wouldn't ask if they were.
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
The FSF wants licensing terms to be applied in a clear/unambiguous way. That's why they explicitly recommend how to apply a license to source code files and why they also point out what licenses may be converted to eachother when copying source code from programs and how to do such conversion.
In the case of copying LGPL licensed source files into a GPL licensed program, the files (including code modifications) stay LGPL licensed till the developers opt to convert them to GPL. Irrevocably and with a proper change of source code files. Where such a conversion of licenses is not done in the source code, no implicit/automatic conversion to a license is done for the compiled program either.
On the contrary, linking with separate programs is a different scenario. In the "License:" tags filled in by a src.rpm, we only cover the licenses applied to The Program contained within the src.rpm, but not any licenses of external programs/libraries which are linked with.
[1] http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#Mixed_Source_Lic...
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
Orcan
On 12/12/2009 07:24 AM, Orcan Ogetbil wrote:
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
People are just confused. The issue has already been clarified. Is there still some specific confusion?
Rahul
On Fri, Dec 11, 2009 at 9:03 PM, Rahul Sundaram wrote:
On 12/12/2009 07:24 AM, Orcan Ogetbil wrote:
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
People are just confused. The issue has already been clarified. Is there still some specific confusion?
Okay. Whenever someone says "most restrictive license wins" again, I will say "no", and will refer to this thread.
Thanks, Orcan
Hi,
Maybe the overall "master" copyright license for the Fedora compilation causes every single GPL+ compatible file inside Fedora to be licensed as GPL+ ? So every LGPL, BSD, MIT file which *can* be relicensed in this way *is" even if such a relicensing is unnecessary for license compliance? Take a look at this file on your Fedora CDROM:
ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/releases/12/Everything/i386/os/GPL ----------- ***************************************************************************** The following copyright applies to the Fedora compilation and any portions of Fedora it does not conflict with. Whenever this policy does conflict with the copyright of any individual portion of Fedora, it does not apply.
***************************************************************************** GNU GENERAL PUBLIC LICENSE Version 2, June 1991
[Rest of file is verbatim copy of GPLv2 license.] -----------
Notice I'm saying GPL+ and not GPLv2+ because of information on the "Licensing:FAQ - FedoraProject" wiki page: https://fedoraproject.org/wiki/Licensing/FAQ
----------- If neither the source, nor the upstream composed documentation says anything about the license version, then it could be under _ANY_ version of the GPL. The version listed in COPYING is irrelevant from this perspective. Technically it could be under any license, but if all we have to go by is COPYING, we'll use COPYING to imply that it is under the GPL, all versions (GPL+). -----------
yours,
Julius
On Fri, Dec 11, 2009 at 8:43 PM, Orcan Ogetbil oget.fedora@gmail.com wrote:
On Fri, Dec 11, 2009 at 9:03 PM, Rahul Sundaram wrote:
On 12/12/2009 07:24 AM, Orcan Ogetbil wrote:
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
People are just confused. The issue has already been clarified. Is there still some specific confusion?
Okay. Whenever someone says "most restrictive license wins" again, I will say "no", and will refer to this thread.
Thanks, Orcan
Fedora-legal-list mailing list Fedora-legal-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-legal-list
ps. My email is more of a personal tangential thought I'm having and not really relevant to Orcan's original questions since it doesn't have any implications for what to put in the RPM license tag!
Here's my attempt at answering Orcan's question:
1. If source contains at least one GPL source code file (but let's ignore header files) and this source code is compiled into a binary file, then the license of the binary file must be:
a. If the binary is a single work derived from all the source code files, then that GPL code will take precendence, and the binary as a whole becomes GPL.
b. If the binary is a compilation, then I don't know what happens!
I'm curious if Java jar files are compilations.
2. As for header files, well they don't really end up in the binary file, do they? So does it matter? And I vaguely recall some notion that API's are not copyrightable, so couldn't someone always rewrite a header file to contain the minimum necessary for compilation and then release that version under any license they like?
yours,
Julius
On Sat, Dec 12, 2009 at 8:29 PM, Julius Davies juliusdavies@gmail.com wrote:
Hi,
Maybe the overall "master" copyright license for the Fedora compilation causes every single GPL+ compatible file inside Fedora to be licensed as GPL+ ? So every LGPL, BSD, MIT file which *can* be relicensed in this way *is" even if such a relicensing is unnecessary for license compliance? Take a look at this file on your Fedora CDROM:
ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/releases/12/Everything/i386/os/GPL
The following copyright applies to the Fedora compilation and any portions of Fedora it does not conflict with. Whenever this policy does conflict with the copyright of any individual portion of Fedora, it does not apply.
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
[Rest of file is verbatim copy of GPLv2 license.]
Notice I'm saying GPL+ and not GPLv2+ because of information on the "Licensing:FAQ - FedoraProject" wiki page: https://fedoraproject.org/wiki/Licensing/FAQ
If neither the source, nor the upstream composed documentation says anything about the license version, then it could be under _ANY_ version of the GPL. The version listed in COPYING is irrelevant from this perspective. Technically it could be under any license, but if all we have to go by is COPYING, we'll use COPYING to imply that it is under the GPL, all versions (GPL+).
yours,
Julius
On Fri, Dec 11, 2009 at 8:43 PM, Orcan Ogetbil oget.fedora@gmail.com wrote:
On Fri, Dec 11, 2009 at 9:03 PM, Rahul Sundaram wrote:
On 12/12/2009 07:24 AM, Orcan Ogetbil wrote:
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
People are just confused. The issue has already been clarified. Is there still some specific confusion?
Okay. Whenever someone says "most restrictive license wins" again, I will say "no", and will refer to this thread.
Thanks, Orcan
Fedora-legal-list mailing list Fedora-legal-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-legal-list
-- yours,
Julius Davies 250-592-2284 (Home) 250-893-4579 (Mobile) http://juliusdavies.ca/logging.html
On Sat, 12 Dec 2009 20:45:11 -0800, Julius wrote:
ps. My email is more of a personal tangential thought I'm having and not really relevant to Orcan's original questions since it doesn't have any implications for what to put in the RPM license tag!
Still, what to put in the "License:" tag has implications with regard to the compatibility of the programs. It is especially important for the "A may use B" relation which is relevant when linking program A with library B.
And when _copying_ code from program A to program B, proper license conversion ought to be applied in the program's source code as explained in the appendix of the license files, and e.g. following the compatibility matrix and other Q&A in the FSF's GPL FAQ: http://www.fsf.org/licensing/licenses/gpl-faq.html
You cannot hide "GPLv2 only" files in a GPLv2+ library, for example, and use this with a GPLv3 program. Once more, conversion of licenses is not implicit or automatic. Even if we say our "License:" tags are not legally binding, it is not us to override the actual licensing that is applied to a program in the source files and in accompanying documentation. "GPLv2 only" and LGPL files _may_ be converted to apply the GPLv2+, but somebody needs to do that. Explicitly. And as explained in the appendix to the license terms.
Related to Orcan's initial post, the software developer has replied to me. The program is supposed to apply the "GPLv2 only" and any GPLv2+ and LGPL references are not supposed to be there. The author also pointed out that he doesn't like the "or later" clause in general. Whether and when the source code archive will be fixed, is another question.
Here's my attempt at answering Orcan's question:
- If source contains at least one GPL source code file (but let's
ignore header files)
That exception is inacceptable already. So-called "header files" are "source code", too, particularly if they contain inline functions and/or define structures and other non-basic types.
On Sat, 12 Dec 2009 20:29:57 -0800 Julius Davies juliusdavies@gmail.com wrote:
Hi,
Maybe the overall "master" copyright license for the Fedora compilation causes every single GPL+ compatible file inside Fedora to be licensed as GPL+ ? So every LGPL, BSD, MIT file which *can* be relicensed in this way *is" even if such a relicensing is unnecessary for license compliance?
Take a look at this file on your Fedora CDROM:
ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/releases/12/Everything/i386/os/GPL
The following copyright applies to the Fedora compilation and any portions of Fedora it does not conflict with. Whenever this policy does conflict with the copyright of any individual portion of Fedora, it does not apply.
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
[Rest of file is verbatim copy of GPLv2 license.]
I haven't been following this thread closely, but this reference to GPLv2 is a licensing bug - an erroneous holdover from the RHL era, and should not have been included. I can say categorically that any global copyright license for the Fedora compilation is intended to have no effect on the licensing of Fedora packages.
- RF
Sorry for bringing this age old thread back up again. But I am still getting contradictory claims. My original message was:
On Wed, Dec 9, 2009 at 5:34 AM, Orcan Ogetbil wrote:
- I came across another review with the same license question. The
source files have one of the GPLv2, GPLv2+ and LGPLv2+ headers each. They get compiled and produce 1 final binary executable. None of the headers (or other source code files) go to the final RPM.
The conversation was concluded with the following explanation:
On Fri, Dec 11, 2009 at 10:03 PM, Rahul Sundaram wrote:
On 12/12/2009 07:24 AM, Orcan Ogetbil wrote:
On Thu, Dec 10, 2009 at 5:25 AM, Michael Schwendt wrote:
Fedora's Licensing Guidelines don't use the term "effective license" anywhere. Not even in the section on dual licensing, which is the scenario where the packager may choose to pick either license for the whole program.
There is no such thing as an "effective license" related to the Mixed Source Licensing Scenario [1], because re-licensing a program, such as converting from LGPL to GPL, is not done implicitly or automatically.
Thanks but that doesn't answer my question. Are so many people just imagining things? Why does this inconsistency exist? I'd like to have this cleared up so we won't have to discuss the same issue over and over again.
People are just confused. The issue has already been clarified. Is there still some specific confusion?
Rahul
However, during the review of the package https://bugzilla.redhat.com/show_bug.cgi?id=537325 this issue came up again. Upon Michael Schwendt's warning, I have changed the license tag of this package from "GPLv2" to "GPLv2+ and LGPLv2+ and GPLv2", since there is no such thing as "the effective license".
However the current reviewer points out that this is in contradiction with the guideline
-- 2. The source code contains some .c files which are GPLv2 and some other .c files which are GPLv2+. They're compiled together to form an executable. In this case, the stricter license wins, so the resulting executable is GPLv2. The License tag should read: License: GPLv2 Note that you do NOT need to list GPLv2 and GPLv2+ in the License tag. -- from https://fedoraproject.org/wiki/Licensing/FAQ#How_should_I_handle_multiple_li...
So I am back where I started. There is clearly a contradiction between what I was advised here on last December and the above guideline.
Which one is correct?
Thanks, Orcan
Orcan Ogetbil oget.fedora@gmail.com wrote:
However, during the review of the package https://bugzilla.redhat.com/show_bug.cgi?id=537325 this issue came up again. Upon Michael Schwendt's warning, I have changed the license tag of this package from "GPLv2" to "GPLv2+ and LGPLv2+ and GPLv2", since there is no such thing as "the effective license".
You started a discussion on a topic that is frequently missunderstood in the OSS community.
Unless you are the author and own all the code under GPLv2, do not change the license of code that is under GPLv2 only. You will otherwise end up with illegal and undistributable code such as GNU vcdimager or GNU libcdio.
Background: in vcdimager, there is non-OSS code that is claimed to be under GPL without getting the permission from the author of the code. In libcdio, there is code that was relicensed to GPLv3 without permission from the original author and the original license for the code in the latter case was GPLv2 only.
Regarding "effective license", the answer is: "it depends".
If someone takes code under GPLv2+ and personally changes the code, creating a so called derivative work (by putting the changes under GPLv2) this is permitted and the resultant work is effectively under GPLv2 as a whole.
If someone takes code under GPLv2+ and adds code from a different author under e.g. the BSD license, the result is very different:
- You cannot declare code from other people to be "your changes" in hope that this results in a derivative work.
- The GPL requires you to put the "whole work" under GPL
- The BSD license does not permit to change the license and the Copyright law disallows to change the license in case there is no explicit permission
- The BSD license does not allow to sub-license the code, so even if changing the licence was permitted, this would not cause any effect. This is because (for both BSD-l and GPL) you always receive the license directly from the original author only and this author selected the BSD license for his code.
- As a result, the combination of GPL and BSD code happens by creating a "collective work". In a collective work, each work stays separate even if both works are linked together. The BSD work part remains under BSDl and the GPL work part remains under GPL.
Note that you need to take specific care and cannot base arguments on the GPL text as the GPL is in conflict with the US Copyright law. See:
http://www.osscc.net/pdf/QualipsoA1D113.pdf http://www.cs.berkeley.edu/~tlavian/publications/article/Berkeley%20Law%20Jo... http://www.osscc.net/en/gpl.html
US Copyright law title 17 paragraph 106 disallows to redefine the definition if a "derivative work" for a license like the GPL, so the related definitions in the GPL text are void.
However the current reviewer points out that this is in contradiction with the guideline
-- 2. The source code contains some .c files which are GPLv2 and some other .c files which are GPLv2+. They're compiled together to form an executable. In this case, the stricter license wins, so the resulting executable is GPLv2. The License tag should read: License: GPLv2 Note that you do NOT need to list GPLv2 and GPLv2+ in the License tag. -- from https://fedoraproject.org/wiki/Licensing/FAQ#How_should_I_handle_multiple_li...
So I am back where I started. There is clearly a contradiction between what I was advised here on last December and the above guideline.
Which one is correct?
If there is a single file under GPLv2, you need to ignore the "GPLv2 or any later" tag in the other files except you plan to create a "collective work". In this case, the related files need to be part of different works.
Note that unless you like to combine the code with code under a GPL incompatible license (such as the GPLv3), there is no problem.
Jörg
On 07/18/2010 07:10 AM, Joerg Schilling wrote:
You started a discussion on a topic that is frequently missunderstood in the OSS community.
Please ignore Mr. Schilling's trolling here. His unique legal interpretations are his own, and do not reflect that of anyone else. He is not a member of the Fedora community, much less Fedora Legal.
As I would prefer that this list be generally considered a source for good information (and because I'm tired of him confusing people with his answers), I've unsubscribed him from this mailing list.
~spot
On 07/17/2010 11:45 PM, Orcan Ogetbil wrote:
However, during the review of the package https://bugzilla.redhat.com/show_bug.cgi?id=537325 this issue came up again. Upon Michael Schwendt's warning, I have changed the license tag of this package from "GPLv2" to "GPLv2+ and LGPLv2+ and GPLv2", since there is no such thing as "the effective license".
However the current reviewer points out that this is in contradiction with the guideline
-- 2. The source code contains some .c files which are GPLv2 and some other .c files which are GPLv2+. They're compiled together to form an executable. In this case, the stricter license wins, so the resulting executable is GPLv2. The License tag should read: License: GPLv2 Note that you do NOT need to list GPLv2 and GPLv2+ in the License tag. -- from https://fedoraproject.org/wiki/Licensing/FAQ#How_should_I_handle_multiple_li...
So I am back where I started. There is clearly a contradiction between what I was advised here on last December and the above guideline.
Which one is correct?
Well, technically, both are correct.
There is a difference between saying "you do NOT need" to do something and saying "You must NOT" do something.
When you have a combined work (within the SRPM) that contains files under the GPLv2, GPLv2+, and LGPLv2+, the resultant binary is "effectively" GPLv2, because that represents the strictest set of licensing terms, and by complying with those terms, you also satisfy the other license terms (GPLv2+ and LGPLv2+).
Obviously, this can quickly get complicated and confusing, but if your package is a clear compilation dependency for other packages (e.g. a library), then presenting the effective license can be beneficial to others attempting to determine cross-package license compatibility.
So, if you are comfortable calculating the effective license and wish to use that, feel free to do so. If you're not comfortable, or you wish you be precise in how you populate the License field, go ahead and be exact.
~spot