Copyright and license policy ============================ License ------- All released source code should by default be licensed under Apache 2.0 License. Exceptions may be made to this policy on a case-by-case basis. Tracking copyright ------------------ **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) 2021 IOTA Stiftung Copyright (C) 2022 Louay Kamel **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 CS3 Organization 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](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license), 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.