March 9, 2017

Open Source licensing

This is a broad topic. Entire books have been written on it. No doubt there are intellectual property lawyers you have careers that are built on expertise in this area. At this time, I have a number of open source projects (including Kyu) licensed under the GPL version 2.

Why license

Licensing is protecting you (or me in this case) from something. It is good to ask what.

I am willing to "give away" my software, so you might ask, "why license it at all?". In a perfect world there would be no reason to. What can happen without a license is that someone else can take your work, slap their own license on it, and then (especially if they have money) send their lawyers after me. Indeed, I am told that such things happen.

Apart from this, I am an enthusiastic supporter of free software. Yes, I know it is called "open source" these days, but I am an old timer. I believe the world is a better place when information and ideas are shared rather than hoarded. If someone else wants to keep their software private and make money doing they, that is certainly up to them. Each person is free to choose any license that they want.

Any discussion of this rapidly gets into the world of legal issues and intellectual property law. A couple of things are worth bearing in mind. First, the law is not about logic and in some sense not really about right and wrong. The law is about what laws are on the books and even more importantly about what court decisions have already been made on a given issue. This business of leaning on prior decisions is what is called "stare decisis". A cynical viewpoint is that it is a conspiracy among lawyers to avoid ever contradicting one another. The main point here is that the legal world is almost certainly not how and what you think it is.


A famous quote by Pablo Picasso is that:
“good artists borrow, great artists steal”
GPL and open source is all about just this. Why recreate the wheel? Just maintain licenses and proper attribution and dive in. Copying without attribution however, is just plain old plagarism.

If you intend to publish books, apparently other issues can arise, but I am not an intellectual property lawyer, so you will have to look into these details yourself if this affects you.

I think this is a great quote. Apparently Steve Jobs of Apple Computer admired it also, or used to, then went on to aggressively confront anyone perceived of stealing ideas from Apple computer. A fascinating story, but one that drifts off the current topic.

Why GPL v2 and not GPL v3

There are significant differences between these two licenses. You should take note that Linux is licensed under GPL v2 and emphatically not under GPL v3. In fact if you look at a recent copy of the linux kernel source you will find the license in the file "COPYING". It is very careful to state that a specific version of the GPL v2 from 1991 applies to the linux kernel and not GPL v2.2 or any other version.

You would be well served to read or listen to what Linus Torvalds has to say about all of this. If nothing else, Mr. Torvalds is an outspoken individual and a lot of fun to listen to. I find that I agree with virtually all of his conclusions, but your mileage may vary.

The GPL v3 seems to have been crafted to address the issue of "tivoization". In summary, Tivo hardware runs software licensed under the GPL v2, but uses digital signatures to prevent you from modifying the software. The FSF thinks this is wrong and has crafted the GPL v3 to prevent this. The accusation is made that the FSF has been sneaky about this, though I doubt if any alert lawyers have been fooled. Torvalds does not mind at all, all he wants is an exchange of ideas and to receive back any additions or improvements.

Alternatives to the GPL

Not to put some kind of license on your software is foolish. Oddly enough, the Github links above make no mention of GPL v2.

If you believe the statistics in the first article, the most popular license for new projects these days is the MIT license. I can't help but wonder if the issues raised by the GPL v3 are at the root of this trend.

Changing the license

Apparently you can re-release software under a new and different license any time you like. There can be sticky issues if collaborators have made contributions under a prior license. A recommendation is an agreement with collaborators where they agree to allow the project license to change in the future.

Have any comments? Questions? Drop me a line!

Kyu /