The General Public License (GPL) is one of the most widely used free software licenses, which guarantees end users the freedom to run, study, share, and modify the software. It’s sometimes referred to as a “copyleft” license because it requires that derivatives of GPL-licensed software also be licensed under the GPL. Here’s an overview:

Origin:

  • The GPL was created by Richard Stallman in 1989 for the GNU Project, which aimed to develop a free UNIX-like operating system (the GNU OS).

Key Freedoms:

The GPL grants users the following freedoms:

  • Run: Users can run the software for any purpose.
  • Study: Users can study how the software works and adapt it to their needs.
  • Redistribute: Users can redistribute copies of the software.
  • Modify: Users can improve the software and release their improvements to the public.

Copyleft Principle:

  • While users are free to modify and distribute GPL-licensed software, they must also license their derivatives under the GPL. This ensures that subsequent recipients also enjoy the same freedoms.

Versions:

  • There are three versions of the GPL:
    • GPLv1: The original version released in 1989.
    • GPLv2: Released in 1991, this version clarified some ambiguities and became widely adopted.
    • GPLv3: Released in 2007, this version addressed concerns related to patent litigation and compatibility with other licenses. It also introduced provisions related to hardware restrictions (tivoization) and digital rights management (DRM).

Lesser GPL (LGPL):

  • A variant of the GPL, the LGPL (originally called the Library GPL) allows software libraries to be linked with non-GPL software, making it more permissive in certain contexts.

Adoption:

  • Many significant software projects are licensed under the GPL, including the Linux kernel, the GNU Compiler Collection (GCC), and the GNOME desktop environment.

Implications:

  • Companies and developers that use or integrate GPL-licensed software in their projects need to be aware of the license’s requirements. Failure to comply can result in legal consequences.

Benefits:

  • The GPL promotes the sharing of software and knowledge. It ensures that software, and any modifications to it, remain open and free for all to use, modify, and redistribute.

Criticism:

  • Some developers and companies feel that the GPL’s copyleft nature is too restrictive, especially when it comes to integrating GPL software with proprietary software.

In summary, the GPL is a cornerstone of the free and open-source software movement. It prioritizes user freedoms and aims to create a world where software is free from proprietary restrictions. Those using or considering the GPL for their projects should understand its requirements and implications fully.