Open source is the mantra of today’s tech world. While it is being used in that personal computer sitting on your desk, it is also being used in the computing systems in NASA’s International Space Station! But merely knowing how to use open source software is no longer enough. Open source enthusiasts should also be aware of the various open source licences used. This article briefly touches upon what open source is all about, and scratches the surface of a few popular licences.
It is better to begin with a thorough understanding of the definition of open source. The Open Source Initiative (OSI) has set down certain criteria for open source software. Any software that provides the source code does not automatically qualify as open source. It should satisfy the following criteria:
- It should be available for free distribution.
- The source code should be made available free of cost. Deliberate obfuscated code and intermediate forms of code like the pre-processor outputs are not allowed.
- The licence should allow others to build works derived from the main project, and the works derived from the main project should also be distributed under the same licence.
- The integrity of the author’s source code.
- There should be no discrimination against person or a group. This clause ensures that the code is not restricted to within a firm, or discriminated based on groups like developers, designers, etc. There should be no discrimination against the field
- Regarding the distribution of the licence: The rights attached to the program must apply to all whom the program is redistributed to without the need to execute an additional licence by those parties.
- The licence must not restrict other software from being used in the same system.\
- The software must be technology neutral.
Once the software satisfies all the above criteria it is called open source. Now, let us explore a few open source licences that are popular. But before that, let us discuss copyleft licences. The most popular belief regarding copyleft is that it is the opposite of copyright laws. But that is not the exact definition. Copyleft is the practice of using copyright law to offer the right to distribute copies and modified versions of a work while requiring that the same rights be preserved in modified versions of the work. In other words, copyleft is a general method for making a program (or other work) free (libre), and requiring all modified and extended versions of the program to be free as well.
The GNU General Public License is perhaps one of the most famous of all licences in the FOSS world. The latest version of GPL is version 3. GPL grants a wide variety of rights to users. It allows copying, modifying and distributing the code, provided all the distributions are also licensed with GPL. If the work is derived from a GPL project, the derived work has also to be GPL. This rule is applicable even if the derived work constitutes only a small part of the main work. GPL allows users to charge a fee for the software, but you should provide a copy of the GPL along with your software. This means that there might be sources other than you to get work similar to yours.
The Lesser GPL, as the name suggests, is a milder version of the GPL. It allows derived works to be published under licences that are not GPL or LGPL. The authors of the derived work are free to choose their new licence. Only the LGPL parts source code has to be made available. LGPL is mainly used for software libraries. So the LGPL code and the main code of the software remain separate, and the LGPL part of the source code can be made available.
GPL falls under the category called copyleft licences. BSD or the Berkeley Software Distribution License comes under another category called permissive licences. This category has minimal requirements as to how free software should be distributed. The original BSD was a 4-clause licence that covered the following aspects:
- Redistribution of source code should retain the copyright and disclaimer notices.
- Redistribution of binary should retain the copyright and disclaimer notices.
- All the material used for advertising purposes should acknowledge the author of the main work.
- Names of contributors should not be used for endorsing the software.
The BSD License now comes in two forms.
1. The New BSD License: This is also known as the 3-clause form. It is similar to the 4-clause form mentioned earlier but the third clause referring to advertising materials is omitted.
2. Simplified BSD / FreeBSD License: This is also known as the 2-clause form. It is similar to the 4-clause form, but the third and fourth clauses are removed.
A BSD License, unlike the GPL, allows the derivatives to be proprietary.
The Apache License is also considered to be permissive because it does not require a derivative work of the software or modifications to the original, to be distributed using the same licence. It still requires application of the same licence to all unmodified parts. And in every licensed file, any original copyright, patent, trademark and attribution notices in the redistributed code must be preserved. Also, in every licensed file that is changed, a notification must be added stating that changes have been made to that file. The rights once given by the Apache License cannot then be revoked in future. Another interesting aspect of the Apache License is that it is applicable in every country.
Creative Commons License
The CC License comes under another category called public copyright licences, by which a licensor can grant additional copyright permissions to licensees. Public copyright licences do not limit their licensees. The Creative Commons License is mainly used for design works, art, music, textual material, etc.
A CC License has four basic parts.
1. Attribution: Licensees may copy, distribute, display and perform the work and make derivative works based on it only if they give the author or licensor the credits for the original work.
2. Share alike: Licensees may distribute derivative works only under a licence identical to the licence that governs the original work.
3. Non-commercial: Licensees may copy, distribute, display and perform the work and make derivative works based on it only for non-commercial purposes.
4. Non-derivative: Licensees may copy, distribute, display and perform only verbatim copies of the work, not derivative works based on it.
The open source philosophy and licences are not just limited to the world of software; there is open source hardware like Arduino. Wikipedia is an example of open source content. There is content released under the Creative Commons License. There are beverages called open colas, for which the formula for the beverage is not a closely guarded trade secret. All this stems from the main idea that knowledge should never be closed but should always be open.