On Fri, 2007-07-27 at 11:00 +0200, Matthias Saou wrote:
Tom "spot" Callaway wrote :
OK, I know this is going to be painful, but we need to solve this (FESCo is waiting for us to do it), and I think this is the cleanest way:
Please review: http://fedoraproject.org/wiki/PackagingDrafts/LicenseTag and http://fedoraproject.org/wiki/Licensing .
That was an interesting read. Thanks for your hard work, spot!
A few comments, FWIW :
- Same as Bill, I prefer the "GPLv2+" style notations.
Yeah, this makes sense to me, I'm going to change it when I get to work today.
- To keep using "GPL or Artistic" for perl doesn't make much sense to
me, since we are trying to differentiate clearly the different GPL versions. Is it "GPLv2+ or Artistic"? "GPLv2 or Artistic"?
This is a valid point, but I can already hear the perl packagers screaming again. :)
- If we use only " and " and " or " (with spaces around them), wouldn't
the field still be reliably parseable, yet easier to read? And more coherent with the "GPL* or Artistic" from the perl packages?
My concern about having scripts that try to parse "and" or "or" as a separator is that we have to be especially careful about license short identifiers. No "Random", "Korn", "Floor", (or to give an actual relevant example, "Condor", which is currently in the list). Using && and || prevents us from having parsing mistakes. I suppose we could parse on _and/_or...but even then, a hypothetical "Andover" license would throw us off. It's still doable, we'd just have to be very careful how it is implemented.
We'd also still need some way to handle nasty case like multiple licenses where at least one of the licenses was a dual license. Assuming parenthesis are used, it would look like this:
License: "Foo and Bar and (Cat or Dog)"
- I find having to detail the licenses in %files quite unpractical, and
possibly not the best suited for most cases, as I have the feeling that the most common case of multiple-licensing I've come across is having parts of the source code under a different compatible license, but then having all libs/programs use it. So I think having comments inside the spec file right above the License: tag might be more useful, something like :
# The entire source code is GPLv2+ except foolib/ which is BSD License: GPLv2+ and BSD
It seems fine to me. I think I'm going to redraft the wording for that section to simply say that "the package must contain a comment explaining the multiple licensing breakdown", and leave the actual implementation to the packager. This way, one could do as you've suggested, or as I originally drafted, or even say
# For a breakdown of the licensing, see PACKAGE-LICENSING
Thanks for the help!
~spot