Understanding open source licences and what it means to licence your code is important when you're working in open source. It can have an impact on your code, how it is used and extended and in some cases can impact your current employers rights as well. This page is not a guide for how to copyright or licence your code, but it does provide some information on the topic and hopefully makes it easier for you to make your decision.
Your code, and copyrights
When you write some code and publish it for others to use you can add a copyright header to the file to indicate that you created it and are responsible for assigning the rights related to it's use. This allows you to specify an open source licence that you may want to apply to allow others to use and build on your work. Your copyright header in an open source file usually contains the licence that you intend to publish the code under. As an example of a copyright header in a source file might look like this fake one.
/* Copyright (C) 2018 Pippy Long - All Rights Reserved
* You may use, distribute and modify this code under the
* terms of the XYZ license, which unfortunately won't be
* written for another century.
*
* You should have received a copy of the XYZ license with
* this file. If not, please write to: , or visit :
*/// lots of great code follows this comment.
The Nordix foundation allows you to contribute code to the foundation directly. This means that when you copyright the code instead of using your own name you use Nordix Foundation as the copyright holder to indicate that the rights to the code have been assigned to Nordix. This requires a specific agreement clause to be signed by you, or your employer, which has language that ensures contributions done in this way are done in the best interest of the open source community and foundation. Do notes if you wish to make contributions and assign the copyright to Nordic the code needs to be done on the Nordix foundation infrastructure.
Copyright (C) 2018 Nordix Foundation
When you edit an open source file that has a copyright header already you should not remove the original header, nor the licence information that you have accepted by choosing to edit someone else file. In this case you can either;
- Make your edits and leave the header as it is, this is common when you are only making small changes to the file and not altering it significantly
- Add your own copyright statement next to the original authors, this is common when you add significant code or features to the file
It is important in open source, collaborative development, that when we create code we can trace who added what to the file and that we agree on the terms and conditions of use.
Open Source Licences
There are many open source licenses that can be used to share the software you produce. Choosing an open source licence has an impact on how others can use or work with your code and the terms and responsibilities that are associated with it. The Open Source Initiative, OSI (https://opensource.org), is the body that maintains what we mean when we say open source. The OSI states that "We are the stewards of the Open Source Definition (OSD) and the community-recognized body for reviewing and approving licenses as OSD-conformant." which is commonly understood to be the metric by which we define open source.
The OSI maintains a list of licenses that can be used for open source development, most developers today will often come across GPL (used for Linux), Eclipse (used for Eclipse) and Apache (used for OpenStack) licences. When you see a licence header you can visit the OSI web pages to learn more about them and what your rights are when using and contributing to the code.
Nordix foundation licences
We don't specify a specific licence in the Nordix Foundation. We expect that many of our community will be working with other communities and foundations such as LinuxFoundation and OpenStack Foundation where they very clearly specify the licence to be used in those projects. It is important that a project uses a consistent licence policy that maintains licence compatibility.
If you are starting a new project in Nordix you can choose a popular OSI licence to use. You need to specify that when you are creating your project and it will need to be approved by the technical committee. If you are not sure about the right licence for you, reach out and ask on discuss@nordic.org as it I best to choose a licence that is compatible with other projects you may be working closely with.