Monday, July 16, 2007

GPLv3: Overwhelming support if you know where to look

My concern is that external viewers of our site see that the numbers “appear” sluggish for GPLv3 adoption. Am I the only one that sees what is happening? Two weeks have passed, 15 days later, one US holiday, two weekends, and we have over 3000 OSS projects that either directly or by choice of the user will now be governed by the GPLv3. I argue that the adoption is fast, consistent with OSS software development release cycles, and representative of what over time will be a large and all encompassing support for the GPLv3 and LGPLv3 licenses, and continued support for the FSF.

Strategic support for GPLv3, and the real meaning of “or later”
GNU and Rubyforge jumped on the GPLv3 bandwagon early. However, Rubyforge was the ONLY one to really do it, or were they?

Rubyforge carefully planned the announcement of new releases for 68 core projects to align with the announcement of the GPLv3 license. This coordination was a clear effort to show strong support for the FSF and the new license. The licensing has a parasitic effect, especially when the core components that Ruby developers use are now GPLv3. Rubyforge’s commitment to being out front with GPLv3 support will drive new contributions to enter the OSS world with similar licensing. The Rubyforge components are core the Ruby development and will clearly have an impact on GPLv3 license adoption over a short time. I am sure we will start to see new projects, or new releases of existing Ruby projects that inherit GPLv3 and LGPLv3 licensing as a direct result of the strategic move made by Rubyforge.

Despite the bluster, GNU support for GPLv3 was not clear and apparent. On July 29th, we only found a handful of projects professing GPLv3 licensing, and the reality was that the links may have been erroneous – a problem that we have all noted ( ). The unseen support for the GPLv3 actually came from FSF and developers support of recommended licensing strategies. Upon the recommendation of the FSF and language embedded within their GPLv2 license, many of the active GNU projects already showed STRONG support for the GPLv3 license. The licenses were worded to state that basically, at the choice of the user of the software, the user could use the software under the existing license, or any GPL license yet to come, otherwise, the “or later” clause ( ). Therefore, very quietly, in the years prior to the announcement of the GPLv3 license, the FSF built a strong constituency of support by encouraging developers and GNU to use the “GPLv2, or later” as a standard licensing clause.

The unseen impact of the “or later” clause means that the day that FSF released the final version of the GPLv3 license, it was supported IMMEDIATELY by almost 3000 projects that at that moment could be licensed under the GPLv3 license. While Rubyforge was strategic in timing the announcement of new GPLv3 releases, some of which may not have been available as anything other than CVS or source checkout, GNU and other FSF supporters in reality rallied quietly by allowing existing releases to be licensed under the GPLv3 the second it was announced.

Lackluster support, or is this a landslide?
Sourceforge lists over 60,000 projects with GPL licensing right now ( ). Third party estimates would have us expecting over 70% of these, or about 40,000 projects, to “convert” to GPLv3. What happened? Nothing. Licensing does not really represent conversion. Licensing is part of the evolutionary process of software development. A new license can be incorporated into a new release like new modules that improve security, connectivity, data parsing and so on. Finally, how many of those 60,000+ GPL projects are truly being actively maintained?

The evolution of a license is not extraordinary. The expectation that 40,000 OSS projects or a reasonable fraction thereof, most of which have no direct funding and nominal staffing, will immediately announce new releases is extraordinary.

While it is interesting to look for that "big bang" of support, where suddenly GPLv3 is everywhere, support in real life is slow, deliberate and pervasive. It does make better headlines to quote big numbers and move on to the next thing, the reality is that the GPLv3 license is an updated tool used in the creation of open source software, and the big numbers of support have been there from the start.

A software developer managing a project may choose to “support” GPLv3, but his support will be reflected with its governance of a specific release. Either, a developer will choose to relicense an existing release. This could cause problems with incompatible code trees for the same code, thereby stifling growth of the project. It could also impact the ability of the developer to provide support and fixes for both code trees identical aside from licensing. From what we have seen in practice, GPLv3 can be supported by a project, but such support is associated to a specific release.

Taking into account that of the 60,000+ projects listed as GPL, perhaps only 30% of these are “active”( ), this gives a clearer picture of what support for GPLv3 should look like ( After allowing for only 30% of current Sourceforge projects to be “active”, and if 70% of these convert to GPLv3 ( , this means that we are really watching 12,600 active GPL projects that may consider GPLv3 licensing. If each of these have 2 significant releases annually on the average, this means that in the next 6 months, half of these projects will have the opportunity to show their support for the GPLv3, and the other half can show their support within six months to follow. Taken further, if there are 6,300 releases over the next 6 months, we would expect to see around 1050 per month. This would translate to around 35 per day in any given month. This week, we added nearly 50 new projects to our GPLv3 list, or almost 10 per day, more than doubling our rate from the week prior, and indicating our increased ability to attract contributed information from developers as well as find new GPLv3 projects. The GPLv3 was announced on July 29th, 15 days ago including a US holiday. Since that time, we started with ZERO and have added nearly 3000 “or later” projects, and over 170 GPLv3 and LPGLv3 projects. While we are not seeing 35 new GPLv3 releases per day yet, the site is new, the license is new, and our current rate is around 10 per day of just GPLv3 projects, or 200 per day including the “or later” projects.

Looking at these numbers, I will make the following closing analogy. Many sources seemed to expected a tidal wave, a torrent to rush in, of GPLv3 early adopters. Considering the reality of software development in the OSS world, small developers are quietly supporting the GPLv3, and such support is visible in the steady river of announced GPLv3 releases that we continue to discover daily. While I may be proven wrong over time, I feel that early estimates were conservative for GPLv3 adoption. I tend to believe that the license, like its predecessor, already is showing signs of strong and sweeping support. Time will tell, but the numbers tell the real story – while everyone fails to see the big wave, if we look down, the river of GPLv3 releases continues to flow at a steady and increasing rate.

Ernie Park

1 comment:

Luis Villa said...

Ernie: it might be helpful for context if you had some data which showed where v3 stands in comparison to other licenses. The raw numbers, without a little bit of context, are hard to grok.

Thanks- appreciate all the work this site reflects.