In my previous articles, I examined the history of open source and Linux, as well as providing an explanation about the key points surrounding open source projects. This article attempts to examine the different license provisions that are available for open source developments and projects.
Before continuing to read this article, I recommend reading my previous article which explains the differences between free and open source software (URL provided below).
There has always been a lot of confusion about the term ‘license’ when it came to explaining the provision of software and other similar forms of intellectual property (including audio and music, video, images and written content). Many software application and operating systems actually provides the user with an end user license agreement (EULA) which allows for the installation and use of the package.
As far as many proprietary operating systems (ie. Microsoft Windows and Apple Mac OS) and software applications (ie. Microsoft Office, Adobe Acrobat, Skype, various antivirus applications and most games) are concerned, the user does not purchase the actual product but instead, purchases a EULA that entitles the user the ability to install and use of the product. This EULA may further restrict the user from creating duplications of the product, installing the product on multiple devices or further modifying the product to suite the user individual needs and requirements.
As I summarised within the previous article (What is Free and Open Source Software), open source software (OSS) licenses generally allow for the freedom to modify, adapt, redistribute and provide the source code to the product. This form of licensing can be considered as a form of copyleft. Which, unlike copyright conditions, allows for the above conditions to be undertaken by the end user.
There are a number of different types of OSS EULAs, each with it own set of permissions, conditions and limitations. These EULAs include:
GNU General Public License (GNU / GPL v3)
This license agreement allows for modification, copying (redistribution) and can be used to provide the work for a fee (as long as there is documentation that provides information about how to attain the work and / or source code for free).
The conditions of this license must allow for the disclosure of the source code of the licensed software (which must include a copy of the EULA documentation) and must include a change log (ie. document that provide the history of changes and version modifications).
This agreement provides software without warranty or liability of the original developer.
GNU Lesser General Public License (GNU / LGPL v3)
This variant grants fewer rights then the GNU / GPL and is generally used when the work uses third party non-GPL or proprietary libraries and software.
This EULA requires any other work that is used with other open source license agreements to include their own EULA documentation or statements.
GNU / LGPL can include third party proprietary libraries which can include their own EULA statements.
GNU Affero General Public License (GNU / AGPL v3)
The GNU / AGPL is similar to the GNU / GPL agreement but also includes a specific requirement for server based works.
This extra requirement requires the user to publish their changes even if they are only using the work for their own use. The requirement is used within works that provide server based functions or facilities.
As an example, if an administrator of a website uses a web based framework (such as Joomla, Wordpress or Nextcloud) and then modifies the code of that framework (even if the framework is only used within one host or site), they must provide access to the full source code, which must include the modifications. This requirement is especially useful for developers of SAAS cloud based works (software as a service – for more information about cloud service and provisions, refer to my Cloud Computing article), which allows the original developer to view and include the changed source code to later versions of the work.
The main difference between the Apache license and the previous EULAs is that when a user modifies the source code of a work, it is not necessary to release the modified version of the source code.
Also, this EULA does implicitly not grant trademark rights to the modifier of the source code
Mozilla License (version 2)
This EULA allows works to be release under similar conditions as is provided by the previously mentioned GNU / GPL agreements, and can be used in conjunction with either the above GPL, AGPL or LGPL licenses but also allows for proprietary binaries (ie. executable files and pre-compiled libraries), as long as the source code of the binaries are included.
This license is different in scope due to allowing the original developer to distribute the work and allow the next user to create modifications to the code but also allows the original developer to does not obligate the succeeding user or developer to redistribute the resulting code.
Therefore a successor developer can produce modifications from previously public released code but does not need to provide their modified code back to the public sphere.
Creative Commons License
The creative commons EULA is generally more suitable for creative works such as audio and music, images, video content, articles and other forms of written material.
This license agreement is provided in various variations, each of these variations have slightly different conditions and limitations attributed to the agreement.
This variant allows the author or owner of a work to waive all copyrights and other related right (including any moral rights, publicity or privacy rights, rights against unfair competition and any rights that protect the extraction, dissemination and reuse of data or content.
Unless expressly stated otherwise, the owner of the work provides no warranties about the work, and disclaims liability for all uses of the work.
• Attribution-ShareAlike (CC BY-SA)
The CC BY-SA agreement allows other users to modify and add to the work, it also includes a right for others to use the work for any (including commercial) purpose.
This variant is generally used by Wikipedia and other similar projects.
• Attribution-NoDerivs (CC BY-ND)
This variant allows for the redistribution of a work either for commercial or non-commerical, as long as the work does not contain any modification and is left as is (without changes).
• Attribution-NonCommercial (CC BY-NC)
This variant allows for the redistribution of a work which can be modified and added to but can not be used for commercial purposes
• Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)
The CC BY-NC-AS agreement is similar to the CC BY-SA variant but does not allow the work to be used for commercial purposes.
• Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)
The CC BY-NC-ND variant requires that the work is not modified or added to and can not be used for commercial purposes.
The attribution part of all of the above variants (with the exception of the CC0 agreement) requires the work to be credited to the original owner.
Choosing the right EULA for an open source project or creative work is an important factor and must be considered before releasing the project or work to the wider community.
As demonstrated above, there are many licensing options to choose from and whilst some are more restrictive then other agreements, they all promote some measure of transparency and openness.
Most of the agreements allow for the redistribution of projects and creative works. Many of these also allow for the modification and forking of existing projects.
References & Other Resources:
* Standard Open Source End User License Agreements
* Creative Commons End User License Agreements
* CC0 'No Copyright Reserved' License Agreement
* Wikipedia: Comparison of Free and Open Source Licenses
* What is Free and Open Source Software
* Open Source, GNU, Linux Kernel and the Free Software Foundation
* Cloud Computing
* Technology and Open Source Blog