[opam-devel] Opam license bug

Louis Gesbert louis.gesbert at ocamlpro.com
Mon Jan 18 15:02:41 GMT 2016

Dear all,

It so happens that the license that was shipped with Opam -- and, accordingly, 
under the terms of which it was officially distributed, is bogus. More details 
on the issue below, but the trouble is, a CLA was not put in place at the 
beginning, nor ever since, and OCamlPro -- although copyright holder of 98% of 
the current code¹ -- is hands tied to change the license without a general 
agreement by now.

This highlights the need for such an agreement, so I would be very glad if our 
dear contributors would be so kind to read and agree to our CLA, helping in 
solving this and possible further licensing issues.

## Our CLA

We propose to our contributors the CLA that we already apply to some of our 
software, which can be read at:


I honestly believe it to be on the open end of the spectrum for such 
agreements, as it basically only gives us the rights to relicense under our 
own terms, without otherwise depriving the contributors of their rights². It's 
basically the same terms used by e.g. Google.

## The issue

Opam is distributed under the terms of the LGPL v3 "with OCaml linking 
exception"³, the problem being with the definition of the exception, which was 
written against the LGPL v2, and not properly adapted. It patches the wrong 
clauses, making it actually worthless. Assuming that this results in the 
original LGPL v3 to apply, it is more restrictive than what we intended!

This situation is thus a legal hazard to users of the Opam lib, first and 
foremost, and clarifying things on that front should be beneficial for 

Note that the issue was raised after discussions with the spdx folks on  
https://github.com/ocaml/opam/pull/2224. Their detailed answer can be read at:


This affects other projects as well.

I am sending this to opam-devel first for your opinion, and I am no lawyer so 
feel free to rectify if I made any mistakes. I'll take care of gathering the 
authors of significant contributions and asking them individually when 

Louis Gesbert, OCamlPro

¹ As computed using, on my current dev branch:
    git ls-files 'src/**ml*' | xargs -n1 git blame --line-porcelain | sed -n 
's/^author //p' | sort -f | uniq -ic | sort -rVb

² We heard a complaint about it from Daniel Bünzli, and do not believe it to 
be the general feeling. To make your own informed opinion on it, here are the 
related comments and our answers:

³ according to the LICENSE file, and source headers: the README doesn't 
actually even mention this explicitely

More information about the opam-devel mailing list