Ruby gems annoyance – GPL’ed libraries

I tend not to be much of a license bigot, and think that they all have their places, but GPL’ed libraries are annoying, especially when they’ve been “blessed” by being inserted into an official repository like Ruby’s gems. Consider:

  1. A big, large stand-alone application, like…Linux, for instance. I can see why people might GPL it – because there is a very real risk of someone “taking it proprietary” (or was – these days the comunity is too big and too fast to compete with). So I can understand the use of the GPL there.

  2. 200 lines of library code. There is no way anyone is going to “take it proprietary” and make any money off it. Even incorporated into some proprietary application, it’s not going to make or break it. So, if it’s GPL’ed, those working on proprietary software won’t use it. If, on the other hand it uses a liberal license, then they can use it, and if they’re smart, they’ll contribute back any improvements to it.

I suppose that in case 2, someone might still GPL the code if their goal is solely to keep it out of the hands of proprietary developers, even at the cost of having less utilized and contributed to free code, but it’s not an optimal strategy otherwise.

The problem that I’ve stumbled upon is that Ruby’s Gem repository is full of randomly licensed code, including lots of GPL stuff. At the very least, this information ought to be very visible so that it’s possible to weed out any GPL’ed libraries. At best, the Ruby guys would only accept MIT/BSD licensed code for the standard repository.

This is something that’s done well in the Tcl community. Tcl is BSD licensed, and so is everything that surrounds it. Sure, people at times consciously decide to GPL their applications, but that’s their right, and it’s much easier to understand than some tiny bit of random code that one might like to use for some particular function in an application.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s