GPL (General Public License) is a free license software that is popularly used across the world. It allows users to study, run, share, and modify the software. This license was originally written by Richard Stallman from the Free Software Foundation for the GNU Project. It first came into being in the month of September of 1983.
Here’s an interesting video – of CyberChimps’ Karthik delivering a talk about GPL
What Does a GPL License Mean?
This GPL license gives the receivers of a computer program the rights about the ‘Free Software Definition.’ It is a copyleft license, which means it allows users to freely distribute copies of modified work, preserving the same rights, but in the end, maintains original copyright conditions.
So while a copyright restricts a user or recipient from reproducing, adapting, or redistributing copies of the original work, copyleft gives every recipient the freedom to reproduce, adapt, and distribute a work, provided any copy and distribution is bound by the same license agreement. Here, one gets extensive rights to modify and redistribute that software. These licenses are in the source code and binary object code form.
Here, ‘free’ does not refer to payment or non-payment, rather it is related to the ‘freedom’ and ‘control’ rights that is passed on to users so that they can run the software, study it, change it, and also share it.
A Prime Example
In all of this, think ‘Linux.’ The Linux kernel was one of the many prominent programs licensed under GPL. What it did was, it gave contributors to the Linux program complete assurance that their efforts would ensure that the software remains free for all to use, rather than being controlled by some software company who would solely enjoy most of the benefits arising out of it.
GPLv1 was released in February 1989. It aimed to make software distributors make available the source code under the licensing terms. It also restricted software being combined with other software that had restrictions on distribution, thus bringing in those restrictions to both the sets of software together.
GPLv2 was released in June 1991 and aimed to make sure that licensees distributed work that did not get caught in any legal obligation, and could completely satisfy all the terms of the GPL under which it was being distributed.
Keeping changing times in mind, as the years went by, this license too needed to be updated. The latest release was in June 2007, the GPLv3, which importantly covered the ‘any later version’ clause. It is important to note that, Linux kernel is licensed under the GPLv2, which does not come with the later version usage binding. GPLv3 had 4 different drafts in around 2007, which covered a range of legalities that included stripping DRM (Digital Rights Management) of its legal value, preventing patent-related agreements, touched upon the problems of geographical limitations, and also made clear the role of outside contractors in software.
To sum it all up in simple terms, if you distribute copies of a program, either for a charge or for free, you have to pass onto the recipients the same freedoms that you received earlier, and also pass on the source code to subsequent users.
Talking About Open Source Licensing
Now this is getting to the more general part but is the same thing as detailed above. An open source license for a computer software or product allows the source code and design to be used, modified, and shared under certain terms. Though these software are most often than not available free of charge, there can be a certain fee attached too. The license allows users modify code as per their needs or when they need to troubleshoot a problem that they face.
This license required that the name of the author and a copyright statement be present in the source code. Such licenses cannot include software that only allows non-commercial redistribution of software that is only meant for personal use.
Choosing an Open Source License
It is important to understand which open source or free software license you can choose for your project. The first thing to check is whether the license has been approved as an open source one by the Open Source Initiative (OSI). Any individual can take a license to the OSI for debate and consideration, and if approved, would be added to their list.
If your aim is to co-develop and collaborate an open source project, and you want to allow any individual or party to do anything at anytime with the software, the 3-clause BSD license is the way to go. Here, there is no copyleft or discussion of patents whatsoever.
In case you feel the need to mention patents and license termination in case of litigation, Apache 2.0 would be your path. These licenses do encourage a complete open sharing environment but were also written keeping in mind corporate needs and the need to cover varying degrees of patents.
Now, if you want that users should be able to build around your software, but that any changes to the core project always remain open source and must be published, the Eclipse Public License is something you should consider.
Just remember that in today’s heavy legal-reliant world, license and copyrights aren’t something simple and easy to understand. For every new person and new situation, there is always the possibility of something new coming up, which can bring in questions like ‘what if this…’ and ‘what if that…’. It is best to take professional legal counseling since many times different jurisdictions can throw up different sets of issues, though this is mostly not the case.
To be approved by the Open Source Initiative, a license has to go through the proper review process that has been set in place by the OSI.