a2ally™ Sign up

What is the difference between GPL-2.0 and GPL-3.0?

Last updated

TL;DR: GPL-3.0 code shipped commercially: Yes. Both are strong copyleft licenses; GPL-3.0 adds an explicit patent grant, anti-tivoization rules and compatibility with Apache-2.0.

Is gPL-3.0 code shipped commercially allowed under GNU General Public License v3.0?

Yes. Every use you described is granted by GPL 3.0, and nothing you described is prohibited.

License: GNU General Public License v3.0 (GPL-3.0-only, curated)

Duties: attribution, license_notice, state_changes, share_alike, source_disclosure

How do GPL-2.0-only and GPL-3.0-only compare?

The table lists each license's duties and notes side by side.

LicenseDutiesNotes
GPL-2.0-onlyattribution, license_notice, state_changes, share_alike, source_disclosureSublicensing is not allowed; every recipient receives a license from the original licensor. Running the software, including as a network service, does not by itself trigger the duty to share source; distributing copies does. GPL-2.0-only code cannot be combined with GPL-3.0 or Apache-2.0 code in one distributed work.
GPL-3.0-onlyattribution, license_notice, state_changes, share_alike, source_disclosureSublicensing is not allowed; every recipient receives a license from the original licensors (sections 2 and 10). Running the software, including as a network service, does not by itself trigger the duty to share source; conveying copies does.

Combined in one work: compatible.

What else should I know?

What are the sources?

How can I check it myself (free, no key)?

{
  "tool": "check_license",
  "arguments": {
    "license": "GPL-3.0-only",
    "intended_use": {
      "commercial_use": true,
      "redistribution": true
    }
  }
}

Computed from a2ally's license profiles; not legal advice. JSON · Markdown

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.a2ally.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export A2ALLY_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.a2ally.com/v1/licenses/check -H "Authorization: Bearer $A2ALLY_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'