[ocaml-platform] Improving the opam-repository issue tracker

Anil Madhavapeddy anil at recoil.org
Mon Oct 3 11:48:31 BST 2016

On 30 Sep 2016, at 20:01, Fabrice Le Fessant <Fabrice.Le_fessant at inria.fr> wrote:
> I feel like you are attacking me about the AGPL license of opam-builder. There are many people who have no problem contributing to free software. AGPL may scare lawyers away, in company building their business on proprietary software, as GPL used to scare Microsoft lawyers in the 90s, until they understood there was finally no problem.
> <...> 
> I think you misunderstood the difference between AGPL/GPL and BSD-like licenses: BSD-like licenses are used by companies that want you to contribute code that they will steal and use in their proprietary products, in which they hope you will be locked-in, whereas AGPL protects developers and users, by forcing companies to release their modifications, allowing users to install the software themselves and not be dependent on the companies.
> <...>
> Having opam-builder under AGPL means that anybody can run it, modify it, and benefit from the modifications done by other users... which does not sound like vender lockin to me.

I've really got no objection to OCamlPro releasing tools under the AGPL if they choose to, since their existence is a valuable contribution to the overall OPAM tooling ecosystem (opam-builder really is rather useful!)

However, we do need to be open and clear about the precise terms under which they expect contributions will to be accepted, and how it interacts with the rest of the ecosystem that is currently mostly LGPLv2 (OCaml and OPAM) and ISC/BSD/Apache2 (Mirage, Core, Bunzli's libraries) licensed . My specific request for clarifications are:

- The AGPL is a variant of the GPL, which brings in questions of static linkage to infrastructure software. Can any non GPL libraries actually be linked to opam-builder if it's full GPL?

- The license isn't actually the AGPL, since it includes further restrictions on usage of the code. To quote the license:

> All the files in this project are distributed under the terms of the
> GNU Affero General Public License (copied below), with a special
> OCamlPro-Inria-Irill attribution exception: as part of this exception,
> any webpage generated to display the results of running the tools
> distributed in this project must display the OCamlPro-Inria-Irill logo
> (http://opam.ocamlpro.com/images/opam-builder-ocamlpro-inria-irill.png)
> in its default size, linking to http://www.ocamlpro.com/.

So this leads me to ask the following questions:

- What is a "webpage generated": does it means the specific rendering of a particular URL, or does every single HTML file need to embed a logo. What if the logo is hidden due to some CSS artefact?
- Does the logo restriction apply to JSON results (are those a webpage?) if we want to use opam-builder to mechanically build and analyse results?
- What happens if ocamlpro.com goes down?  Do we lose the ability to ever run this tool again since we will be in violation of the license and be unable to display the logo as required?
- What is the license under which the logo has been released?

In general, modifying licenses to add additional restrictions always opens up these sorts of questions, since they have not been peer-reviewed by lawyers.

A glance at https://www.gnu.org/licenses/license-list.html reveals that many licenses that include an advertising clause are not classed as Free Software by the FSF, which now includes the modified AGPL used here.  It also indicates that the AGPLv3 is not compatible with the GPLv2 for some reason, but may be compatible with the LGPLv2.


More information about the Platform mailing list