Strong copyleft

GNU General Public License v3.0

A strong copyleft requiring the entire program distributed in combination to be released with source under the GPL. Adds a patent grant and an installation information clause.

SPDXGPL-3.0-onlyGPL-3.0-or-later

Permissions, conditions and limitations at a glance

Permissions

  • Commercial useThe software and derivatives may be used for commercial purposes.
  • ModificationThe software may be modified.
  • DistributionThe software may be distributed.
  • Patent useContributors expressly grant patent rights.
  • Private useThe software may be used and modified privately without publishing it.

Conditions

  • License and copyright noticeA copy of the license and the copyright notice must be included when distributing.
  • State changesChanges made to the original must be indicated.
  • Disclose sourceSource code must be made available when distributing.
  • Same licenseModifications and derivatives must be distributed under the same (or a compatible) license.

Limitations

  • LiabilityExpressly states that there is no liability for damages.
  • WarrantyExpressly states that no warranty is provided.

Permissions, conditions and limitations are classified using data from choosealicense.com (GitHub, MIT License).

What kind of license is it?

The GPL (GNU General Public License) 3.0 was published by the Free Software Foundation (FSF) on June 29, 2007. Its core is the copyleft principle: anyone may freely use, study, modify and distribute the software, but when distributing, they must guarantee the same freedoms to recipients. If you distribute a program that includes or is combined with this code, you must provide the entire program under the GPL together with the corresponding source code. GNU Bash, GIMP and GNU Emacs, among others, use GPL-3.0-or-later.

Changes from GPL-2.0

What you must do when distributing

Common misconceptions

How to apply it

Put the text unchanged in LICENSE (or COPYING, following GNU convention) and attach the official GNU notice to the top of each source file. The notice determines whether "or later" applies. Use the SPDX identifier GPL-3.0-only or GPL-3.0-or-later (plain GPL-3.0 is a deprecated SPDX identifier).

When it fits

It suits applications, tools and community projects where you want improvements based on your code to come back to everyone rather than escape into closed products. For a library, also consider LGPL-3.0 so that closed-source apps can use it.

Can GPL-3.0 code go into another project?

General verdicts for taking code released under this license and distributing it combined into a project under each license below. See other combinations in the compatibility checker →

Target projectVerdictNotes
Proprietary (closed-source) software Not allowedThe entire combined program would have to be released with source under the same GNU license, so it cannot be included while keeping the project's license.
MIT Not allowedThe entire combined program would have to be released with source under the same GNU license, so it cannot be included while keeping the project's license.
Apache-2.0 Not allowedThe entire combined program would have to be released with source under the same GNU license, so it cannot be included while keeping the project's license.
MPL-2.0 Not allowedThe entire combined program would have to be released with source under the same GNU license, so it cannot be included while keeping the project's license.
LGPL-2.1 Allowed with conditionsThe combined work must be distributed under GPL-3.0 terms.
LGPL-3.0 Allowed with conditionsThe combined work must be distributed under GPL-3.0 terms.
GPL-2.0 Not allowedVersion 3.0 code is incompatible with the terms of GPL-2.0 (only) and cannot be included.
AGPL-3.0 AllowedGPL-3.0 and AGPL-3.0 each permit combination in their Section 13. In the combined work, the AGPL part's obligation to provide source over a network remains.

The content on this site is general information, not legal advice. For actual distribution, contracts or disputes, consult a lawyer or other qualified professional.