Copyleft and the GNU General Public License

Copyleft and the
GNU General Public License:

A Comprehensive Tutorial
and Guide

Copyright © 2014 Bradley M. Kuhn.
Copyright © 2014 Anthony K. Sebro, Jr.
Copyright © 2014 Denver Gingerich
Copyright © 2003–2007, 2014   Free Software Foundation, Inc.
Copyright © 2008 Software Freedom Law Center.

The copyright holders hereby grant the freedom to copy, modify, convey, Adapt, and/or redistribute this work 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.

Each part of this book, except the appendix, is separately under this same license, but copyrighted by different entities at different times. Each part therefore also contains its own copyright and licensing notice. The notice above is for the entire work, and includes the full copyright and licensing details, except for the appendix.

The appendix includes 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.

Patches are welcome to this material. Sources can be found in the Git repository at: https://gitorious.org/gpl-compliance-tools/tutorial/

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 §7: “Give Software Liberty or Give It Death!”
7.5 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 Distribution of the Combined Works
10.9 And the Rest
11 Integrating the GPL into Business Practices
11.1 Using GPL’d Software In-House
11.2 Business Models
11.3 Ongoing Compliance
II  A Practical Guide to GPL Compliance
Executive Summary
12 Background
13 Best Practices to Avoid Common Violations
13.1 Evaluate License Applicability
13.2 Monitor Software Acquisition
13.3 Track Your Changes and Releases
13.4 Avoid the “Build Guru”
14 Details of Compliant Distribution
14.1 Binary Distribution Permission
14.2 Preparing Corresponding Source
14.3 Best Practices and Corresponding Source
15 When The Letter Comes
15.1 Understanding Who’s Enforcing
15.2 Communication Is Key
15.3 Termination
16 Standard Requests
17 Special Topics in Compliance
17.1 LGPL Compliance
17.2 Upstream Providers
17.3 User Products and Installation Information
18 Conclusion
III  Case Studies in GPL Enforcement
Preface
19 Overview of Community Enforcement
19.1 Termination Begins Enforcement
19.2 Ongoing Violations
19.3 How are Violations Discovered?
19.4 First Contact
20 ThinkPenguin Wireless Router: Excellent CCS
20.1 Consumer Purchase and Unboxing
20.2 Root Filesystem and Kernel Compilation
20.3 U-Boot Compilation
20.4 Root Filesystem and Kernel Installation
20.5 U-Boot Installation
20.6 Firmware Comparison
20.7 Minor Annoyances
20.8 Lessons Learned
21 Bortez: Modified GCC SDK
21.1 Facts
21.2 Lessons
22 Bracken: a Minor Violation in a GNU/Linux Distribution
22.1 The Facts
22.2 Lessons Learned
23 Vigorien: Security, Export Controls, and GPL Compliance
23.1 The Facts
23.2 Lessons Learned
24 Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices
24.1 The Facts
24.2 Lessons Learned
IV  Full Texts of the GNU GPL and Related Licenses
A The GNU General Public License, version 2
Appendix: How to Apply These Terms to Your New Programs
B The GNU Lesser General Public License, version 2.1
How to Apply These Terms to Your New Libraries
C The GNU General Public License, version 3
D The Affero General Public License, version 3

Leave a Reply

Your email address will not be published. Required fields are marked *