1. Ned Batchelder
  2. coverage.py
  3. Issues
Issue #313 resolved

Add LICENSE file containing 2, 3 or 4-clause BSD License text

Kubilay Kocak
created an issue

Add a LICENSE file to the repository containing the chosen license text, to indicate explicitly which of the BSD Licenses [1] is specified:

  • 2-clause ("Simplified" or "FreeBSD")
  • 3-clause ("Revised", "New" or "Modified"), or
  • 4-clause ("Original")

I am currently creating a FreeBSD Port for the lazy package, and need to specify this for our license framework requirements.

  • Update Trove classifiers to suite (for bonus points)

[1] https://en.wikipedia.org/wiki/BSD_licenses

Comments (7)

  1. Ben Finney

    There are numerous licenses applying to different parts of the code base. MIT (presumably Expat), GPL (various versions), and BSD (various flavours).

    I agree there should be a clear ‘COPYING’ document at the top of the code base, and separate ‘LICENSE.FOO’ files in the same location giving the explicit license texts in each case.

  2. Sam Clegg

    I'm also interested in seeing clearer licensing applied to the codebase. I'm in the process of attempting to import the code into the chromium repo and there are some fairly strict import requirement. The proposed change is here: https://codereview.chromium.org/727003004/.

    As far as I can tell all the code is currently covered by the 2-clause license in coverage/init.py. I've created a patch that adds minimal license information to each file and moves the full BSD license already in init.py to the top of the file. In my initial version of this patch I attempted to create an external LICENSE.txt file instead but I had trouble finding a suitable way to include this when doing "setup.py bdist" so I decided to stick with the inline license.

    In terms of the MIT/GPL licenses that Bin is referring too it looks like that only applies the jquery html and js files. Is that right Ben?

  3. Ned Batchelder repo owner

    Sam Clegg I'm confused: why must coverage be added to the chromium source tree? Do they not support installing needed packages with standard installation tools? And why must every file have a copyright at the top? What rules govern this 4-line declaration? Why are all the dates 2014? Am I expected to change all these files each calendar year?

  4. Sam Clegg

    Hi ned. Yes, the way chromium is setup is that it pulls all its dependencies in either from external git repos (like submodules) or by checking the code directly into chromium. At least this is what we have done for other python modules such as mock. We don't rely on external tools like pip and virtualenv. I imagine the motivation is keep things simple and hermetic. The rules we use are here: http://www.chromium.org/developers/adding-3rd-party-libraries.

    Apparently the requirement is only that the license be mentioned in each file (the reference to the BSD license that is). The copyright line is not needed. I can re-upload the patch without those.

    (and no, in chromium at least, we don't update the copyright year at all).

  5. Log in to comment