Copyleft and the
GNU General Public License:

A Comprehensive Tutorial
and Guide

Copyright 2018 Chestek Legal.

Copyright 2003–2005, 2008, 2014–2015, 2018 Bradley M. Kuhn.

Copyright 2014–2015 Anthony K. Sebro, Jr.

Copyright 2014 Denver Gingerich.

Copyright 2003–2007, 2014 Free Software Foundation, Inc.

Copyright 2008, 2014 Software Freedom Law Center.

The copyright holders grant the freedom to copy, modify, convey, adapt, and/or redistribute this work (except Appendices�BE) under the terms of the Creative Commons Attribution Share Alike 4.0 International License. A copy of that license is available at https://creativecommons.org/licenses/by-_sa/4.0/legalcode.

Appendices�BE include copies of the texts of various licenses published by the FSF, and they are all licensed under the license, “Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.”. However, those who seek to make modified versions of those licenses should note the explanation given in the GPL FAQ.

As a public, collaborative project, this Guide is primarily composed of the many contributions received via its public contribution process. Please review its Git logs for full documentation of all contributions, and Appendix�A contains a list of third-party works from which some material herein was adapted.

The most recent version is available online at https://copyleft.org/guide/. Patches are indeed welcome to this material. Sources can be found in the Git repository at https://k.copyleft.org/guide/.

Contents
Preface
I��Detailed Analysis of the GNU GPL and Related Licenses
1 What Is Software Freedom?
1.1 The Free Software Definition
1.2 How Does Software Become Free?
1.3 A Community of Equality
2 A Tale of Two Copyleft Licenses
2.1 Historical Motivations for the General Public License
2.2 Proto-GPLs And Their Impact
2.3 The GNU General Public License, Version 1
2.4 The GNU General Public License, Version 2
2.5 The GNU General Public License, Version 3
2.6 The Innovation of Optional “Or Any Later” Version
2.7 Complexities of Two Simultaneously Popular Copylefts
3 Running Software and Verbatim Copying
3.1 GPLv2�0: Freedom to Run
3.2 GPLv2�1: Verbatim Copying
4 Derivative Works: Statute and Case Law
4.1 The Copyright Act
4.2 Abstraction, Filtration, Comparison Test
4.3 Analytic Dissection Test
4.4 No Protection for “Methods of Operation”
4.5 No Test Yet Adopted
4.6 Cases Applying Software Derivative Work Analysis
4.7 How Much Do Derivative Works Matter?
5 Modified Source and Binary Distribution
5.1 GPLv2�2: Share and Share Alike
5.2 GPLv2�3: Producing Binaries
6 GPL’s Implied Patent Grant
7 Defending Freedom on Many Fronts
7.1 GPLv2�4: Termination on Violation
7.2 GPLv2�5: Acceptance, Copyright Style
7.3 GPLv2�6: GPL, My One and Only
7.4 GPLv2 Irrevocability
7.5 GPLv2�7: “Give Software Liberty or Give It Death!”
7.6 GPLv2�8: Excluding Problematic Jurisdictions
8 Odds, Ends, and Absolutely No Warranty
8.1 GPLv2�9: FSF as Stewards of GPL
8.2 GPLv2�10: Relicensing Permitted
8.3 GPLv2�11: No Warranty
8.4 GPLv2�12: Limitation of Liability
9 GPL Version 3
9.1 Understanding GPLv3 As An Upgraded GPLv2
9.2 GPLv3�0: Giving In On “Defined Terms”
9.3 GPLv3�1: Understanding CCS
9.4 GPLv3�2: Basic Permissions
9.5 GPLv3’s views on DRM and Device Lock-Down
9.6 GPLv3�3: What Hath DMCA Wrought
9.7 GPLv3�4: Verbatim Copying
9.8 GPLv3�5: Modified Source
9.9 GPLv3�6: Non-Source and Corresponding Source
9.10 GPLv3�7: Understanding License Compatibility
9.11 GPLv3�8: A Lighter Termination
9.12 GPLv3�9: Acceptance
9.13 GPLv3�10: Explicit Downstream License
9.14 GPLv3�11: Explicit Patent Licensing
9.15 GPLv3�12: Familiar as GPLv2�7
9.16 GPLv3�13: The Great Affero Compromise
9.17 GPLv3�14: So, When’s GPLv4?
9.18 GPLv3�15–17: Warranty Disclaimers and Liability Limitation
10 The Lesser GPL
10.1 The First LGPL’d Program
10.2 What’s the Same?
10.3 Additions to the Preamble
10.4 An Application: A Work that Uses the Library
10.5 The Library, and Works Based On It
10.6 Subtleties in Defining the Application
10.7 LGPLv2.1�6 & LGPLv2.1�5: Combining the Works
10.8 Distributing Works Based On the Library
10.9 And the Rest
11 LGPLv3
11.1 Section 0: Additional Definitions
11.2 LGPLv3�1: Exception to GPLv3�3
11.3 LGPLv3�2: Conveying Modified Versions
11.4 LGPLv3�3: Object Code Incorporating Material from Library Header Files
11.5 LGPLv3�4: Combined Works
12 Integrating the GPL into Business Practices
12.1 Using GPL’d Software In-House
12.2 Business Models
12.3 Ongoing Compliance
II��A Practical Guide to GPL Compliance
Executive Summary
13 Background
13.1 Who Has Compliance Obligations?
13.2 What Are The Risks of Non-Compliance?
13.3 Understanding Who’s Enforcing
14 Best Practices to Avoid Common Violations
14.1 Evaluate License Applicability
14.2 Monitor Software Acquisition
14.3 Track Your Changes and Releases
14.4 Avoid the “Build Guru”
15 Details of Compliant Distribution
15.1 Binary Distribution Permission
15.2 Preparing Corresponding Source
15.3 Best Practices and Corresponding Source
15.4 Non-Technical Compliance Issues
15.5 Self-Assessment of Compliance
16 When The Letter Comes
16.1 Communication Is Key
16.2 Termination
17 Standard Requests
18 Special Topics in Compliance
18.1 LGPL Compliance
18.2 Upstream Providers
18.3 Mergers and Acquisitions
18.4 User Products and Installation Information
18.5 Beware The Consultant in Enforcers’ Clothing
19 Conclusion
III��Case Studies in GPL Enforcement
Preface
20 Overview of Community Enforcement
20.1 Termination Begins Enforcement
20.2 Ongoing Violations
20.3 How are Violations Discovered?
20.4 First Contact
21 ThinkPenguin Wireless Router: Excellent CCS
21.1 Consumer Purchase and Unboxing
21.2 Root Filesystem and Kernel Compilation
21.3 U-Boot Compilation
21.4 Root Filesystem and Kernel Installation
21.5 U-Boot Installation
21.6 Firmware Comparison
21.7 Minor Annoyances
21.8 Lessons Learned
22 Bortez: Modified GCC SDK
22.1 Facts
22.2 Lessons
23 Bracken: a Minor Violation in a GNU/Linux Distribution
23.1 The Facts
23.2 Lessons Learned
24 Vigorien: Security, Export Controls, and GPL Compliance
24.1 The Facts
24.2 Lessons Learned
25 Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices
25.1 The Facts
25.2 Lessons Learned
IV��Appendices
A Citations of Incorporated Material from Other Published Works
B The GNU General Public License, version 2
Appendix: How to Apply These Terms to Your New Programs
C The GNU Lesser General Public License, version 2.1
How to Apply These Terms to Your New Libraries
D The GNU General Public License, version 3
E The Affero General Public License, version 3