This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
lfc291 [2016/06/07 15:56] mantis [Module 4 - File notices] |
lfc291 [2016/06/07 15:57] (current) mantis [Module 5 - Preconditions for contributions] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | Notes from LFC 291, from May 2016. | ||
+ | |||
+ | |||
+ | |||
+ | {{http://imgs.xkcd.com/comics/open_source.png }} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Source: [[http://xkcd.com/225/|http://xkcd.com/225/]] provided under [[http://creativecommons.org/licenses/by-nc/2.5/|CC BY-NC 2.5.]] | ||
+ | |||
+ | ====== Module 2 - Licenses ====== | ||
+ | |||
+ | |||
+ | ===== Web resources to assist with choosing a license ===== | ||
+ | |||
+ | |||
+ | * opensource.org | ||
+ | * choosealicense.com | ||
+ | * tldrlegal.com | ||
+ | * gnu.org: copyleft licenses | ||
+ | |||
+ | And for artistic work: | ||
+ | * creativecommons.org | ||
+ | |||
+ | ===== Putting licenses in place ===== | ||
+ | |||
+ | Separate license file | ||
+ | In files, refer to license | ||
+ | |||
+ | How to refer (in descending order of preference): | ||
+ | * Use standard license header | ||
+ | * Use the SPDX-License-Identifier (license-identifier from the SPDX List of Licenses). Makes the header very concise. /* SPDX-License-Identifier: Apache-2.0 */ | ||
+ | * Provide the URL to the license definition page | ||
+ | * Provide the URL to a neutral/refereed web site with a curated list of licenses, e.g. the Open Source Initiative opensource.org or Software Package Data Exchange websites) | ||
+ | |||
+ | Using URLs may be a risk, because websites change over time. | ||
+ | |||
+ | ====== Module 3 - Copyrights ====== | ||
+ | |||
+ | "[[https://en.wikipedia.org/wiki/Copyright|Copyright]] is a legal right created by the law of a country that grants the creator of an original work exclusive rights for its use and distribution." | ||
+ | |||
+ | Copyright extends to how ideas or algorithms are written down. | ||
+ | |||
+ | Ideas and algorithms are covered by patent law instead. | ||
+ | ===== Legal aspects ===== | ||
+ | |||
+ | |||
+ | In all countries in the [[https://en.wikipedia.org/wiki/Berne_Convention|Berne Union]] it is not necessary to apply for copyright. | ||
+ | |||
+ | Possible copyright holders | ||
+ | * the author | ||
+ | * the author's employer (work for hire) | ||
+ | * an organisation or individual can be assigned to be copyright holder | ||
+ | |||
+ | ===== Copyright notice ===== | ||
+ | |||
+ | Although it is not necessary in the Berne Union to add a copyright notice for //claiming// copyright, it is still recommended to indicate the copyright holders in code: e.g. in court it is necessary to establish who the copyright holder is. Having a copyright notice in place is a quick and easy way to ensure this. | ||
+ | |||
+ | The indication should have the form: | ||
+ | |||
+ | <a copyright indicator> <years applicable>, <copyright holder(s)>. | ||
+ | |||
+ | The course recommends: | ||
+ | - Add a copyright notice to a new file | ||
+ | - Update the copyright notice when making a significant update to the file | ||
+ | ====== Module 4 - File notices ====== | ||
+ | |||
+ | A file notice consists of the license reference (module 2) and a copyright notice (module 3). | ||
+ | |||
+ | A file notice | ||
+ | * identifies the copyright holder(s) via notices. | ||
+ | * identifies the license that the file is governed by. | ||
+ | * maybe gives additional information about authorship. | ||
+ | * should be clear and machine-detectable. | ||
+ | |||
+ | |||
+ | |||
+ | ====== Module 5 - Preconditions for contributions ====== | ||
+ | |||
+ | Contributor Agreements are: | ||
+ | |||
+ | * Contributor License Agreement (Apache, Google) | ||
+ | * Copyright Assignment (GNU toolchain) | ||
+ | * A Developer's Certificate of Origin (Linux, OP-TEE) | ||