When people write software for open source they almost always chose a license. I guess the question still stands for me as to how most people tend to choose one? I mean, do people really read these things before they use them? For anyone who reads this and has actually written a piece of software then published it as open source, did you actually read through and pick a license or did you just slap on the most popular license you knew of at the time? And, of course, there is always those people who write software and attach their own license to it i.e. the Ruby License or the Falcon Programming Language License. Of all the licenses out there for open source you couldn’t find one that suited your needs? I mean no offense when I say that either. I’m not being rude or sarcastic. It’s a serious question on my behalf that I’ve never seen answered. In light of everything I just mentioned I went out today and looked up a lot of these licenses.
First the GPL(v2 or 3). Have you ever read it? Really read it? Neither have I. I suppose that makes me a hypocrite. On the same hand though sometimes you don’t need to read the whole thing. For example, putting code in public domain. I have no need to find or write any code of header for code that would put it in the public domain. Why? Because the whole idea of not getting credit (even a small amount) bothers me. I’m proud of my work and I want people to know I did it… even if it’s only the other programmers writing proprietary code. Which actually makes for an excellent segue back to the GPL. I don’t want to use to GPL, for my personal projects, simply because I honestly find it to restrictive. I think it’s a tad selfish the amount of restrictions placed on code under the GPL. Think about it. You just wrote a program and published not only the program but how to make it the whole world. Is there really any point in stopping there? For example, “[any distributed work] that … contains or is derived from the [GPL-licensed] Program … be licensed as a whole … under the terms of [the GPL]” (Wikipedia). That’s just greedy to me. In a world where I freely give away my source, why do you have to as well? You don’t make me give up my code for free, why am I making you give away yours? I guess I’m not really into Copyleft licenses then. So, given that then, I can immediately throw out the GPLv2, GPLv3, Mozilla Public License, and various other less common licenses. Thus we’re left with …
The Apache License (v2.0) and the 3-Clause BSD License. I’ve never really brought this up before, but I personally don’t believe in software patents. They seem counter intuitive to me. I think patents are a wonderful thing, but I think they can be taken to far.
Given that I like the idea of the Apache license. I find the BSD license acceptable. It is more or less exactly what I would expect from an open source license. The only difference that really matters to me between the two is the Apache License includes a patent retaliation clause. Something the MPL includes too apparently but is still considered copyleft. The basic idea with the Apache License is that if you include patented code in Apache Licensed software you forfeit your patent.
Regardless of where you stand on the issue I would love to know how others feels about the topic and why you choose one license over another. All opinions welcome.