Imagine there is a project that only has one person working on it. All the developments and challenges are going to be performed and overcome by him. Nobody can say that the project would not be successful, it very well can be.
Now compared to the previous project, think of a second one. This has a whole bunch of people working on it. The solutions aren’t coming from a single brain, but from loads of expert brains.
So, if we had to judge the success rates of these two projects, on which would you place your bet on? For many of us the answer would be the second project with a massive team of experts, who’d be able to come up with more solutions and developments than a single person ever can.
And that is open source software for you. It is a platform wherein, one person creates a software, and other developers have an opportunity to read his source code, to use it, to modify it and redistribute it with the modifications. Open source software makes it possible for people to come together and work magic with their intellect and skills.
However, with that kind of liberty in development, there are often times when people after modifying an open source make it a proprietary software. Sometimes an open source developer wouldn’t mind it, but there is also the chance that he’ll feel misused. To overcome these scenarios, a solution was thought and that is what we are going to be discussing today. So, let’s begin.
How Open Source Licensing Came to Be?
You would be surprised to know that the origins of open source licensing can be traced back to a consent decree issued by the United States Government. Yup, you read it right. This was back in the late 60s and early 70s, when the Unix operating system was emerging, being the first general purpose operating system.
The US government barred AT&T, the founders of Unix, from engaging in any commercial activity outside of their primary field of operations, which was telephone services. So, what did AT&T do? It did the next best thing, given the decree.
Making Unix a commercial software was out of the question. So, AT&T gave away its source code to be modified and shared. Of course, this was done under a set of terms and guidelines, but computer scientists of that period didn’t mind that, nor would the computer scientists of today mind it. This open source code made Unix extremely popular.
If we look at this scenario carefully, it is essentially an open source license by definition. Let’s see how.
So, what is an open source license?
Open source licensing is a system that dictates the terms and conditions of the use, modifications and distribution of the software code by people other than the originator of the software. It essentially includes the permissions and rights that would be required to use or repurpose the code for building newer applications with it or adding it into existing projects.
Now, can you possibly tell me that what Unix did was any different? I don’t think so.
Open source software licenses indeed go back to the late 60s, however, its more formal use was witnessed in the 90s with the introduction the GNU project thanks to Richard Stallman. He later created the GNU GPL license. The terms of this license were that anyone could redistribute software, provided that the source code was open and not as secret.
Then with the advent and popularity of the Linux operating system and its adoption of the GNU GPL license, open source licensing became the norm.
According to the Open Source Initiative, today there are about 80 approved open source licenses. And you yourself can create one for your software, the Open Source Initiative would make you go through its license review process. You can very well do it, however, not many would recommend it.
So, in essence open source licenses are contracts for open source projects, which are as legal as they are binding, between the authors of the software and the people who would use its components.
To highlight the importance of an open source license, I’d say that it is these that actually make software development become aligned with open source. Without an open source license, the software cannot be used and redistributed by anyone, despite the fact that its source code is publicly available. And they are similar in cost as compared to OSS, so, when asking, are open source licenses free, the answer is yes, much like the software itself.
How are Open Source Licenses Distinguished?
Now that the meaning of open source licenses is explained, let’s move further along. What started out as a single license by Stallman has become a standard practice in the open source community. I mentioned earlier that there are about 80 open source licenses available today, however, if these were to be categorised, you would only be able to get two. And these two mark the distinction in the form and application of the said licenses.
And here are the open source licenses by category:
Permissive Licenses
Upon looking at the definition of the term permissive, you’d find words like liberal, excessive freedom, non-restrictive and my favourite, open--minded. And these words just about define the scope of these licenses.
As their name implies, the permissive open source licenses provide more freedom to use, to modify and to redistribute software. You can do anything you want, even using the software for proprietary purposes is not off the table.
The only aspect on which these licenses have a restriction on the acknowledgement of the author. What this means is that you have to adhere to the copyright notice and keep that in place when you are distributing your own software. As long as you do that, anything goes here. Even if you do not want to share the source code of the modifications, it is totally alright.
Copyleft Licenses
As far as free softwrae licenses go, copyleft license is at an 180 degree angle from permissive. If one is the North Pole, the other is the South Pole.
Why?
It is because, while permissive licenses boast freedom and liberty, copyleft licenses are the epitome of restrictions. When a copyleft license is issued on a program, other developers can use it, modify it and redistribute it, however, the redistribution has to be aligned with the copyleft license terms. This means the modified program has to make the source code publicly available, just like the original program. And there is no going about it.
The GNU GPL license, now on its third version, is the paradigm here. Stallman did not appreciate companies using his software and then closing it off as proprietary. And that is what this license prevents.
So, what happens when a proprietary software uses a program with a copyleft license in its source code?
It would have to make it public and possibly release the entire software royalty-free, since it would be under the stringent terms of the copyleft license. The risk of exposing your intellectual property comes inherent in these licenses.
Furthermore, you cannot place any more restrictions on the licensee’s way of exercising his license. You could say that the phrase, anything goes, doesn’t come close to the definition of a copyleft license.
Let’s Look at Some of the Popular Open Source Licenses
After the categories of open source licenses, the next thing to know is the licenses that have been issued under them. I wouldn’t be talking about all 80 of the licenses approved by OSI, that would take ages for me to write and you’d get bored halfway through the read. So, I have a list of 9 of the most used open source licenses.
So, let’s begin looking at open source license examples based on the category they fall under.
Permissive licenses
Apache 2.0
Being a liberal license, the Apache license 2.0 allows the freedom of using, modifying and distributing any of its products. The requirement here is to include the license notifications and copyrights on the distributed code or like a notice in the software itself or both.
Under this license's terms of service, it is not mandatory to release its source code upon distribution, be it a derivative work, a larger project or basic modifications. All of these can carry different licensing terms.
MIT
The simplest type of license of them all, named after the famous university, it’ll only take me a single sentence to explain it. MIT license is the license that allows you to do anything with the original code, with no restrictions on distributions, as long as you keep the original copyright and license notice in the distributed source code or software.
Berkeley Software Distribution
The BSD license, like the other two permissive licenses, lets you freely modify and distribute the software contingent upon you keeping the copyright notice, following the list of conditions along with the disclaimer.
It has three categories to it;
- The 4-clause BSD was the original and first BSD license and had an advertising clause and a non-endorsement clause;
- The 3-clause BSD was the modified version without the advertising clause;
- And the 2-clause BSD, also known as FreeBSD, further removed the non-endorsement clause, making it almost similar to MIT in simplicity and use.
Copyleft licenses
GNU GPL
GNU General Public License is by far one of the most popular open source licenses, being associated with the free software foundation, and pioneer of the copyleft licenses, being the first one to be OSI approved,. It was established to prevent your software from becoming proprietary.
The GNU GPL license states that any software using a GPL component, despite its proportion of use, has to make its source code publicly available upon distributing. You are going to be passing on the same rights you received through the license to the person adopting your software, meaning if your source code is in the public domain, anyone using your component has to do the same. This makes the GPL license the strongest copyleft version.
At present, GPLv3 is the version that is being widely adopted.
Affero GPL
You would think that the GPL license must be full-proof without any loopholes, but there is one. The GNU GPL license only works when the software developed using a GPL component gets distributed. However, when the same is made available over a network, there aren’t going to be any red flags.
To counter this predicament, the Affero GPL license comes in, it essentially monitors the distribution over networks, even remote ones, and sends the right alerts to the GPL license. This makes the AGPL quite important for many.
Lesser GPL
The LGPL license is another variant of the GNU GPL license. There aren’t any more loopholes that it would cover up. It offers much the same license notifications and copyright protection. The only difference here is the size of a project can change the license terms.
For explanation, a smaller project under a larger project would not have to comply with the larger project’s licensing terms. And a smaller project accessed as part of a larger project would not be asked to share the source code of the larger project. I’d say LGPL makes the GPL licenses seem a little liberal.
Mozilla Public License
The MPL, maintained by the Mozilla Foundation, is as liberal a copyleft license as they come. The reason lies in its distribution protocol. As a copyleft license, the MPL does mandate that the modified code of its component be made public, however, this public sharing is only applicable to the modifications that have the licensed components and not the entire software. The stipulation is to store the MPL code in separate files and make that openly available.
The license is compatible with GNU GPL, given its enforced copyright notices and patent grants. Nonetheless, it is often considered to be a balance between permissive and copyleft licenses.
Common Development and Distribution License
Often referred to as the cleaned up version of the MPL, CDDL has much the same attributes of the former. Given the fact that it was inspired by MPL, that comes as no surprise.
Upon distributing the software in executable form, it is mandatory that you make the source code available. However, if your contributions aren’t part of the original software and are separate files, you are not required to make it public by releasing it under CDDL. A lot similar to MPL, right?
With this license, you will have the liberty to modify and distribute the original or derivative works of any CDDL software. The only stipulations are on changes to copyright, patent or trademark notices of the software along with keeping on the contributor acknowledgements and license notices.
Eclipse Public License
Founded by the Eclipse Foundation, the EPL has certain requirements on the distribution of an EPL component. However, these vary given the circumstance of the modified code’s distribution patterns.
- Modifying and distributing an EPL component in the source code of your project mandates you to disclose the modified code under the EPL;
- While modifying the and distributing the same in the form of object code would mandate you to make the code available upon request. Further, you would also be asked to disclose the way in which the source code can be requested.
What is more is that individual program components, including EPL, non-EPL and proprietary code, can be clubbed together and sub-licensed. All you would have to do for that is ensure that the non-EPL elements are separate objects.
A Quick Look at Open Source License Example Through Drupal
Is Drupal free to use? Yes, it is.
Is Drupal free for commercial use? Yes, it is.
Why?
Drupal is an open source CMS, that is why. And to call itself open source, it had to be registered under a license. And of course, it is. Drupal is licensed under GNU GPL Version 2 or later. All the contributed files that are hosted on Drupal.org are licensed under the same.
You can freely download, reuse, modify and redistribute any component of a Drupal.org project under the terms of the GPL license, that we talked about earlier. The core software on Drupal can also be run and licensed in combination with a version 2 or 3 compatible license. Saying that Drupal projects can very well depend on or be linked to GPL incompatible non-code assets, however this relies on the maintainer possessing the rights to distribute the non-code assets.
Let’s now look at the specific aspects of Drupal and how they are licensed.
- The files, be it PHP, JavaScript or images, being a part of a Drupal project are licensed under the license as Drupal.
- The modules and themes are considered derivative works and so are to be distributed under the GPL version 2 or 3.
- The content, however, is licensed under the Creative Commons Attribution-ShareAlike 2.0.
- The sample code follows the same GPL licensing terms.
Considering all of these, who would you guess holds the copyright of the code in Drupal?
The answer is its hundreds and thousands of contributors, who agree to release their code under the same license. However, if a contributor has created a patch, but isn’t willing to license it under the GPL, he should probably not submit it and the point of retaining a copyright on the same would be moot.
Learn more about open source here:
Perks of being an open source contributor
Impact of large enterprises on open source
Open source leadership
How open source remains recession-free
Impact of open source during Covid-19 pandemic
Diversity, equity and inclusion in open source
Open source security
Conclusion
When I started writing this blog, I considered the copyleft licenses to be rigid and unattractive. However, realising that its pioneer is the license behind Drupal made me change my perspective. Drupal has helped a community of close to a million come together and build and distribute their work and that would not have been possible or even beneficial, had the source code not been publicly available.
So, open source licenses as per their meaning can be liberal and rigid, but I personally feel that the rigidness serves more purpose than the liberty ever could.
Subscribe
Related Blogs
DrupalCon Singapore: It’s A Wind Up For 2024
OpenSense Labs team attended the DrupalCon Singapore 2024 and it was a wonderful and valuable experience, especially since it…
Drupal SDC: Advantages of Single Directory Components
What if one solution could organize website UI components, make them easy to reuse in different projects, ensure consistency…
Drupal 11 Upgrade: Checklist For Drupal 7 to 11 Migration
Drupal 10 was released in December 2022, and Drupal 11 upgrade arrived in just a year and a half. Drupal 11 came out early,…