Understanding Open Source Licenses and Drupal Licenses

Comprensión de las licencias de código abierto y de las licencias de Drupal

Imagine there is a project that only one person is working on. All the developments and challenges will be carried out and overcome by that person. No one can say that the project will not be successful.

Now compared to the previous project, think for a second. This one has a lot of people working on it. Solutions do not come from a single brain, but from many expert brains. 

So if we had to judge the success rates of these two projects, which one would you bet on? For many, the answer would be the second project with a massive team of experts, who would be able to find more solutions and developments than a single person.

Open source software is a platform where one person creates a software and other developers have the opportunity to read its source code, use it, modify it and redistribute it with the modifications. Open source software makes it possible for people to come together and make magic with their intellect and skills.

However, with that kind of freedom in development, there are often times when people, after modifying an open source code, turn it into proprietary software. Sometimes, an open source developer wouldn’t mind, but there is also a chance that they feel misused. To overcome such scenarios, a solution was thought of and that is what we are going to discuss today. Let’s get started.

How did open source licenses come about?

Image time

You might be surprised to learn that the origins of open source licensing can be traced back to a consent decree issued by the United States government. Yes, you read that right. This was in the late 60s and early 70s, when the Unix operating system was just emerging, being the first general-purpose operating system. 

The US government banned AT&T, the founders of Unix, from engaging in any commercial activity outside of its primary field of operations, which was telephone services. So what did AT&T do? It did the best it could do, given the decree. 

Making Unix 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 care about that, nor do computer scientists today. This open source code made Unix extremely popular. 

If we look at this scenario closely, it is essentially an open source license by definition. Let's see how.

So what is an open source license?

Open source licenses are a system that dictates the terms and conditions of use, modification, and distribution of software code by people other than the creator of the software. Basically, it includes the permissions and rights that would be required to use or reuse the code to create newer applications with it or add it to existing projects.

Now, can you tell me what Unix did was different? I don't think so. 

In fact, open source software licenses date back to the late 1960s, however, their more formal use was witnessed in the 1990s with the introduction of the GNU project thanks to Richard Stallman. He later created the GNU GPL license. The terms of this license were that anyone could redistribute the software, as long as the source code was open and not secret.

Then, with the advent and popularity of the Linux operating system and its adoption of the GNU GPL license, open source licenses became the norm.

According to the Open Source Initiative, there are around 80 approved open source licenses today. And you can create one for your software yourself, the Open Source Initiative would have you go through their license review process. You can do it very well, 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 would say that it is these that really bring software development into line with open source. Without an open source license, the software cannot be used or redistributed by anyone, even though its source code is publicly available. And they have a similar cost compared to OSS, so when asking if open source licenses are free, the answer is yes, as is the software itself.

How are open source licenses distinguished?

Now that the meaning of open source licenses is explained, let's move further. What started as a one-time Stallman license has become standard practice in the open source community. As mentioned above there are around 80 open source licenses currently available, however, if you sort them out, you could only get two. And these two mark the distinction in the form and application of said licenses.

And here are the open source licenses by category:

Image licenses

Permissive licenses 

When you look at the definition of the term permissive, you will find words like liberal, excessive freedom, unrestrictive, and my favorite, open-minded. And these words almost define the scope of these licenses. 

As the name suggests, permissive open source licenses provide more freedom to use, modify, and redistribute the software. You can do whatever you want, even using the software for proprietary purposes is not out of the question.

The only aspect in which these licenses have a restriction is the acknowledgment of the author. What this means is that you must comply with the copyright notice and keep it in place when you distribute your own software. As long as you do that, anything goes here. Even if you don't want to share the source code of the mods, that's totally fine.

Copyleft licenses 

As far as free software licenses go, the copyleft license is at a 180-degree angle to the permissive one. If one is the North Pole, the other is the South Pole. 

Because?

It's because, while permissive licenses boast freedom and liberty, copyleft licenses are the epitome of restrictions. When a program is issued a copyleft license, other developers can use it, modify it, and redistribute it, however, the redistribution must be aligned with the terms of the copyleft license. This means that the modified program has to make the source code publicly available, just like the original program. And there is no way to do it. 

The GNU GPL license, now in its third version, is the paradigm here. Stallman didn't appreciate companies using his software and then shutting him down as the owner. And that is what this license prevents.

So what happens when proprietary software uses a program with a copyleft license in its source code? 

You would have to make it public and possibly release all the software royalty-free, as it would be under the strict terms of the copyleft license. The risk of exposing your intellectual property is inherent in these licenses.

Additionally, it cannot impose further restrictions on how the licensee exercises his or her license. You could say that the phrase, anything goes, does not come close to the definition of a copyleft license.

Permissive licenses 

White Image

Apache 2.0

Being a liberal license, the Apache 2.0 license allows the freedom to use, modify and distribute any of its products. The requirement here is to include the license and copyright notices in the distributed code or as a notice in the software itself or both. 

Under the terms of service of this license, you are not required to publish your source code at the time of distribution, whether it is a derivative work, a larger project, or basic modifications. All of these may have different license terms. 

M.I.T.

The simplest type of license of all, named after the famous university, will only take me one sentence to explain. The 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 license and copyright notice in the source code or distributed software.

Berkeley Software Distribution

The BSD license, like the other two permissive licenses, allows you to freely modify and distribute the software provided that you keep the copyright notice, follow the list of conditions along with the disclaimer. 

It has three categories; 

  • The 4-clause BSD was the first and original BSD license and had both a publicity 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 usage.

Copyleft licenses

Black Image

The GNU General Public License is by far one of the most popular open source licenses, as it is associated with the foundation of free software and is a pioneer in copyleft licenses, being the first to be approved by the OSI. It was established to prevent its software from becoming proprietary. 

The GNU GPL license states that any software that uses a GPL component, regardless of its usage rate, must make its source code available to the public upon distribution. You will pass the same rights you received through the license to the person who adopts your software, which means that if your source code is in the public domain, anyone who uses your component has to do the same. This makes the GPL license the strongest copyleft version.

Currently, GPLv3 is the version that is being widely adopted.

Affero GPL

You would think that the GPL license should be complete and loophole-free, but there is one. The GNU GPL license only works when software developed with a GPL component is distributed. However, when the same is made available over a network, there will be no red flags. 

To counter this situation comes the Affero GPL license, which basically monitors distribution over networks, even remote ones, and sends the correct alerts to the GPL license. This makes the AGPL quite important for many.

Lower GPL 

The LGPL license is another variant of the GNU GPL license. There are no more gaps I would cover. It offers virtually the same license notices and copyright protection. The only difference here is that the size of a project can change the license terms. 

As an explanation, a smaller project under a larger project would not have to comply with the larger project's license terms. And a smaller project that is accessed as part of a larger project will not be asked to share the source code of the larger project. I would say that LGPL makes the GPL licenses seem a bit 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 requires that your component's modified code be made public; However, this public sharing only applies to modifications that have licensed components and not to all software. The stipulation is to store the MPL code in separate files and make it openly available.

The license is compatible with the GNU GPL, given its mandatory copyright notices and patent grants. However, it is often considered a compromise between permissive and copyleft licenses. 

Common development and distribution license

Often known as the clean version of MPL, CDDL has the same attributes as the former. Given the fact that it was inspired by MPL, that's no surprise. 

When distributing software in executable form, you are required to make the source code available. However, if your contributions are not part of the original software and are separate files, you do not need to make it public by releasing it under CDDL. Pretty similar to MPL, right?

With this license, you will be free to modify and distribute the original or derivative works of any CDDL software. The only provisions are changes to the software's copyright, patent, or trademark notices, along with maintenance of contributor acknowledgments and license notices.

Eclipse Public License 

Founded by the Eclipse Foundation, the EPL has certain requirements regarding the distribution of an EPL component. However, these vary given the circumstance of the distribution patterns of the modified code. 

  • Modifying and distributing an EPL component in your project's source code requires you to disclose the modified code under the EPL;
  • While modifying and distributing the same in object code form would require you to make the code available on request. Additionally, you will also be asked to reveal how the source code can be requested. 

Additionally, individual program components, including EPL, non-EPL, and proprietary code, may be bundled and sublicensed. All you would have to do for that is make sure the non-EPL elements are separate objects.

A quick look at the open source license example via Drupal

Is Drupal free to use? Yes it is.

Is Drupal free for commercial use? Yes it is.

Because? 

Drupal is an open source CMS, that's why. And to call itself open source, it had to be registered under a license. And of course it is. Drupal is licensed under the GNU GPL Version 2 or later. All contributed files hosted on Drupal.org have the same license. 

You can freely download, reuse, modify and redistribute any component of a Drupal.org project under the terms of the GPL license, which we talked about above. The core Drupal software can also be run and licensed in combination with a version 2 or 3 compliant license. Saying that Drupal projects can depend on or be linked to GPL-incompatible no-code assets, however, this depends on the maintainer has the rights to distribute the assets without code.

Let's now look at the specifics of Drupal and how it is licensed. 

  • Files, whether PHP, JavaScript, or images, that are part of a Drupal project are licensed under the Drupal license.
  • Modules and topics are considered derivative works and will therefore be distributed under the GPL version 2 or 3. 
  • However, the content is licensed under Creative Commons Attribution-ShareAlike 2.0.
  • The sample code follows the same GPL license terms.

Given all this, who do you think has the copyright to 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 is not willing to license it under the GPL, they probably shouldn't submit it and the point of retaining copyright on it would be moot. 

Conclusion 

Drupal has helped a community of close to a million come together, build and distribute their work and that would not have been possible or even beneficial if the source code had not been publicly available. 

So, open source licenses by their meaning can be liberal and rigid, but I personally feel that rigidity serves more purposes than freedom. 

Taken and translated from: https://opensenselabs.com/blog/articles/understanding-open-source-licenses-and-what-drupals-licensed-under