Example text

The GPL was written by Richard Stallman in 1989, for use with programs released as part of the GNU project. The original GPL was based on a unification of similar licenses used for early versions of GNU Emacs (1985), the GNU Debugger, and the GNU C Compiler. These licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license. Stallman’s goal was to produce one license that could be used for any project, thus making it possible for many projects to share code.

Terms and conditions

The terms and conditions of the GPL must be made available to anybody receiving a copy of the work that has a GPL applied to it (“the licensee”). Any licensee who adheres to the terms and conditions is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee is allowed to charge a fee for this service, or do this free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. The FSF argues that free software should not place restrictions on commercial use, and the GPL explicitly states that GPL works may be sold at any price.

Communicating and bundling with non-GPL programs

The mere act of communicating with other programs does not, by itself, require all software to be GPL; nor does distributing GPL software with non-GPL software. However, minor conditions must be followed that ensures the rights of GPL software is not restricted. The following is a quote from the gnu.org GPL FAQ, which describes to what extent software is allowed to communicate with and be bundled with GPL programs:

An “aggregate” consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are non-free or GPL-incompatible. The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that each program’s individual license would grant them.

Compatibility and multi-licensing

Code licensed under several other licenses can be combined with a program under the GPL without conflict, as long as the combination of restrictions on the work as a whole does not put any additional restrictions beyond what GPL allows. In addition to the regular terms of the GPL, there are additional restrictions and permissions one can apply:

  1. If a user wants to combine code licensed under different versions of GPL, then this is only allowed if the code with the earlier GPL version includes an “or any later version” statement. For instance, the GPLv3 licensed GNU LibreDWG library can’t be used anymore by LibreCAD and FreeCAD who have GPLv2 only dependencies.
  2. Code licensed under LGPL is permitted to be linked with any other code no matter what license that code has, though the LGPL does add additional requirements for the combined work. LGPLv3 and GPLv2-only can thus commonly not be linked, as the combined Code work would add additional LGPLv3 requirements on top of the GPLv2-only licensed software. Code licensed under LGPLv2.x without the “any later version” statement can be relicensed if the whole combined work is licensed to GPLv2 or GPLv3.

FSF maintains a list of GPL-compatible free software licenses containing many of the most common free software licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form), and the Artistic License 2.0.

See also

  • Free and open-source software portal
  • Anti-copyright
  • Dual-licensing
  • European Union Public Licence (EUPL)
  • GPL font exception
  • GPL linking exception
  • List of software licenses
  • Permissive and copyleft licenses
  • Category:Software using the GPL license

Any Custom Code

You can use the next custom CSS for this

In the site dashboard:

  1. Go to the page ‘Appearance’->’Customize’
  2. Click ‘Additional CSS’
  3. Add CSS code
  4. Click ‘Published’