Yesterday, GitHub announced that it now supports the GPL Cooperation Commitment with 40 other software companies because it aligns with GitHub’s core values.
According to the GitHub post, by supporting this change, GitHub “hopes that this commitment will improve fairness and certainty for users of key projects that the developer ecosystem relies on, including Git and the Linux kernel. More broadly, the GPL Cooperation Commitment provides an example of evolving software regulation to better align with social goals, which is urgently needed as developers and policymakers grapple with the opportunities and risks of the software revolution.”
An effective regulation has an enforcement mechanism that encourages compliance. Here, the most severe penalties for non-compliance, such as shutting down a line of business, would be reserved for repeat and intentional violators. The other less serious failures to comply, or accidental non-compliance may only result in warnings following which the violation should be promptly corrected.
GPL as a private software regulation
The GNU General Public License (GPL) is a tool for a private regulator (copyright holder) to achieve a social goal. The goal can be explained as, “under the license, anyone who receives a covered program has the freedom to run, modify, and share that program.”
However, if a developer wishes to regulate, the GPL version 2 has a bug from the perspective of an effective regulator. Due to this bug, “non-compliance results in termination of the license, with no provision for reinstatement. This further makes the license marginally more useful to copyright ‘trolls’ who want to force companies to pay rather than come into compliance.”
The bug is fixed in the GPL version 3 by introducing a “cure provision” under which a violator can usually have their license reinstated—if the violation is promptly corrected.
Git and the other developer communities including Linux kernel and others use GPLv2 since 1991; many of which are unlikely to ever switch to GPLv3, as this would require agreement from all copyright holders, and not everyone agrees with all of GPLv3’s changes. However, GPLv3’s cure provision is uncontroversial and can be backported to the extent GPLv2 copyright holders agree.
This is how GPL Cooperation Commitment helps
The GPL Cooperation Commitment is a way for a copyright holder to agree to extend GPLv3’s cure provision to all GPLv2 (also LGPLv2 and LGPLv2.1, which have the same bug) licenses offered. This allows violators a fair chance to come into compliance and have their licenses reinstated.
This commitment also incorporates one of several principles (the others do not relate directly to license terms) for enforcing compliance with the GPL and other copyleft licenses as effective private regulation.
To know more about GitHub’s support to the GPL Cooperation Commitment, visit its official blog post.