Adding license info to my ports

Joshua Root jmr at macports.org
Fri Jul 15 16:50:38 PDT 2011


On 2011-7-16 09:13 , Daniel J. Luke wrote:
> I've been attempting to start adding license info to the ports that I maintain, but I have a few questions.
> 
> Presumably, one driver for this is so that we can start building/distributing archives while being license compliant.
> 
> Do we have a list of the currently whitelisted licenses? (a pointer to the buildbot code I should be looking at is fine).
> Do we have a policy on what to do for licenses that are 'almost' a standard license? (ie, GPL + OpenSSL exception). 
> Do we have a way to mark 'odd' licenses as OK for building without having to add them to a master whitelist (ie, the sendmail license which covers libmilter?)

This is the script that does license checking, which should answer most
of the above:

<https://trac.macports.org/browser/trunk/base/portmgr/jobs/port_binary_distributable.tcl>

We'll want to document its behaviour somewhere in the guide or the wiki,
but the source is it for now. There are some generic keywords it accepts
which should cover a lot of cases for less common licenses that we don't
have specifically named in the list.

I do think we will want to add mechanisms for specifying more precisely
how ports' licenses interact in terms of being compatible or
conflicting. GPL + OpenSSL exception as you mention isn't really
possible to specify with the current scheme. Similar are GCC's GPL with
runtime exception and autoconf's "software built using autoconf"
exception. There are also a number of ports that install executables
that are under GPL and libraries under LGPL. And then there are ports
that depend on something with a conflicting license but don't actually
use it in a way that creates a derivative work.

I think for now it's OK to specify the license as more permissive than
it technically is if you know that it is in fact OK to distribute
binaries. For example, in the GPL executables + LGPL libs case, you can
put e.g. 'license {LGPL-n+ GPL-n+}' instead of 'license LGPL-n+ GPL-n+'
- that is, pretend it's LGPL *or* GPL rather than LGPL *and* GPL. This
is OK because dependents will in fact only be incorporating the LGPL
portions.

- Josh


More information about the macports-dev mailing list