Open-source licenses are licenses that allow software to be freely used, modified, and shared under defined terms and conditions.
These licenses allow users or organizations to adjust the program’s functionality to perform for their specific needs.
Though this term originated in the context of software development to designate a specific approach in creating computer programs, its meaning however evolved into something moralistic, ethical and sustainable.
Today, when we say “open source” we are following the open source way.
Open source projects, products, or initiatives embrace and celebrate principles of:
- Open exchange;
- Collaborative participation;
- Rapid prototyping;
- Meritocracy; and
- Community-oriented development.
Open-source licenses are legal and binding contracts between the author and the user of a software component. It declares that the software can be used in commercial applications under specified conditions.
Open Source Licenses
The Open Source Compatibility Chart
Source: Duke Computer Science
Open source licenses are vital for setting out terms and conditions on which software may be used, modified, or distributed and by whom. They are also used to facilitate access to software as well as restrict it.
A license agreement is implemented so that potential users know which limitations owners may want to enforce, at the same time, owners will have strong background with their legal claims and having great control as to how their work will be used.
Originally, the open source movement started in 1983 when Richard Stallman, a programmer at the MIT Artificial Intelligence Laboratory at the time, said he would create a free alternative to the Unix operating system, then owned by AT&T; Stallman dubbed his alternative GNU, a recursive acronym for “GNU’s Not Unix.”
With Stallman’s vision, the idea of “free” software:
- Ensures that users were free to use software as they saw fit;
- Free to study its source code;
- Free to modify it for their own purposes; and
- Free to share it with others.
Then on, other programmers followed Stallman’s example. One of the most important was Linus Torvalds, the Finnish programmer who created the Linux operating system in 1991.
Open-source license Major Types
Open-source licenses come in two (2) major types:
A free software license that requires copyright authors to permit some of their work to be reproduced.
With copyright law, authors have complete control over their materials.
But with the power of copyleft license, users are permitted to copy and distribute copyrighted materials.
However, authors still have the verdict in who uses the materials based on their intended use.
This license does not require any source code distribution. That’s why users have rights similar to those normally only granted to the copyright authors, including activities such as distribution and copying.
Popular examples include GNU General Public License (GNU GPL), Common Development and Distribution License (CDDL), Mozilla Public License (MPL), Affero General Public License(AGPL) and Eclipse Public License (EPL).
*Note: Not all copyleft licenses are compatible.
To comply with this type of license, simply place your code in the public domain, uncopyrighted.
As a result, GPL-licensed code is not typically suitable for inclusion in proprietary software, although there are some like LGPL (Lesser GPL) licensed code which may be applicable.
A free software license for a copyrighted code that can be freely (the freedom we think it is) used, modified and redistributed. Permissive-licensed code can be included in proprietary, derivative software.
*Note: Though permissive license is not as restrictive as copyleft license, it still requires compliance with a number of obligations (i.e. inclusion of the original license or copyright) before it can be redistributed.
Open-source license Minor Types
While, open source license has two (2) minor types:
Code that can be used by the public without restriction or copyright. This type of license is intended to be truly free of costs and commonly has very few (if any) obligations with which you need to comply.
Popular examples include Creative Commons (CC-0).
*Note: Though public domain code should be the simplest license to deal with, PLEASE be aware that not all jurisdictions have a common definition of what public domain means. You should ALWAYS check local regulations.
An emerging type of license applied to code that cannot be deployed “as a service,” source available license is being defined in response to cloud providers.
Popular examples include Redis’ Source Available License (RSAL), MongoDB’s Server Side Public License (SSPL), the Cockroach Community License (CCL), or licenses that have had the Commons Clause added.
There are numerous open source licensing agreements a program or file may follow. So, better refer to the appropriate documentation to see what the original developer allows and prohibits.
By Tuan Nguyen