Get the latest update on our Vizio court case 



News 

Press Releases  


Press  


Blog  


Vizio Lawsuit in the News  


Our Issues in the News  




About 

Sponsors  


Sustainers  


Board of Directors  


Staff  


Evaluation Committee  


Outside Counsel, et alia  


Transparency  


Contact  




Our Work 

Copyleft Compliance  


We defend and uphold the rights of software users and consumers under copyleft licenses.  

Impact Litigation  


We defend the legal rights of software users. Learn the details, status, and stakes of our court cases.  

Give Up GitHub  


We urge FOSS Developers to Give Up GitHub! Learn why.  

Outreachy  


We offer internships for anyone who faces under­representation, systemic bias, or discrimination in the tech industry.  

FOSSY  


Our annual community-oriented conference focused on the creation and impact of free and open source software.  



Tools 

Member Projects  


We provide non-profit infrastructure and services to our members creating Free/Libre and Open Source Software.  

Use The Source  


Our tool for evaluating the source code candidates companies must provide for GPLed software.  

OpenWrt One  


We designed and built the first ever wireless Internet router designed with software freedom and right to repair in mind.  



Learn 

The Corresponding Source  


A bi-weekly oggcast about legal, policy, and many other issues in the Free, Libre, and Open Source Software (FLOSS) world.   

Glossary of Terms  


A list of terms you might be unfamiliar with but occur frequently in our work.  

FAQ About the Vizio Lawsuit  


Your most frequently asked questions about the Vizio lawsuit, answered in one place.  



Donate 



Software Freedom Conservancy


News 

Press Releases  


Press  


Blog  


Vizio Lawsuit in the News  


Our Issues in the News  




About 

Sponsors  


Sustainers  


Board of Directors  


Staff  


Evaluation Committee  


Outside Counsel, et alia  


Transparency  


Contact  




Our Work 

Copyleft Compliance  


We defend and uphold the rights of software users and consumers under copyleft licenses.  

Impact Litigation  


We defend the legal rights of software users. Learn the details, status, and stakes of our court cases.  

Give Up GitHub  


We urge FOSS Developers to Give Up GitHub! Learn why.  

Outreachy  


We offer internships for anyone who faces under­representation, systemic bias, or discrimination in the tech industry.  

FOSSY  


Our annual community-oriented conference focused on the creation and impact of free and open source software.  



Tools 

Member Projects  


We provide non-profit infrastructure and services to our members creating Free/Libre and Open Source Software.  

Use The Source  


Our tool for evaluating the source code candidates companies must provide for GPLed software.  

OpenWrt One  


We designed and built the first ever wireless Internet router designed with software freedom and right to repair in mind.  



Learn 

The Corresponding Source  


A bi-weekly oggcast about legal, policy, and many other issues in the Free, Libre, and Open Source Software (FLOSS) world.   

Glossary of Terms  


A list of terms you might be unfamiliar with but occur frequently in our work.  

FAQ About the Vizio Lawsuit  


Your most frequently asked questions about the Vizio lawsuit, answered in one place.  



Donate
 



Thanks to so many donors, we met our largest match donation ever of $211,939.  Two generous anonymous donors have provided another $40,012ofadditional matching funds.  Give now to help us reach this stretch goal!
  For only 4 more days, the   next $13,079offinancial support we receive will be matched!  

$26,933 matched!  

$13,079 to go!  



$211,927 fully matched!  








Home / News / Blog


Choosing a GPLv3-termination Backport to GPLv2 (KESAP vs. GPLCC)


byBradley M. Kühn and Karen M. Sandler  on May 11, 2019

About four years ago,  Conservancy (in collaboration with the Free Software Foundation)  published the  Principles of Community-Oriented GPL enforcement. Our goal was to  conduct our enforcement ethically and respectfully, treating today's violators as tomorrow's contributors. Accordingly, the Principles advocate a holistic approach to GPL enforcement that truly seeks to gain  GPL compliance to advance software freedom. We were so happy about the way the Principles assisted the Netfilter team and we were excited that there was  substantial interest in codifying these long standing ad-hoc  Principles into a widely adopted and published consensus.

Ideas in FOSS also have a way of taking on a life of their own; we share our ideas  in the hopes that others will build on them. We have been pleasantly surprised that the last  Principle, Community-oriented compliance processes should extend the  benefit of GPLv3-like termination, even for GPLv2-only works,  received so much interest.

This interest led to two independent initiatives to  backport the GPLv3 termination provisions  by way of  an additional permission  to GPLv2-only-licensed works. Additional  permissions to GPLv2 have been used for various purposes since the early  1990s (such as for  the Bison  exception). Additional permissions grant more leeway  relaxing some requirement of the default license  in an effort to reach some policy goal for the project. In this case, the additional permission softens the strict terms of the GPLv2 termination provisions, which state that any attempt otherwise to copy, modify, sublicense or distribute the Program is  void, and will automatically terminate your rights under this  License. That means permissions under GPLv2 are instantly and permanently lost on even  easily-correctable violations and require reinstatement of permissions by  copyright holders. In contrast, the GPLv3 version gives downstream  violators short time periods to comply and receive automatic  reinstatement of permissions,  via the following  clause:  
If you cease all violation of this License, then your license from a  particular copyright holder is reinstated (a) provisionally, unless and  until the copyright holder explicitly and finally terminates your  license, and (b) permanently, if the copyright holder fails to notify  you of the violation by some reasonable means prior to 60 days after  the cessation. Moreover, your license from a particular copyright  holder is reinstated permanently if the copyright holder notifies you  of the violation by some reasonable means, this is the first time you  have received notice of violation of this License (for any work) from  that copyright holder, and you cure the violation prior to 30 days  after your receipt of the notice.  

This improved policy can indeed be backported to GPLv2 via an  additional permission.

Two Choices


Two efforts over the last year and a half have  implemented these backports. The first released was the  solution now used by the Linux community, which states:
Notwithstanding the termination provisions of the GPL-2.0, we agree  that it is in the best interests of our development community to adopt  the following provisions of GPL-3.0 as additional permissions under our  license with respect to any non-defensive assertion of rights under the  license, However:
 [Quotes GPLv3 termination provisions as above]

We call this sub-document the Kernel Enforcement Statement Additional  Permission (KESAP), as it is published as part of a  larger document named Kernel  Enforcement Statement. (The rest of that document does not contain legally binding  terms.)
 The second effort, inspired by this  KESAP, was released later by  Red Hat, which they call the GPL Cooperation Commitment  (often abbreviated GPL-CC or GPLCC), but which we will call here RHCC to avoid any  confusion with FSF initiatives around the GPL and license drafting, and because to most people in licensing, CC refers to Creative Commons. The  RHCC is  available on github. 

Adopting One of the Additional Permissions


Conservancy finds both documents intriguing and worthy of additional study  and consideration. Moreover, Conservancy has decided that we will adopt  one of these GPLv3-termination-backport provisions for copyrights we hold,  and advocate adoption for other copyrights held by contributors for our  member projects. While we don't demand this of anyone (and won't  make use of such an additional permission mandatory for our GPLv2'd  projects), we make a strong recommendation for use of a  GPLv3-termination-backporting additional permission.

We have for months carefully considered which of the two options is the  best to adopt. This was a difficult decision, since the two are similar  and both have some problematic aspects. While we applaud both the Linux  community and Red Hat for promulgating these useful additional permissions,  on balance we prefer KESAP, and so we are adopting and endorsing KESAP.  Below we discuss our reasons for this choice between the two for those who  wish more detail. Anyone interested can also listen to  episode 0x67 of Free as in Freedom where we discuss these  issues in detail.

Length and Complexity


  KESAP is about half as long as  RHCC. When you remove the direct quote in both documents that come from  GPLv3's text itself (which obviously must be included in both), the RHCC  adds 1,180 words and KESAP adds only 323.

The RHCC is also more complex. It adds  additional defined terms, including redefining We, which is  already a term used in GPLv2's preamble to refer to the FSF. It adds an  irrevocability clause, which is not harmful, but it is unnecessary since  unilaterally granted copyright permissions are generally irrevocable  anyway. Furthermore, given that the word irrevocable doesn't appear  in GPLv2, adding a redundant irrevocable clause  could easily confuse license readers into thinking that  GPLv2 itself is otherwise revocable even while the additional permission is not.

Aggressive Defensive Termination Violates Principles


Our biggest concern with both KESAP and RHCC is that they only apply in non-defensive  situations. This allows copyright holders to fail to provide 30 days for  violators to repair violations when those violators are already aggressors  in some other form of litigation. 

While we are somewhat sympathetic to those who might seek to use GPL enforcement to  retaliate against other bad actions, we believe that even potential bad actors  deserve the benefit of the doubt and the meager 30 days to repair a violation  before facing aggressive enforcement tactics. Furthermore, defensive actions that bring the GPL into  court as part of business dispute otherwise unrelated to free software are also the most likely litigation to generate bad legal precedent regarding the GPL. (Indeed, many of the lawsuits that have already been brought over the GPL are in this category. While so far these have settled out of court, there's no reason to expect that to always happen in the future.) We are disappointed that both sets of drafters feel that copyright holders should hold back this permission in those cases. As the Principles state, we continue to discourage any legal action (defensive or otherwise) against a copyright holder who otherwise  succeeds in producing a compliant GPL'd source release within 30 days of violation notice. We ask Red Hat and the Linux community to also  make this same cure commitment universally, perhaps in an updated version of these additional permissions.

We do note that RHCC is slightly better on this point,  since it does narrow non-defensive via a defined term, but it does not narrow it enough to make a real difference, while also adding additional complexity. Moreover, the text specifically mentions legal proceedings and claims, which draws attention  to the very activities that make nervous copyleft software adopters skittish. 

Additional Permissions Should Not Codify Assent Mechanisms


RHCC has its own orthogonal assent mechanism, based on  the presence of a file in the repository. This assent mechanism, while it seems similar to a traditional inbound=outbound regime,  is actually novel and untested. The mechanism attempts to gain assent based on a specific date of inclusion of the RHCC file  in a repository. Contributors, however, do not necessarily receive any notice of the addition of that file, and therefore their assent is unclear.

For example, imagine a pull request from two levels downstream that waits for merge for months. The modern DVCS-based software  development process allows developers to work indefinitely on a forked copy  of the repository and there is no way to know that the contributor had  a copy of the repository that pre-dated the addition of the file, and they  may not have a copy of the RHCC in their repository. When  all is merged, it will appear that their commit postdated the  addition of the RHCC, but the contributor may be unaware  that the exception is added.

Furthermore, many projects already have licensing assent systems that are  likely incompatible with one that is baked into the RHCC. Indeed, Linux  itself has decided that they cannot make KESAP part of the DCO assent,  since too many Linux developers already believe Signed-Off-By  means assent merely to GPLv2-only-compatible licensing. The RHCC, when  added to a existing project, cannot be adapted to fit a DCO process without  modification of the DCO. Since Signed-Off-By tags rarely  assent specifically to a version of the Project's DCO, RHCC is  incompatible with a DCO-assent-based inbound=outbound assent system.

By contrast, the KESAP is flexible on assent. The entire KES, which  includes the actual additional permission that is the KESAP, asks  contributors to affirmatively assent with a patch that adds their own name  to the file  explicitly indicating assent. Extracted from the KES,  the KESAP text can be combined easily with virtually any assent mechanism  in use in FOSS today. RHCC simply cannot.

Adding KESAP to your project


Linux is the gold standard of frictionless legal assent that is  well-accepted by both individual hobbyists and contributors and corporate  contributions and users alike. Recommending the Linux solution to this  particular GPLv3-termination backport is simply the best way to quickly  promulgate these additional permissions to GPLv2'd projects. We'll be  working over the coming months to encourage, and hopefully assist,  Conservancy's LGPLv2'd and GPLv2'd (or-later) member projects to implement  KESAP. We will also relicense all Conservancy's own GPLv2 (or-later) copyrights to  include the KESAP.

[permalink]

Tags:   conservancy,  GPL,  law,  licensing


Please email any comments on this entry to  info@sfconservancy.org.

Other Conservancy Blog entries


See all blog posts

Blog Index by Year



2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010

Blogs by Tag



conservancy

GPL

supporter

licensing

conferences

law

events

software freedom for everyone

Member Projects

Outreachy

FOSS Sustainability

diversity

resources

Copyleft Conf

ContractPatch

Filings

Godot

Reproducible Builds

Year In Review 2016

fundraiser

CLA

Wine

Year In Review 2015

Kallithea

QEMU

Selenium

Google Summer of Code

Homebrew

inkscape

patent

security

Clojars

Git

Hackfests

Racket

cyborg

phpMyAdmin

pypy

volunteer

Accounting

LibreHealth

Shotwell

inclusion

jQuery

microblocks

sourceware

Blogs by Author



Vladimir Bejdo

Kate Chapman

Pamela Chestek

Denver Gingerich

Bradley M. Kühn and Denver Gingerich

Will Hawkins

Fred Jennings

Deb and Karen

Jeff King

Bradley M. Kühn

Conservancy + Bro LT

Christine Lemmer-Webber

Deb Nicholson

Sourceware PLC

Rick Sanders

Bradley M. Kühn and Karen M. Sandler

Karen Sandler

Tony Sebro

Sage A. Sharp

Brett Smith

Conservancy's Staff

Daniel Takamori

Outreachy Team

Marina Zhurakhinskaya

Molly deBlanc

 







Main Page

Contact

Sponsors

RSS Feed

Donate
 


Software Freedom Conservancy is a 501(c)(3) non-profit charity.
 




Privacy Policy last updated 22 December 2020.
 


This page and its contents are licensed under a Creative Commons Attribution-Share Alike 4.0 International License.