[opam-devel] license for passwdgen
Anil Madhavapeddy
anil at recoil.org
Thu Apr 4 15:41:59 BST 2013
On 4 Apr 2013, at 02:15, Roberto Di Cosmo <roberto at dicosmo.org> wrote:
> Florent, Anil, thanks for raising this issue, which is indeed
> quite an interesting one, and requires some thought.
>
> Tracking license information is an important issue in general, but the case of
> opam is quite special: opam "packages" just provide informations on building
> binaries from sources that will be downloaded from somewhere on the net,
> like BSD ports; they are not the same as typical binary packages
> found on common GNU/Linux distros which need a very strict
> licence screening process to accept packages (like Debian does);
> as such, providing an opam package for a completely non-free
> source is *not* a problem for opam: the possible licence
> violation is perpetrated by the person that decides to build
> the package on its own machine, not by the packager providing
> the instructions on how to build it!
> And it may be very well the case that such building instructions
> are quite useful for people who have the right to use that software.
>
> To sum up:
>
> - I do not think that one is *obliged* remove the opam package for
> passwdgen from opam-repository
>
> - It is clear that one cannot make a copy of the *source code* of passwdgen
> on ocamlpro, so the opam package for passwdgen should point to the original
> URL for downloading the sources, not to an OCamlPro copy (which must be
> removed)
Note that these two go together: right now in OPAM we construct the
archive unconditionally, hence the immediate need for removal in the case
of unknown-licensed packages.
We can of course improve this, but it's good to fix licensing violations
as soon as we become aware of them.
> At the same time, making it easy for developers to incorportate non-free
> code in their projects *without knowing it* is an issue, and I believe it
> must be taken seriously.
>
> Here is a proposal:
>
> - extend the metadata for opam packages with a "licenses" key, holding
> a list of the licenses used in the source code (that may include
> "unknown"); for this, we need a standardised list of values, and the
> SPDX standardised list available here https://spdx.org/licenses/ is
> a good starting point (incomplete, though, as they do not list our
> favorite LGPL with OCaml exception :-))
OASIS has a nice library to handle all this doesn't it? CCing Sylvain to
see if it can be separately used by OPAM.
>
> - provide a simple guide for packagers pointing to the list of
> standard licence identifiers
>
> - add an option to opam to print licence information on the packages;
> opam list -l might produce something like (the licences are fake here)
>
> aacplus -- LGPL-3.0+,LGPL-2.0 Bindings for the aacplus library which provides functions for decoding AAC audio files
> aifad -- LGPL-2.0+ Machine learning library and application written in OCaml which generalizes decision tree learning to algebraic data types
> alberto -- LGPL-2.0 OCaml interface to Erlang ports
> ...
>
> - later on, add "profiles" to opam that allow to specify that one refuses
> to install components with licences not included in a specific list
> that represents the "house policy"; actually, this would have a quite
> high added value for commercial developers
Indeed. For example, GPLv3 is banned in many commercial development situations,
so adding a house filter is a useful thing to have.
-anil
More information about the opam-devel
mailing list