Licensing has always been a dry subject for many. I, myself had to struggle to get a basic understanding of open-source licensing. As part of the Easy Linux series, I am going to discuss important Licensing concepts and basic terminologies in the easiest possible way. Let us go through some key terminologies including but not limited to Free and Open-source software (FOSS), Forking, Copyright and License, Public domain software, freeware, Permissive Licenses, Copyleft principle / GNU GPL, Creative Commons, and BSD License. Let’s Get Started!
Free and Open-source Software (FOSS)
When we use the term “Free and Open-source Software” (FOSS), it comprises two different concepts “Free Software” and “Open-source Software”. People have been using these two terms interchangeably as they share similarities. However, these two terms were coined separately. Let’s divide the term “FOSS” into “Free Software” and “Open-source software” to better understand it.
The movement of “Free Software” revolves around the idea of user freedom. The word “Free” here doesn’t mean “Free of cost”. As per the definition by Free Software Foundation (FSF), Free software means that the users have the freedom to run, edit, contribute to, and share the software. Thus, free software is a matter of liberty, not price.
When we use the term “Free Software”, we talk about four freedoms. Richard Stallman describes these criteria as “the four essential freedoms”, the counting of which he starts from zero:
Freedom 0: The freedom to run the program as you wish, for any purpose.
Freedom 1: The freedom to study how the program works and change it so it does your computing as you wish.
Freedom 2: The freedom to redistribute copies so you can help others (freedom 2).
Freedom 3: The freedom to distribute copies of your modified versions to others (freedom 3).
So, a software/program/application is considered “Free Software” if it gives users all these freedoms mentioned above. Otherwise, it is not “Free Software”.
An Open-source software is an application or program for which the actual source code is made available publicly. If the software is Open-source, its source code can be accessed by anyone so as to view, copy, change, improve, and share it with others. This is the reason most of the open-source software is developed by communities and in a collaborative way rather than a single developer or company. Open Source Initiative (OSI) is an organization that promotes the usage of Open-source Software.
What is Source Code?
The source code of any software or application is the actual code written to develop it. Computer professionals (Developers or Programmers) write the source code. As a normal user, we do not worry about the source code of the software. We just install the software and use it. However, access to the source code of software helps computer science students and professionals to learn from it and improve the software by further changing it.
Are all software open-source OR can I have access to the “Source Code” of any software?
No. You may not have access to the source code of all software. For Instance, You may not have access to the source code of software such as MS Office, Skype, and Adobe Photoshop because they are proprietary software. These software are also called closed-source. The source code for these software could be legally accessed or altered by its own developers, teams, or the organization that owns it.
You may have access to the source code of the software such as Apache OpenOffice, Signal, and GIMP because they are open-source applications. The developer(s) or organization of these software have made the source code publicly available to download. Anyone can download, view, and change the actual source code of the software.
Forking a Project
The concept of open-source software has devised a new term “Forking”. When developers/organizations take the existing source code of a project/software and start their own new project in parallel, they are actually forking the project. They may modify the existing source code as per their own requirements or add new features to it.
Popular Examples of Forked Projects
|Original Open-source Operating Systems||Forked Versions|
|Debian Linux||Ubuntu Linux|
|Debian Linux||Kali Linux|
|Red Hat Enterprise Linux||Oracle Linux, Rocky Linux, AlmaLinux|
So, we can say that Ubuntu & Kali Linux are Debian derivatives. Similarly, we can say that Oracle Linux, AlmaLinux, and Rocky Linux are RHEL derivatives.
|Original Open-source Applications||Forked Versions|
Nextcloud is forked from ownCloud. LibreOffice is forked from OpenOffice. MariaDB is forked from MySQL.
Free Software Foundation prefers to use the term “FLOSS” instead of FOSS. “FLOSS,” meaning “Free/Libre and Open Source Software”. The word “Libre” means freedom. It clarifies that “Free” is used as in freedom instead of money.
Copyright and License
In its simplest terms, Copyright and License can be defined as follow:
Copyright is the legal term used to show and prove who owns the product or software.
License is defined as an agreement, wherein a company/organization authorizes another party/user to use its product under certain terms.
In layman’s terms, if you own a property/house, the ownership documents or a “deed” is the copyright. This proves your ownership. And when you consider renting out your house, you make a rental agreement with the tenant. That agreement is a License where you authorize your tenant to use your house under certain terms.
Public Domain Software and Freeware
Public domain software is software to which the author/developer has given up all rights. There is no cost to buy it. There is absolutely no ownership such as copyright, trademark, or patent. No one can legally enforce any rights. Anyone can use, modify, reproduce, or sell the software without any permission. Even in some cases, one can represent one’s own work. There are no licensing requirements for software that are in the public domain. Software before 1974 was shared as a public domain as the licensing of software started after 1974.
Freeware is proprietary software that you can use without paying a license cost. The software is registered under exclusive copyright, where the software license grants limited usage rights. When you install the software, you may need to accept the terms and conditions to use it. Some of these terms prohibit us from modifying or selling the software in any way. Examples of Freeware are Internet Explorer, Skype, Zoom, WhatsApp, Adobe Reader, etc….
what is the difference between Public-domain and Open-Source software if they both allow users to view, copy, change, and share the code?
Yes, both public domain and open-source software allow users to access and modify the source code of the software. However, there is a significant difference between them.
• Public domain software is not licensed.
• Open-source software is licensed, and the code is still protected by copyright. They have restrictions as to how these software can be used and distributed. The software might be free of cost, but it will be made available publicly under a copyright license approved by the “Open Source Initiative (OSI)” conforming with its definition.
So, the main difference between the Public domain and Open-source software is not whether the source code is accessible to the user. Instead, the difference lies in whether there are licensing requirements or any other restriction on viewing, copying, altering, or distributing the software. The distribution criteria of an Open-source software are well defined on their website.
Free and Open-source Licensing
Like proprietary software, “free and open-source software” is also licensed. As users accept the terms of a license in proprietary software, they must also accept the terms when they use free and open-source software. However, the legal terms of “free and open-source” software licenses are different from those of proprietary software licenses.
Both “Free Software Foundation” (FSF) and “Open-Source Initiative” (OSI) have come up with their own criteria to call software “free software” and “open-source software” respectively. It depends on what license, the software is using.
For example, the source code of the “open-source software” is released under a license in which the copyright holder grants users the rights to use, study, modify, and distribute the software to anyone and for any purpose.
Similarly, if the software is using a license that allows 4 freedoms, it can be called “free software”.
Open-Source Initiative (OSI)
The OSI movement was founded in 1998 that developed a list of criteria to check if a software license fulfills the definition to be called open-source software. The whole list of criteria can be read from OSI official website and they call it “The Open Source Definition”.
The OSI has approved a list of licenses that qualifies the “Open Source Definition”. If any software is using a license from the OSI-approved list, it can be called open-source software.
Free Software Foundation
Free Software Foundation was founded by Richard Stallman to support the “free software” movement in 1985. FSF also maintains a long list of licenses. However, I am going to touch base with a couple of them.
GNU General Public License (GPL): Free Software Foundation has formulated the GNU General Public License (GPL) as one of its key licenses. There are 2 key licenses behind GNU GPL.
- Free Software License (Free software includes Four freedoms)
- Copyleft License (Includes copyleft principle)
The software can be called “Free Software” if it gives users the four freedoms (Discussed above). And then the other main principle behind the GNU GPL license is the copyleft principle. Copyleft promotes the principle to make software truly free (in terms of 4 freedoms) and it requires all modified versions (derivative work) of the software by anyone to be free as well.
What is the difference between “free software” and “public domain software”?
The basic idea of any “Free software” is to make sure all people get benefited. That’s why the copyleft principle was introduced. The software is licensed, and you can use, copy, modify the software but you can’t claim it as proprietary software. Instead, you must share the original work + the changes you have made.
So instead of putting software in public-domain, we “copyleft” it. The copyleft license is discussed later in this article.
GNU Free Documentation License (FDL): This is another license that is used solely for documentation, manuals, and textbooks. This license also follows the copyleft principle. So, If you license your written work (Book, LAB Guide, or any document) under GNU Free Documentation License (FDL), any person can copy, use, modify, and redistribute your work.
Free Software Vs Open-Source Licensing
The FSF maintains its own list of licenses and OSI keeps a list of licenses that it considers open-source. Both these movements — Free Software by (FSF) and Open-source software by (OSI) move in the same direction and achieve similar goals. For example, if a software qualifies the criteria of both “Free Software” and “Open-source software”, it will release its source code under a certain license and it will also follow the criteria to give users, the 4 freedoms.
A perfect example of such would be the GNU GPL license that was formulated by “Free Software Foundation” and also qualifies as an open-source license as per definition by “Open Source Initiative”
Linux kernel is licensed under GNU GPLv2 and this license fulfills the criteria of both FSF and OSI movements. That is why we can say “The Linux Kernel is free and open-source”. That is, anyone can use, copy, study, and change the software in any way, and the source code is also available so that people can modify or improve it.
There are some licenses that are accepted by OSI but FSF doesn’t consider them, free licenses. Sometimes both these movements (FSF and OSI) may go into conflict, especially when the results of the joint work do not reflect the original goals of both movements. This can happen when software is released with its source code, but the four freedoms are not given at the same time.
Categories of Licenses
Broadly categorizing the licenses, we will talk about Creative Commons License Vs Permissive License Vs Copyleft License Vs Proprietary License. These licenses define the rules as to how someone’s software/work may be used by any user or organization.
There are very few or no restrictions with the Creative Commons License. The licenses become more restrictive as we move from the left to right side in the picture.
Creative Commons License
If you want to release your software or work to the public domain (make it freely available and with no copyrights), it is recommended to use CC0. The Creative Commons CC0 license is used to put software into the public domain. Any software or work that is released under CC0 is dedicated to the public domain which means anyone can do anything with it. There are no restrictions, and the original author/developer of the work has waived all rights. You can copy, modify, and redistribute it as you wish.
A permissive license is a BSD-like or BSD-style license which is a free software license with minimal restrictions on how software could be used, modified, or redistributed. They require attribution to original authors in derivative work or source code. The Derivative work can be released under another license or as proprietary software. Examples include the GNU All-permissive License, MIT License, BSD license, Apple Public Source License, and Apache license.
BSD License which is a permissive license may contain 4 or fewer clauses. The main benefit of using a BSD license is that it doesn’t require the user to redistribute the code or derivative work. This is a must in Copyleft License.
This is the same license that we have discussed above. It is a more restrictive license and states that anyone who uses the original source code to build something must also redistribute the derivative work under the same license. Copyleft guarantees that every user has freedom. If the software is licensed under a copyleft license, the derivative work must be redistributed under the same license terms. The first and most popular example of a Copyleft license is GNU GPL.
The proprietary software license doesn’t allow copying, modifying, or redistribution. This is the most restrictive license. The original author or the company who releases the software or work retains copyrights of the source code. Usually, the source code is hidden from the end-users and doesn’t grant rights to modify the software in any way or redistribute it.
There are many other kinds of software licenses that have been introduced to meet certain requirements. For example, there are WeakCopyleft and Lesser GPL licenses, etc… Most importantly, before we fork someone’s work, we should read the license carefully under which your derivatives may be licensed.
If the software is “free and open-source”, does it mean I can get it free of cost?
The “free software” doesn’t refer to the cost. The term free in “free software” refers to the 4 freedoms discussed above in this article. In addition, the word open-source doesn’t necessarily mean that the executable software is given away for free of cost.
Example 1: You are not a programmer or a computer professional. And at the same time, you want to modify a “free software” to meet the requirements of the business, you own. You may pay any developer/programmer to make those changes for you.
Example 2: The source code for Red Hat Enterprise Linux (RHEL) is freely available. However, working on that source code so as to get a production-ready operating system and obtain support from professionals, you may need to pay.
- Both “Free Software” and “Open-source Software” movements largely follow similar goals and endorse similar software licenses. They complement each other and hence form “FREE AND OPEN-SOURCE SOFTWARE” (FOSS or F/OSS).
- Unlike proprietary licensing, Open-source software licensing:
- Encourages collaboration among people to work together.
- Helps Developers or Programmers get access to source code, view, modify, and then share the code with others so that they can incorporate the changes as well.
- Promotes synergizing all the efforts made by developers around the world. This overall helps the whole world as a community.
- Linux is a free, open-source operating system (OS), released under the GNU General Public License (GPL). It is also the largest Open-source software project in the world. Because Linux is released under an open-source license, which prevents restrictions on the use of the software, anyone can run, study, modify, and redistribute the source code, or even sell copies of their modified code, as long as they do so under the same license.
- The “free software” doesn’t refer to the cost. The term free in “free software” refers to the 4 freedoms discussed above. In addition, the word open-source doesn’t necessarily mean that the executable software is given away for free of cost. For example, if you lack the skills to modify free-software to meet your requirements, you may hire/pay a developer/programmer to make those changes for you.