Last yr, I missed the chance to jot down in regards to the 10th anniversary of GPLv3, the third model of the GNU General Public License. GPLv3 was formally launched by the Free Software Foundation (FSF) on June 29, 2007—higher identified in expertise historical past because the date Apple launched the iPhone. Now, one yr later, I really feel some retrospection on GPLv3 is due. For me, a lot of what’s fascinating about GPLv3 goes again considerably additional than 11 years, to the general public drafting course of by which I used to be an energetic participant.
In 2005, following practically a decade of enthusiastic self-immersion in free software program, but having had little open supply authorized expertise to talk of, I used to be employed by Eben Moglen to hitch the Software Freedom Law Center as counsel. SFLC was then outdoors counsel to the FSF, and my position was conceived as specializing in the incipient public section of the GPLv3 drafting course of. This alternative rescued me from a earlier profession flip that I had discovered fairly dissatisfying. Free and open supply software program (FOSS) authorized issues would come to be my new specialty, one which I discovered fascinating, gratifying, and intellectually rewarding. My work at SFLC, and notably the trial by hearth that was my work on GPLv3, served as my on-the-job coaching.
GPLv3 have to be understood because the product of an earlier period of FOSS, the contours of which can be tough for some to think about in the present day. By the start of the general public drafting course of in 2006, Linux and open supply have been not virtually synonymous, as they may have been for informal observers a number of years earlier, however the connection was a lot nearer than it’s now.
Reflecting the profound influence that Linux was already having on the expertise business, everybody assumed GPL model 2 was the dominant open supply licensing mannequin. We have been seeing the ultimate shakeout of a Cambrian explosion of open supply (and pseudo-open supply) enterprise fashions. A frothy business-fueled hype surrounded open supply (for me most memorably typified by the Open Source Business Conference) that bears little resemblance to the present-day embrace of open supply improvement by the software program engineering career. Microsoft, with its increasing patent portfolio and its aggressive opposition to Linux, was generally seen within the FOSS neighborhood as an existential menace, and the SCO litigation had created a cloud of authorized threat round Linux and the GPL that had not fairly dissipated.
That atmosphere essentially made the drafting of GPLv3 a high-stakes affair, unprecedented in free software program historical past. Lawyers at main expertise corporations and prime regulation corporations scrambled for affect over the license, satisfied that GPLv3 was certain to take over and completely reshape open supply and all its huge related enterprise funding.
An identical mindset existed throughout the technical neighborhood; it may be detected within the fears expressed within the remaining paragraph of the Linux kernel builders’ momentous September 2006 denunciation of GPLv3. Those of us near the FSF knew slightly higher, however I feel we assumed the brand new license can be both an awesome success or a convincing failure—the place “success” meant one thing approximating an improve of the prevailing GPLv2 challenge ecosystem to GPLv3, although maybe with out the kernel. The precise final result was one thing within the center.
I’ve no confidence in makes an attempt to measure open supply license adoption, which have in recent times sometimes been used to exhibit a lack of aggressive benefit for copyleft licensing. My personal expertise, which is admittedly distorted by proximity to Linux and my work at Red Hat, means that GPLv3 has loved average recognition as a license alternative for tasks launched since 2007, although most GPLv2 tasks that existed earlier than 2007, together with their post-2007 offshoots, remained on the previous license. (GPLv3’s sibling licenses LGPLv3 and AGPLv3 by no means gained comparable recognition.) Most of the prevailing GPLv2 tasks (with just a few notable exceptions just like the kernel and Busybox) have been licensed as “GPLv2 or any later version.” The technical neighborhood determined early on that “GPLv2 or later” was a politically impartial license alternative that embraced each GPLv2 and GPLv3; this goes some method to clarify why adoption of GPLv3 was considerably gradual and restricted, particularly throughout the Linux neighborhood.
During the GPLv3 drafting course of, some expressed considerations a couple of “balkanized” Linux ecosystem, whether or not due to the overhead of customers having to grasp two completely different, sturdy copyleft licenses or due to GPLv2/GPLv3 incompatibility. These fears turned out to be totally unfounded. Within mainstream server and workstation Linux stacks, the 2 licenses have peacefully coexisted for a decade now. This is partly as a result of such stacks are made up of separate models of sturdy copyleft scope (see my dialogue of related issues in the container setting). As for incompatibility inside models of sturdy copyleft scope, right here, too, the prevalence of “GPLv2 or later” was seen by the technical neighborhood as neatly resolving the theoretical drawback, even though nominal license upgrading of GPLv2-or-later to GPLv3 infrequently occurred.
I’ve alluded to the handwringing that a few of us FOSS license geeks have delivered to the subject of supposed copyleft decline. GPLv3 has taken its share of abuse from critics way back to the start of the general public drafting course of, and a few, predictably, have drawn a hyperlink between GPLv3 particularly and GPL or copyleft disfavor normally.
I’ve considered it considerably otherwise: Largely due to its complexity and baroqueness, GPLv3 was a misplaced alternative to create a robust copyleft license that might attraction very broadly to trendy particular person software program authors and company licensors. I imagine particular person builders in the present day are inclined to favor quick, easy, simple to grasp, minimalist licenses, the obvious instance of which is the MIT License.
Some company decisionmakers round open supply license choice might naturally share that view, whereas others might affiliate some components of GPLv3, such because the patent provisions or the anti-lockdown necessities, as too dangerous or incompatible with their enterprise fashions. The nice irony is that the traits of GPLv3 that fail to draw these teams are there partly due to aware makes an attempt to make the license attraction to those identical kinds of pursuits.
How did GPLv3 come to be so baroque? As I’ve mentioned, GPLv3 was the product of an earlier time, by which FOSS licenses have been considered as the first devices of challenge governance. (Today, we are inclined to affiliate governance with other forms of authorized or quasi-legal instruments, akin to structuring of nonprofit organizations, guidelines round challenge determination making, codes of conduct, and contributor agreements.)
GPLv3, in its drafting, was the excessive level of an optimistic view of FOSS licenses as bold means of personal regulation. This was already true of GPLv2, however GPLv3 took issues additional by addressing intimately quite a lot of new coverage issues—software program patents, anti-circumvention legal guidelines, gadget lockdown. That was certain to make the license longer and extra advanced than GPLv2, because the FSF and SFLC famous apologetically within the first GPLv3 rationale document.
But quite a lot of different elements at play within the drafting of GPLv3 unintentionally precipitated the complexity of the license to develop. Lawyers representing distributors’ and industrial customers’ pursuits offered helpful solutions for enhancements from a authorized and industrial perspective, however these typically took the type of making merely worded provisions extra verbose, arguably with out internet will increase in readability. Responses to suggestions from the technical neighborhood, sometimes figuring out loopholes in license provisions, had an identical impact.
The GPLv3 drafters additionally famously bought entangled in a short-term political disaster—the controversial Microsoft/Novell deal of 2006—ensuing within the everlasting addition of latest and weird circumstances within the patent part of the license, which arguably served little objective after 2007 apart from to make license compliance more durable for conscientious patent-holding distributors. Of course, among the complexity in GPLv3 was merely the product of well-intended makes an attempt to make compliance simpler, particularly for neighborhood challenge builders, or to codify FSF interpretive observe. Finally, one can take situation with the model of language utilized in GPLv3, a lot of which had a high quality of playful parody or mockery of standard software program license legalese; an easier, easy type of phrasing would in lots of circumstances have been an enchancment.
The complexity of GPLv3 and the motion in direction of preferring brevity and ease in license drafting and unambitious license coverage targets meant that the substantive textual content of GPLv3 would have little direct affect on later FOSS authorized drafting. But, as I famous with shock and delight again in 2012, MPL 2.zero tailored two components of GPLv3: the 30-day remedy and 60-day repose language from the GPLv3 termination provision, and the reassurance that downstream upgrading to a later license model provides no new obligations on upstream licensors.
The GPLv3 remedy language has come to have a serious influence, notably over the previous yr. Following the Software Freedom Conservancy’s promulgation, with the FSF’s help, of the Principles of Community-Oriented GPL Enforcement, which requires extending GPLv3 remedy alternatives to GPLv2 violations, the Linux Foundation Technical Advisory Board revealed a statement, endorsed by over 100 Linux kernel builders, which contains verbatim the remedy language of GPLv3. This in flip was adopted by a Red Hat-led collection of corporate commitments to increase the GPLv3 remedy provisions to GPLv2 and LGPLv2.x noncompliance, a marketing campaign to get particular person open supply builders to increase the identical dedication, and an announcement by Red Hat that henceforth GPLv2 and LGPLv2.x tasks it leads will use the dedication language straight in challenge repositories. I mentioned these developments in a current blog post.
One lasting contribution of GPLv3 considerations modified expectations for the way revisions of widely-used FOSS licenses are carried out. It is not acceptable for such licenses to be revised totally in personal, with out alternative for remark from the neighborhood and with out efforts to seek the advice of key stakeholders. The drafting of MPL 2.zero and, extra just lately, EPL 2.zero displays this new norm.