[License-discuss] Boilerplate license text for permissive licenses?
gerv at mozilla.org
Mon Nov 26 10:55:08 UTC 2012
Short version: can the OSI please consider providing generic,
appropriately wrapped, plain-text, copy-and-pasteable versions of the
MIT, BSD (2 and 3 clause) and HPND licenses, linked from that license's
main license page, to cut down on license proliferation?
Long version: I am currently attempting to make sure Firefox OS complies
with the open source licenses of all the bits of code we are using. As
you can understand, an entire operating system is quite a lot of code.
I have written a script to analyse the codebase and extract all of the
MIT, BSD and HPND license blocks in it. Each of these licenses requires
the license text to be reproduced "in other materials provided with the
distribution", or some similar words. My script counts as "the same" the
ones where the differences are merely whitespace-based. We were advised
that if two license blocks differ by more than that, e.g. if they
mention a specific person or organization in the disclaimer, then they
are "different" and cannot be merged.
Here's a count of the number of different variants in my current draft
licensing file, by license type:
In other words, we will have to reproduce at least 160 different but
similar license blocks in the documentation for Firefox OS.
Some of this is unavoidable; the MIT and BSD licenses have changed over
time, and some of this code is very old. Some of these differences may
indeed have some legal effect.
However, it seems that sometimes, people might be copying and pasting
from the OSI website, but then they have to fill in the blanks and/or
replace HTML-based formatting such as bullet points, and everyone does
it slightly differently. For example, for bullets, we have "*" vs "a)"
vs "1." vs "-" vs " ". I have seen BSD 3-clause variants, otherwise
identical to the OSI version, with all of these bullet types.
The trouble is, without getting into very detailed heuristics, simple
moves like saying "OK, apostrophe, hyphen, period and digits don't count
for determining license sameness" start to run the risk of removing
significant differences. And the text says you have to reproduce "this
license notice", after all.
The MIT license on opensource.org is good, because it can simply be
copied and pasted as-is: http://opensource.org/licenses/MIT Accordingly,
a lot of uses of the MIT license in the codebase are that exact license.
However, the BSD3Clause version has a placeholder in clause 3 for
<ORGANIZATION>, which means that everyone who copies and pastes it will
create a new license variant when they replace that part.
Whether there are other variations or not, this is a very common way of
creating a whole new license.
The BSD2Clause version does not have that, obviously. It's noteworthy
that there are 2x as many 3-clause variants in the B2G codebase as there
are 2-clause variants.
Although it's now deprecated, and so maybe not used much, the HPND is
There are so many optional bits there that anyone attempting to use that
license based on the OSI copy is almost bound to produce something unique!
We can't prevent people from modifying license texts. But we can avoid
_requiring_ them to do so! Can the OSI help with this?
More information about the License-discuss