Skip to content

Introduction to copyright

Copyright is a set of rights available to an author over their original work, including the exclusive right to define the conditions of use and reuse of their work.

The general principles related to copyright are specified in the Berne Convention, an international treaty which has been ratified by the vast majority of countries in the world and whose main purpose is to provide uniformity of copyright and similar rights across the globe.

Copyright law protects the author of the original work, and is "all rights reserved" by default, meaning people cannot access, copy, modify, or redistribute your work unless you explicitly give them such rights. This is the purpose of licences.

The purpose of copyright and licences

Copyright is meant to provide creators with control over their creations. For example, book writers use copyright to prevent others from copying their work and distributing those copies. In that way, they can monetise their work at a price which they consider appropriate.

When you open-source your work, you actually want to give others the right to copy, modify and redistribute it. You do this by affixing a licence notice to your work. The purpose of a licence is to inform others of the rights that you, as a copyright holder, provide to them for the use of your work.

If you are an employed member of personnel (MPE) at CERN, such as staff, fellow or graduate, then CERN is the copyright holder of all the works created within the framework of your professional activities (including also outside the usual working hours). The same applies also for associate members of personnel (MPA), unless their home institution has a specific agreement in place with CERN.

In case your work contains any contributions or code from third parties, it is very important to ensure, prior to any publication or licensing, that you have a signed agreement, written authorisation or a valid licence to use such contributions or code from the relevant copyright holders.

Licensing

Choosing a licence is one of the most important steps in open-sourcing a project. It is a choice you make initially that affects the project life-cycle and adoption outside of CERN.

Software licensing

There are many good open-source licences and your choice will depend on what you want to achieve:

  • Permissive licences;
  • Weakly-reciprocal licences;
  • Strongly-reciprocal licences.

Permissive licences for software

Examples: Apache v2, BSD-3-Clause, MIT.

If you license your code under this type of licence, then anybody can take it, change it or combine with it as they wish and distribute the result also as they wish. They just have to respect very basic conditions, such as including your copyright notice in the software they distribute. Among the freedoms you grant when you use a permissive licence is the freedom to modify your software and not distribute it as open source, i.e. to make it proprietary.

This is a good licence family if you want to allow others (e.g. a company) to use (or even modify) your software in a proprietary product, without releasing any sources.

Note that BSD-3-Clause has an additional term stating:

Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Weakly-reciprocal licences

Examples: LGPL-3, LGPL-2.1, MPL-2.0.

If you license your project under this type of licence, if anybody takes your code and combines it with theirs, upon distribution they do not have to disclose their sources, just yours, whether or not they have modified them, and under the same licence you used.

This is a good licence family if you want to benefit from improvements to your code but do not want to force the users of your code to disclose their own sources.

Strongly-reciprocal licences

Examples: GPL-3.0 and GPL-2.0.

If you license your project under this type of licence, if anybody uses your code and combines it with theirs, they will need to release the sources of both your code (modified or not), and their code.

The vision of the creators of the GPL was to generate an ever-growing body of free (as in "freedom") software by forcing/inviting users of your code to release theirs as well.

Gateware Licensing

Gateware is a bit of a hybrid between software and hardware. Designers use Hardware Description Languages (HDL) to describe hardware, but an HDL file looks like code. HDL design can be used to configure a Field-Programmable Gate Array (FPGA) or to produce an Application-Specific Integrated Circuit (ASIC). Gateware licences can be classified as permissive, weakly-reciprocal and strongly-reciprocal, exactly as in the case of software. See the best practices for sharing FPGA designs from the Open Source Hardware Association (OSHWA) for a more in-depth discussion on gateware and recommendations for its licensing.

Hardware Licensing

With the introduction of version 2 of the CERN Open Hardware Licence, designers now also have permissive, weakly-reciprocal and strongly-reciprocal options to licence their hardware designs. Please read the "Licensing your designs" section in the best practices for open-source hardware 1.0 published by OSHWA.