Posted on | July 10, 2008 | 4 Comments
There was a journal entry recently published on Slashdot which sparked several reactions. I think that it is safe to say most geeks realize that our lives will shortly depend entirely on computer software (much more than they do now). Most smart people realize the need to ensure that we keep software development as free, open and productive as it can possibly be. ‘Possibly’ is always relative, it depends entirely on the author’s circumstances at the time.
Recently, I made the decision to release free programs that I write under the new BSD license. I received a flurry of e-mails ranging from
good choice' tohow could you?!?!`. For some people, a choice of software license is the closest thing that they’ll find to spirituality which rapidly evolves into some kind of religion.
The Slashdot journal suggested that a simple breakdown in linguistics might be the cause of so many clashes between so many free software camps. I really don’t think this is the case, both licenses are very specific and well written, there is little room for misunderstanding.
The GPL guarantees that every person who receives a copy of a GPL program will have the same freedoms with that program as the program’s author, barring the ability to license the work in any other way. If you write a program that uses GPL licensed code and distribute it, you must distribute you work under the terms of the GPL. GPL3 goes a few extra miles, which is why I’m moving away from it.
The BSD license removes the ‘barring the ability to license the work in any other way’. This allows anyone producing a work that incorporates BSD code to chose whatever license they wish, including one that makes the combined work non-free. The author of the program or anyone who receives a copy of the source code is welcome to (basically) do whatever they want with the code.
Neither license is better or worse, its really a matter of preference (or religion, depending on what your work means to you). I personally do not care about being given credit or proper attribute. If Microsoft sent me an e-mail tomorrow saying “Our x-y-z product will use some of your code and we’re giving you no credit”, I’d reply “Hey, neat, thanks for letting me know, can I get a free copy to see what you’ve been up to?”.
On the same token, if Microsoft produced some kind of killer application that humanity could just not do without, I would commit to helping any effort that aimed to make a free replacement for that program. There are plenty of ways to complain about Microsoft without resorting to the building blocks that they use in their software, if complaining makes you happy.
If it were not for the GNU project and the efforts of Richard Stallman, Linux would still be a ‘garage os’. What good is a computer that boots in record time and then facilitates nothing? How can we write programs for such a kernel without a proper C library (or even an editor)? Linux is a kernel that makes an operating system work, GNU is that operating system, plus a compiler and such libraries. Got it? Good. Official GNU programs run well under almost anything that you can think of, GNU is not at all married to Linux. If it were not for the GPL2 and its incidental need for ‘tit for tat’, I really doubt that the Linux kernel would be what it is today.
In fact, most new stuff that I am about to release under the BSD license will have a very clear notice, “If you wish to re-license this program under the GPL2 or GPL3, go right ahead! The license I have chosen allows you to do that, make it work for you!” I don’t care about the one way effect, if some substantial improvement was made to my stuff and released strictly GPL, I’d just re-write it and include it in my version. Big deal. You might wish ‘tit for tat’ for your code, or to enforce your ideals. That’s up to you, the license I picked gives you the latitude to make all of your own choices. My intent ended at writing and releasing the damn thing.
In short, it is not ‘linguistics’ that get in the way of free software development .. its ego. Ego gets in the way of any human interaction, why is this news? The licenses themselves are very specific, words like ‘freedom’ are always going to mean different things to different people. Society dictates what ‘freedom’ means, which makes the word more of a colloquialism rather than strict definition. If ‘freedom’ could not adapt to circumstantial needs the term would become archaic very quickly. Anyway, enough linguistics If the definition to a word is prone to change, any argument regarding the meaning of the word is (at best) dated.
I just want to share stuff that I come up with that might be useful to someone else in a way that allows them to use it no matter what they happen to be doing. I also need to eat, so having complete control over the terms governing the distribution of my stuff is ideal.
Perhaps the two camps will not amicably work together for some time, perhaps that’s best for all of us.
I’m in my own camp, I just release things that might be useful and help worth-while projects, regardless of their choice in license. I have a hard enough time reading other people’s code, much less their license That’s why I chose to keep mine simple.
Point being (yes, I have one), don’t use stuff that restricts the source code or your ability to help your neighbor if a viable alternative exists. As long as I have one copy of my program, it will always be free software and you’re welcome to have it. What you use and how you use it is up to you.