Chris Weyl wrote: > On Sun, Oct 11, 2009 at 1:40 PM, Ruslan Zakirov > <ruslan.zaki...@gmail.com> wrote: >> On Sun, Oct 11, 2009 at 5:16 PM, David Golden <xda...@gmail.com> wrote: >>> On Sun, Oct 11, 2009 at 3:21 AM, Zefram <zef...@fysh.org> wrote: >>>>> 17.02) Make the license field an arrayref rather than a scalar. >>>>> >>>> Could make the field a string expression, with the defined keywords as >>>> atomic expressions, "|" and "&" operators for license combination, and >>>> parens for precedence. A distro with some files Perl-licensed and some >>>> pure-GPLed could then be expressed as "gpl & perl". "perl" itself is >>>> defined as "gpl | artistic". >>> -1 >>> >>> License can never really be determined without actually reading the >>> source. I don't want to see us create a mini-language to describe >>> license combinations. >> Agree with this. > > I strongly disagree. Software licensing is one of the most important > things to consider when packaging software for distribution (or, > frankly, using it as part of another bit of software); we ought to > give authors a clear, easy way to unambiguously specify the terms > their software is under... IMHO, we don't give this nearly enough > thought when it comes to software we release on the CPAN. Right now, > we're at a point that we can do this without significant additional > pain down the road. > > Suggestion: > > * Allow a null value, but only as "the author has specifically chosen > to not designate a licensing scheme." > > I'm hoping this will be fairly rare :) > > * Allow an "unspecified" value, but only as "the author has not > indicated a licensing scheme and any auto-determination that may have > been applied has failed." > > * Continue the current auto-guessing / flagging that goes on, but add > a field indicating that the license was auto-determined by a build > tool. > > * Create a specific set of names that should be used with the most > common licenses and allow, but not mandate, their use. > > We already do this to a certain extent -- e.g. Module::Install's > "license 'perl'", "license 'lgpl'" and the like. This could be > retained, while also extending to be more granular. (e.g. 'lgpl2+' to > specifically indicate "LGPL v2 or later" rather than only 'lgpl', > which is a less precise.)
And I'll keep repeating that a programmer should not try anything more than an unordered list of licenses (or a set of licenses, if you will). Anything further should not be attempted without legal counsel. > Just because an automated tool can't 100% determine what license the > software is under doesn't mean that we shouldn't allow authors who > choose to do so to specify clearly and unambiguously how they are > licensing their code. While this won't work in 100% of all licensing > systems (e.g. someone makes up a license on the fly), we can enable > this to a very high degree just by hitting the most common licenses. > > -Chris