License Guides
Eight articles covering the concepts you need when choosing and applying a license.
01What Is Copyleft?The meaning and mechanics of copyleft, the differences between strong copyleft (GPL), weak copyleft (LGPL, MPL, EPL) and network copyleft (AGPL), when obligations arise and common misconceptions.02Permissive vs Copyleft: Which to ChooseCompares permissive licenses such as MIT and Apache with copyleft licenses such as the GPL, LGPL and MPL by goal, ecosystem and usage, with a checklist to review before deciding on a license.03What Code Without a License MeansPublic code without a license file has all rights reserved by its copyright holder by default. Learn what GitHub's terms allow, what to do if you want to use such code, and how to add a license to your own repository.04Dual (Multi) LicensingThe two types of dual licensing, which offer one codebase under two or more licenses, what the SPDX expressions OR, AND and WITH mean, why a CLA is needed, and what to watch out for.05SPDX Identifiers and File HeadersHow to write SPDX-License-Identifier and SPDX-FileCopyrightText headers, deprecated identifiers (GPL-2.0 → GPL-2.0-only), the license field in package metadata, and the REUSE specification.06GPL "only" vs "or later"What the GPL's "or any later version" wording means, why the Linux kernel sticks with GPL-2.0-only, why GPL-2.0-only and GPL-3.0 are incompatible, and how to choose.07License Compatibility BasicsWhat license compatibility is, why it only works in one direction, and a summary of common pairs: Apache-2.0 and the GPL, MPL-2.0 Secondary Licenses, LGPL linking conditions and combining with the AGPL.08A Practical Guide to Applying a LicenseThe actual steps for applying a license to a repository: the LICENSE file, copyright year and holder, Apache NOTICE, the GNU COPYING convention, file headers, third-party notices, DCO and CLA, and what to watch when changing licenses.