On Fri, Oct 9, 2009 at 7:50 AM, David Golden <xda...@gmail.com> wrote: > 17. Better formalization of license field > > Proposal: > > Replace the list of strings for the "license" field with something > extensible and unambiguous. (RicardoSignes)
This discussion is going in circles, I think. I'd like to break it down to a number of specific sub-proposals and get people's reactions to them individually. These sub-proposals are not all mutually exclusive, so if you want to react to them as clusters, that's fine, too. 17.01) Enumerate a list of license strings explicitly in the spec, rather than by reference to Module::Build::API. Currently, the list is: perl apache artistic artistic_2 lgpl lgpl2 lgpl3 bsd gpl gpl2 gpl3 mit mozilla open_source unrestricted restrictive unknown Additional strings (e.g. 'mixed' or additional licenses) could be added if deemed necessary. 17.02) Make the license field an arrayref rather than a scalar. Change the definition to have the field be a list of all license which might apply to the distribution, either as alternatives or for different subcomponents. 17.03) Make the license field optional (defaulting to 'unknown') 17.04) Instead of license being a list of valid strings, define it as a Software::License subclass name (which implies an API standad that can be used to get information about the license like display name and URL) 17.05) Make the "$meta->{resources}->{license}" field an optional hashref with name/URL pairs for providing short names and URLs for use by indexers. (These might get populated by Software::License, of course.) N.B. This option is probably redundant if 17.02 and 17.04 are adopted. -- David