Open Source Software and Copyright

Open source movement has helped application development in numerous ways. A lot of widely used libraries, tools and design patterns would not have existed today if all those people were not ready to share their work with the rest of the world. Open Source movement gave users the freedom to study, modify and redistribute software. After all, the best outcome happens when collective minds are put to work.

Today a lot of open source software licenses are available, each with different terms of conditions for use or share. Therefore, when creating a new project in a public repository like Github, it is important to choose the right license. Also, when using an OSS project either fully or partially in another project, it is important to check the license terms. If found guilty, license infringements could result in taking away the work from public use and in fines.

Purpose of this post is not to compare different OSS licenses. The main intention is to share some interesting facts about licenses and its implications in OSS and proprietary projects.

Disclaimer

The author of this post is not a legal adviser. The information presented here should be considered a general overview. This information does not constitute legal advice.

OSS licenses are Copyright

Have you ever heard in a Physics class that “Cold is absence of Heat”? We like to think that both Cold and Heat exist because we can feel both, right? But the fact is that you can only measure heat. Even at absolute zero, it is just zero heat. Similarly, all OSS licenses are copyrights from a legal point of view. Copyright gives owners and contributors the full rights to use and share softwares. No one can use a copyrighted software without getting (often by buying) the rights from owner. Every OSS license is a variation of Copyright in such a way that each declares different conditions for use or share of the software. It is important to understand what those conditions are before using the software because violation of the terms of an OSS license is subject to the infringement laws.

Below given is the MIT license notice used in .NET Core repository. Note that even though MIT is an OSS license, it is still a Copyright license.

The MIT License (MIT)

Copyright (c) .NET Foundation and Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Copyleft vs Permissive

Though all OSS licenses have different conditions of use, they can be categorised into two – Permissive and Copyleft. As the name suggests, Permissive licenses are truly open source in every meaning. Therefore, the license notice is always simple and straightforward. MIT license mentioned before is a permissive type license and is the most widely used license in Github. On the contrary, Copyleft licenses state some restrictions in the use or distribution. These restrictions are put in place with the intention of keeping all the derived works as “Free Software“. These restrictions make the Copyleft licenses a bit difficult to comprehend and use in proprietary softwares unless the consuming applications too are open source and have a compatible license.

If you use a permissive licensed open source library in your proprietary application and decide not to share the source code as part of sharing the main application, then it could be fine. But using a Copyleft library requires any derivative work to be licensed using a compatible license. This means that a Copyleft library cannot be used with in a closed source application.

No License Does Not Mean Open Source

There are two common myths regarding copyright licensing.

  1. All applications available in public repositories like Github are Open Source
  2. Copyright © symbol (along with Year) is required to mark a work as copyrighted

Both the above points are myths for one reason, that is, absence of a license implicitly means that it is copyrighted. Note that even if a project is marked as “Public” in Github but if it does not have any license notice, then it is not OSS. There is no need to show the copyright symbol anywhere to indicate that one’s work is copyrighted. Copyright protection is automatically applied on any software that is already saved to a disk. For this reason, in countries like Australia, they do not provide any facility to register copyrights. It is easy to settle infringement lawsuits if the copyrights are registered and therefore, some countries like US encourage registrations even though it is not mandatory.

It is highly recommended to add an appropriate license notice to the project, especially if it is intended to be an open source project. Otherwise, users may assume that the project is a permissive kind of open source application and start using it as such. Though ignorance of law is never a valid excuse, by adding an appropriate license notice everyone could be saved from a future conflict and lawsuit.

Displaying License in project

As discussed above, when there exists no license for a project it is considered as copyrighted. Therefore, it is necessary to choose a valid OSS license first, depending on the requirements. Github has a site called “Choose an Open Source license” which makes this task easier. It helps you to choose an appropriate license depending on your objectives.

Once you have chosen a license, add it to the project in a file and name it either “License.txt” or “License.md”. Repositories, like Github does this for you when creating a new project. It is also valid to add a note to the Readme.md file indicating the license applicable for the project. Though not common, some old projects still maintain their license in the build configuration files. For example, old projects maintained using Maven may have their license notice in the POM.xml file.

Almost all the OSS licenses require the dependent projects to give credit to the owner by showing the original license notice. Note that a project can use an OSS project in it only if the licenses of both the projects are compatible. A Permissive licensed project could be used in any kind of project. But a Copyleft project could be used only in a project with similar Copyleft license terms. Assuming the licenses are compatible, the dependent project needs to show the original license in the file. For example, .NET Core CLI uses file utility logic written by Xamarin team. The FileUtil.cs file shows this clearly in the license note.

Another situation where it is required to show the license and to also provide source code is when distributing a proprietary software using a “Less stricter Copyleft licensed (like LGPL)” library to clients. Licenses like LGPL are created as a compromise between stricter Copyleft licenses and more permissive licenses like MIT. These allow free use or modify like in MIT but requires the modified version to be still kept as open source like in GPL. However, it does not require the entire derived work to be open source, making it less stricter. In such cases, the original license and the modified source code must be provided to the clients using any means as long as they are aware of their rights.

Open Source Licenses For Non-Software Work

Though licenses like MIT could be used for non-software work, there are specific licenses for these. Creative Commons licenses, coming from the Copyleft side of the world, are widely used in licensing creative works like photos, articles, etc. You can search for open source creative works using the new CC Search site. Similarly, SIL Open Font licenses are used with font projects.

Copyrights and Patents

Copyrights and Patents are both legal rights dealing with Intellectual Properties. Copyrights are applicable for any material works whereas Patents are for inventions and certain type of discoveries like mathematical formula. Another main difference is in the expiry period. Copyrights are usually applicable for longer periods, in fact in some countries the copyrights are valid upto 70 years from the death of the right holder(s). In contrast, patents expire after a limited period of time, say 20 years from the time of registration, and this helps in improving the competition and avoiding monopoly.

Summary

To summarise,

  • All OSS licenses are derivations of Copyright created with the intention of promoting software use and share.
  • OSS licenses are generally classified into Permissive and Copyleft. There also exists another category, like LGPL license, as a compromise between Permissive and Copyleft licenses.
  • If there is no license notice in a publicly shared project, then it is considered as Copyrighted and not an OSS project.
  • Usual practice is to add a License.txt (or .md extension) file to the project to show the license used.
  • There are licenses available for non software works like Creative Commons licenses.
  • Copyrights and Patents are both Intellectual Properties – one covers material works and the other covers inventions

2 thoughts on “Open Source Software and Copyright

Leave a reply to Martin Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.