As a developer, you undoubtedly encounter numerous libraries and software that are licensed under the GPL. In this blog post, we will provide a concise yet informative summary of the GPL license. We will explore what you can and cannot do with software licensed under the GPL, as well as the necessary obligations when utilizing such software.
Historically, the GPL has been the bedrock of Open Source software. Richard Stallman created this license in 1989 for the GNU Project, an initiative focused on developing a free software version of the proprietary UNIX Operating System. The GNU Project has since made a profound impact on the industry. Interestingly, when we say our servers and computers run on “Linux,” it is actually a GNU/Linux system. Linux serves as the kernel, while the GNU Project provides a wealth of software such as Bash and the GNU C library. The comprehensive list of GNU packages boasts popular tools like wget, nano, gcc, gimp, emacs, gtk+, and many more.
It’s important to note that although Android uses the Linux kernel, it does not integrate GNU software and includes proprietary components. Consequently, Android significantly differs from the typical desktop GNU/Linux distributions. Moreover, while the Open Source parts of Android employ the Apache 2.0 License, they do not adhere to the GPL.
Note: This article specifically focuses on the latest version of the GPL license, which is v3. We will highlight key differences distinguishing it from GPL v2 later in the article.
Advantages for Producers of GPL v3 Software
As a producer of software licensed under GPL v3, you cannot be held liable for damages that may arise from the usage of your software. However, you do have the option to provide a warranty for your software. By default, you are not responsible for any liabilities.
Another significant advantage of GPL v3 is that software licensed under it cannot be relicensed under more lenient licenses.
Obligations for Producers of GPL v3 Software
As a producer of GPL software, you must fulfill certain requirements. First and foremost, you must include the full copy of the GPL license version within the distributed package. Additionally, you are required to include your copyright information and a disclaimer of warranty.
If you distribute the executable version of the software, it is mandatory to provide the source code to anyone who requests it.
Moreover, for GPL v3 only, if the software forms part of a consumer device, you must furnish installation instructions that enable users to modify the software, build a binary, and reinstall it.
In the event that you redistribute a modified version of GPL software, you must:
- Include the original version’s copyright details.
- Provide instructions for obtaining the original version.
- Include a comprehensive list of the changes made to the original software.
Advantages for Users of GPL v3 Software
As a user of GPL v3 software, you enjoy considerable freedoms:
- You can utilize GPL software for commercial purposes.
- You can modify the software and create derivative works.
- You can distribute the software and any derivative work without requiring permission or making any payments.
Moreover, GPL v3 offers additional advantages, providing protection against any patents held by contributors of the software you use. This built-in right ensures that no contributor can sue you for utilizing their patented technology.
Disadvantages for Users of GPL v3 Software
Despite the extensive freedoms offered by GPL v3, there are some limitations. Users are prohibited from changing the license of code received under the GPL. While you can introduce modifications to the software, you cannot alter its license to another type. Once software is GPL-licensed, it will always retain that license.