User Tools

Site Tools


Notes from LFC 291, from May 2016.

Source: provided under CC BY-NC 2.5.

Module 2 - Licenses

Web resources to assist with choosing a license

  • copyleft licenses

And for artistic work:


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 or Software Package Data Exchange websites)

Using URLs may be a risk, because websites change over time.

Module 3 - Copyrights

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.

In all countries in the 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

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:

  1. Add a copyright notice to a new file
  2. 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)
lfc291.txt · Last modified: 2016/06/07 15:57 by mantis