Matthew Garrett ([personal profile] mjg59) wrote2012-02-09 05:08 pm
Entry tags:

Is GPL usage really declining?

Matthew Aslett wrote about how the proportion of projects released under GPL-like licenses appears to be declining, at least as far as various sets of figures go. But what does that actually mean? In absolute terms, GPL use has increased - any change isn't down to GPL projects transitioning over to liberal licenses. But an increasing number of new projects are being released under liberal licenses. Why is that?

The figures from Black Duck aren't a great help here, because they tell us very little about the software they're looking at. FLOSSmole is rather more interesting. I pulled the license figures from a few sites and found the following proportion of GPLed projects:

RubyForge: ~30%
Google Code: ~50%
Launchpad: ~70%

I've left the numbers rough because there's various uncertainties - should proprietary licenses be included in the numbers, is CC Sharealike enough like the GPL to count it there, that kind of thing. But what's clear is that these three sites have massively different levels of GPL use, and it's not hard to imagine why. They all attract different types of developer. The RubyForge figures are obviously going to be heavily influenced by Ruby developers, and that (handwavily) implies more of a bias towards web developers than the general developer population. Launchpad, on the other hand, is going to have a closer association with people with an Ubuntu background - it's probably more representative of Linux developers. Google Code? The 50% figure is the closest to the 56.8% figure that Black Duck give, so it's probably representative of the more general development community.

The impression gained from this is that the probability of you using one of the GPL licenses is influenced by the community that you're part of. And it's not a huge leap to believe that an increasing number of developers are targeting the web, and the web development community has never been especially attached to the GPL. It's not hard to see why - the benefits of the GPL vanish pretty much entirely when you're never actually obliged to distribute the code, and while Affero attempts to compensate from that it also constrains your UI and deployment model. No matter how strong a believer in Copyleft you are, the web makes it difficult for users to take any advantage of the freedoms you'd want to offer. It's as easy not to bother.
So it's pretty unsurprising that an increase in web development would be associated with a decrease in the proportion of projects licensed under the GPL.

This obviously isn't a rigorous analysis. I have very little hard evidence to back up my assumptions. But nor does anyone who claims that the change is because the FSF alienated the community during GPLv3 development. I'd be fascinated to see someone spend some time comparing project type with license use and trying to come up with a more convincing argument.

(Raw data from FLOSSmole: Howison, J., Conklin, M., & Crowston, K. (2006). FLOSSmole: A collaborative repository for FLOSS research data and analyses. International Journal of Information Technology and Web Engineering, 1(3), 17–26.)


(Anonymous) 2012-02-10 02:16 pm (UTC)(link)
I think a more important aspect than the fact that Rubyforge hosts a lot of web projects is that Rubyforge hosts *Ruby projects*.

Ruby itself is dual-licensed under the Ruby License and the BSD license. To fit in well with the Ruby ecosystem, it only makes sense to use either of these licenses in your own works. The same is true for Launchpad - since it hosts a lot of Ubuntu stuff and Linux's (and Canonical's) license of choice is GPL, of course most projects that want to "play nice" in this ecosystem are going to follow suit.

If you took a look at the module hosting, you'd get 100% GPL licensed modules, because Drupal actually requires contributions to be placed under this license ( and also q7)

People using GPL for extensions in a project that itself is BSD licensed is obnoxious (it does happen). The other way around wouldn't make much sense (if it is allowed at all); if your extension is BSD-licensed and the main project is GPL-licensed, people using your code are almost by definition also using the other project, so they are already bound to the terms of the GPL, which means you're adding no extra restrictions by releasing your code under the GPL.

Also, people tend to choose projects based on their personal preferences. If someone is using a GPL project, that's probably because they don't have a problem with it and will probably release their own code under the same license. For BSD, it's the same (people avoiding the GPL will end up using a BSD-licensed project), but there will also be people who prefer free software and choose the BSD-licensed project over its competitors for its features. They could still intend to release their own code under the GPL.

All this is assuming that more people who prefer BSD dislike using GPL code but people who prefer GPL don't necessarily dislike using BSD code (even if they prefer using GPL for their own code), and that people who don't care try to fit into the ecosystem of their platform by choosing a license that matches that of the platform.
ext_772067: (Default)

Re: Ecosystems

[identity profile] 2012-02-11 12:59 pm (UTC)(link)
You write: “if your extension is BSD-licensed and the main project is GPL-licensed, people using your code are almost by definition also using the other project, so they are already bound to the terms of the GPL, which means you're adding no extra restrictions by releasing your code under the GPL.”

This is wrong. You assume that people making a derived work of “your extension” are going to make another extension to a GPL’d “main project”. That is so totally forgetting the not rare case of people just taking one method or something from the code and using it in something totally different, because they see it, like it, it fits their needs, etc. and because the BSD’d extension is not a derived work of the GPL’d main project, this is possible.

And it saves 17K (or even 34K) in the source tarball ;-) not to mention political reasons (when being in the BSD camp, which I am).

I think it’s like this: the GPL is a weapon to create a free-as-in-RMS ecosystem by force. The BSD/MIT/… licences encourage code reuse without force. (People not giving back to BSD-ish licenced projects are pitied. Even Google publishes the source code of the non-GPL-parts of Android. People “turning” a BSD-ish licenced project into a copyleft-licenced one are frowned MUCH more than people just not releasing the source code of their derivate, as that counts as teasing and hurts.)
reddragdiva: (Default)

Re: Ecosystems

[personal profile] reddragdiva 2012-02-11 09:40 pm (UTC)(link)
"the GPL is a weapon to create a free-as-in-RMS ecosystem by force."

If I were looking for a particularly entitled usage of the word "force" ...

Re: Ecosystems

(Anonymous) 2012-02-13 01:47 pm (UTC)(link)
I use many open source libraries and contribute to some of them. I NEVER, EVER use anything GPL-lisenced, not even when I could. LGPL is the minimum, GPL just creates mindless boundary conditions and it is really good to see that many library creators are moving away from this madness.

The most used and successful libraries today have their license LGPL-style, giving a chance also for commercial usage usually brings back contribution and feedback from that side. And it is really nothing taken away from non-commercial users, quite opposite, win-win for everybody.

Maybe GPL is ok, when it is about a full, working application, but it is a total fIasco if applied to a library.