Skip to Main Content
Ask A Librarian

Open Licenses for sharing your work

Balancing the rights of creators and users. Open licenses grant users some permissions to use and distribute a work, permission not granted by the default "all rights reserved" of copyright.

GNU-General Public License (GPL)

GNU General Public License (GNU GPL or simply GPL) is a family of CopyLeft software licenses that guarantee end users the right to run, study, share, and modify software. The licenses were originally written by Richard Stallman, founder of the Free Software Foundation (FSF), GNU Project, and were released in 1989.

As CopyLeft licenses, any derivative work must be distributed under the same or equivalent license terms. This is significantly different then permissive licenses like the BSD and MIT Licenses. 


GNU-General Public License 3 (GNU-GPLv3) is a copyleft software license developed by the Free Software Foundation (FSF) and released in June of 2007. One of the reasons that FSF released GPLv3, is an attempt to clarify what constitutions a "work based on another work" which triggers the licenses copyleft obligations to share the new software under the terms of the GPLv3 license.

FSF also increased compatibility between the GPLv3 and other licenses. This was important because in order to combine two codes into a larger work, both programs must permit that combination. 

The GPLv3 has been designed to permit increased usage outside of the United States. The License terms were rewritten to attempt to ensure that international laws will interpret the license as FSF intends. GPLv3 also permits developers to add local disclaimers to account for variations in national copyright laws.

GNU GPL License Terms

The GNU GPLv.3 full license terms are quite lengthy and detailed and you should consider reading them fully if you are using the GNU GPLv.3 license for any significant project or attempting to integrate code licensed under the GLPv.3 license into your existing projects.

The basic terms of the license permit users to run, study, share, and modify software. Any publicly released code requires that the source code also be made publicly available under the same or substantially similar terms as the original license.

GNU GPLv3 Compatibility

GNU GPL licenses have significant compatibility issues even between versions of the GPL license. For example GPLv2 is, by itself, not compatible with GPLv3. As we have also seen some version of permissive licenses such as the BSD 4-clause license are not compatible with GPLv.3 or require that any combined derivative code be released under the GPLv.3 license as is the case with derivative works created combining GPLv.3 and Apache 2.0 licensed code. has a compatibility chart and additional commentary for the different versions of GPL. GNU also has additional compatibility and commentary about the use of other licenses with the GNU-GPL family of licenses.