GNU General Public License

From Pulsed Media Wiki
Revision as of 09:54, 5 May 2025 by Gallogeta (talk | contribs) (Created page with "The '''GNU General Public License''' ('''GPL''') is a widely used free software license that guarantees end users the freedom to run, study, share (co...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The GNU General Public License (GPL) is a widely used free software license that guarantees end users the freedom to run, study, share (copy and redistribute), and modify the software. It was originally written by Richard Stallman, founder of the Free Software Foundation (FSF), for the GNU Project.

The GPL is the first general Copyleft license. Copyleft is a licensing strategy that uses Copyright law to remove restrictions on the distribution and modification of software, while requiring that all modified versions and derivative works be licensed under the same terms. This ensures that free software, and its modifications, remain free.

Overview

The main goal of the GPL is to protect and promote the "four freedoms" for users of software. It aims to prevent software from being turned into proprietary software that restricts users' rights. It achieves this by applying the rules of copyright in a specific way: anyone distributing copies of GPL-licensed software, or distributing software based on it, must also provide the recipients with the source code and the same freedoms granted by the GPL.

The license is designed to apply to virtually any software program. It is commonly used for the Linux kernel and many programs that are part of GNU/Linux distributions.

The Four Freedoms

The GPL is based on the definition of free software as defined by the Free Software Foundation, which grants users these four essential freedoms when they receive a copy of GPL-licensed software:

  • Freedom 0: The freedom to run the program as you wish, for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish. Access to the Source code is a precondition for this.
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
  • Freedom 3: The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the Source code is a precondition for this.

Copyleft Principle

The distinguishing feature of the GPL is its Copyleft clause. When you receive software under the GPL, you are free to use, study, modify, and redistribute it. However, if you distribute copies of the software, or distribute a derivative work based on it (a program that incorporates or is based on the GPL'd code), you must distribute it under the same GPL terms. This includes making the corresponding Source code available to the recipients.

This prevents developers from taking GPL'd free software, modifying it, and then distributing the modified version as restrictive proprietary software. Copyleft ensures that the core freedoms propagate to derivative works. This is in contrast to permissive licenses (like the MIT License or BSD licenses) which allow derivative works to be distributed under proprietary terms.

Key Requirements for Distribution

When you distribute software licensed under the GPL, you must:

  • Provide the recipient with a copy of the GPL license text.
  • Provide the recipient with access to the complete corresponding Source code.
  • Ensure that the distributed software (including any modifications or derivative works you distribute) is licensed under the terms of the GPL.
  • Do not impose any additional restrictions on the recipients' exercise of the four freedoms granted by the GPL.

You are generally allowed to charge a fee for distributing GPL-licensed software, but you cannot charge a fee for the license itself or prevent recipients from obtaining the software or its source code elsewhere for free.

Versions

The GNU General Public License has been published in several versions:

  • GPLv1 (1989): The initial version.
  • GPLv2 (1991): A widely used version that clarified some terms and addressed issues from v1. Many projects still use GPLv2.
  • GPLv3 (2007): The current major version. It was developed to address issues arising from the proliferation of digital rights management (DRM), software patents, and other legal challenges that had emerged since the publication of GPLv2. GPLv3 aims to provide stronger protection against these threats to user freedoms.

Software licensed under "GPL version 2 or later" allows users to choose either the terms of GPLv2 or any subsequent version published by the FSF.

Significance and Impact

The GPL has been instrumental in the growth and success of the free software movement. It provides a strong legal framework that protects the core principles of software freedom and encourages collaboration by ensuring that contributions to GPL-licensed software benefit the entire community. Many fundamental pieces of free software infrastructure, including the Linux kernel, the GNU Compiler Collection (GCC), and many core GNU Project utilities, are licensed under the GPL.

See also