Skip to content

Copyright and license policy

Copyright tracks who owns the source code. A license gives third-parties rights to the source code.

License

All released source code should by default be licensed under MIT License. Exceptions may be made to this policy on a case-by-case basis. Reasons for exceptions could be (but not limited to):

  • Source code already released under another permissive license (e.g. Apache v2, BSD) or LGPL.

In all cases, source code should not be released under a copyleft license like GPL or AGPL.

Copyright statements

Copyright statements must be included in:

  • LICENSE file in the root of the repository.
  • Headers of all source code files.

Each copyright holder must have their own copyright statement::

Copyright (C) 2015-2018 CERN
Copyright (C) 2017 TIND

Copyright holders

Each copyright holder must be a legal entity.

Copyright is tracked for non-trivial contributions (i.e. creative work). By default we consider anything above 15 lines for a non-trivial contribution. Examples for which we do not track copyright is e.g. fixing a typo or tiny bug fixes.

Legal entity

A legal entity can be human (physical persons) or non-human (juridical persons, e.g. corporations). A legal entity has privileges and obligations such as being able to enter into contracts, to sue or be sued. Thus, e.g. CERN is a legal entity but e.g. ATLAS, CMS and Invenio Collaboration are not considered legal entities by the law.

Maintainer responsibility

Maintainers are responsible for asking each contributor who is the copyright holder of a given contribution (often, it's the employer who holds the copyright).

Attribution

Attribution is not tracked via copyright, but via the AUTHORS file.

Explicit agreement

Contributions only via GitHub

All contributions must be opened via pull requests on GitHub. This way contributors have agreed to the GitHub Terms of Use, which states:

"Whenever you make a contribution to a repository containing notice of a license, you license your contribution under the same terms, and you agree that you have the right to license your contribution under those terms."

This method avoid introducing either a Contributor License Agreement (CLAs) or a Developer Certificate of Origin.

Principles

Invenio's copyright and license policy is based on the following principles:

  • Shared copyright - every contributor maintain ownership over the code they contribute.
  • Permissive open source licensing - all copyright holders license their contribution under a permissive open source license (MIT License).
  • Contributing via GitHub - to obtain explicit agreement from the copyright holder to that they agree to license their source code under the open source license, and that they have the rights to license it.

We explicitly avoid:

  • A single copyright holder or Contributor License Agreements (CLAs) which usually amounts to almost the same as a copyright transfer to a single copyright holder.
  • Viral/Copy-left licenses like GPL and AGPL.