>> If I follow your argument, this code would now be covered by a "GPL-2.0+ AND >> GPL-2.0" license construct. This is obviously absurd: I cannot both include >> and exclude the "or later" option simultaneously.
Why not? I'm thinking you can under GPLv2 as it applies to this entire file. As to whether it would make sense in some larger context that could certainly be discussed. Jack -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Wolfgang Denk Sent: Monday, October 07, 2013 4:42 AM To: Gary O'Neall Cc: [email protected]; 'SPDX-legal'; 'SPDX-biz'; 'Wheeler, David A'; [email protected] Subject: Re: meta-tag page - part II Dear Gary, In message <001f01cec2e5$9f1d9b20$dd58d160$@com> you wrote: > > The "AND" situation would occur if you have a file which contains code > from two or more different sources using two or more different > licenses. In that case, I believe you would need to satisfy the > obligations of all licenses > (note: I'm not a lawyer so I am not proposing or providing a legal > interpretation). Hopefully there is no conflict between the license > obligations. I don't think this could work. We encountered such cases when we analyzed the U-Boot code while introducing license tags. There were some files that came with a the full GPL-2.0+ license header, but further down in the code that had a short comment that some parts (a few functions) have been copied from the Linux kernel. The analysis shows that the original Linux kernel files were covered by GPL-2.0 only. If I follow your argument, this code would now be covered by a "GPL-2.0+ AND GPL-2.0" license construct. This is obviously absurd: I cannot both include and exclude the "or later" option simultaneously. Our understanding of the legal situation left two solutions: either we remove the GPL-2.0 code (and replace it by a clean-room implementation of similar functionality), or we change the file's license terms to GPL-2.0. We did the latter: the files are now licensed under GPL-2.0, i. e. the "or later" option had to be dropped for the file as a whole, because it was not available for the parts imported from Linux. There was no way to "AND" both licenses here. > --- > For a license set, when there is a choice between licenses > ("disjunctive license"), they should be separated with "or" and enclosed in > parentheses. > When multiple licenses apply ("conjunctive license"), they should be > separated with an "and" and enclosed in parentheses. Example: > (LGPL-2.1 or MPL-1.1). > --- Do you have an example, where such a "conjunctive license" construct actually works? > We were also concerned about the difficulty in parsing the strings. > We came up with enclosing them in parenthesis to aid in accurate and > unambiguous parsing. For example, (LGPL-2.1 and (MPL-1.1 or > BSD-3-Clause)) would describe the licensing for a file which contains > code from an LGPL 2.1 package and code from a package licensed under a > choice of MPL-1.1 or BSD-3-Clause. Understood. However, I think these are only very few pathological cases, and it would be nice to keep the syntax simple for the overwhelming majority of practical use cases. My vote goes for a simple white speace separated list of license IDs which should be interpreted as "OR". Do you think it would be possible to extend the spec to allow for the (much easier to parse) <lic1> <lic2> [...] as synonym for (<lic1> OR <lic2> [OR ...]) ? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [email protected] Steal five dollars and you were a petty thief. Steal thousands of dollars and you are either a government or a hero. - Terry Pratchett, _Going_Postal_ _______________________________________________ Spdx-biz mailing list [email protected] https://lists.spdx.org/mailman/listinfo/spdx-biz _______________________________________________ Spdx-tech mailing list [email protected] https://lists.spdx.org/mailman/listinfo/spdx-tech
