|Title:||Open Source and Free Software|
|Date:||June 4th, 2001|
First of all, let me point out that I think the Open Source Initiative (OSI) and the Free Software Foundation (FSF) are great.
But if you poke around, you may notice that while my software at MarginalHacks is free and the source is available, it is not "Open Source" or "FSF" software.
There are lots of very enthusiastic OSI and FSF supporters who ask me why I won't use an OSI/FSF license. I often get the impression from them that OSI or FSF are the only way to do software and is the only definition of free.
Now, I agree that OSI and FSF are great systems for software that benefits from a large contributor base and that the authors want to donate to society. I also agree that OSI and FSF have massive advantages for optimizing software development. But it does this at a cost, which seems to be ignored.
I have a few problems with OSI and FSF:
(And yes, I realize that OSI and FSF are not the same, but here I am discussing that which is similar between the two, of being anti-proprietary software in all cases. For the rest of this discussion, I'll refer to the two as "Open Source" even though that would surely ruffle Stallman's feathers.)
RedHat is often pointed to as a viable example of the Open Source business model (though check out their stock price these days..) But who did the work? RedHat did alot of it: writing software/documentation, organizing a distribution.. But much of the work that a customer benefits from when buying a RedHat CD (such as the kernel or Gnu tools) was written by someone else.
As an example, consider the kernel - written by Linus and hundreds if not
thousands of volunteer coders. RedHat was kind enough to include many (but
not all) of them in the "friends and family" list when they went public,
and I've seen news reports that RedHat actually gave some stock to Linus.
Good for them, but:
So, sure you can make money with Open Source software. But it's a whole list of companies making money off of other people's work, except for the actual creator of the work itself.
I've been asked what will happen to my code when I die, and Open Source proponents will be happy to know that the latest version of my will asks that my MarginalHacks.com software be released under the GPL. (Perhaps I should have a clause that makes this conditional on me not being murdered by an Open Source advocate? ;-)
GNU has actually considered this issue as well - they decided to go a different direction than I wanted to with my code.
I have pretty strong beliefs about my software. That's why I wrote it in the first place. I want my software to work in what I personally consider "The Right Way." (I'm not claiming that it does yet, but it's on its way :).
Since I welcome patches and rewrites, I get quite a few with new features that users have wanted. Some are great, some are not. But more troubling is that while some of the added features are nice, the way they were coded introduces obscure bugs or else blocks future upgrade paths.
The problem for me with Open Source is, admittedly, one of the features that gives Open Source it's strength. Because other people can modify and redistribute your code, this means they can also screw it up. And while other people will soon learn not to trust the person that screwed up the code, the damage is already done to the original program.
Maybe I'm just a control freak, but I like to be the one in charge of how my baby grows. As I've said, I've received many patches, and almost all of them have gone in, but they've gone into the code in a coherent manner.
Having me as the "final" contributor to the code works well, because the code isn't too big for one person to handle. If it ever gets too big, or if I decide I don't want to support it anymore, then perhaps I'll release the code under Open Source.
As an example, it's ironic that Richard Stallman (one of the biggest proponents of O.S. philosophy) has to complain about the fact that GNU's not getting credit for being responsible for a massive amount of the software that comes with a Linux system - or should I say a GNU/Linux system.
If I'm not doing this for money, and I'm not getting credit for it, then what's the point?
Lately I find that I get lots of flack about my license, and it's always from Open Source people. The argument generally follows three fronts:
Point #2: I don't believe that I'm hurting the software world by giving something to it. If you think my contributions hurt the world, then don't use them. I've heard so many positive comments from users of my software that I'd find it hard to believe that I'm damaging anything (though I understand some would disagree with me on this).
Point #3: I was using the english language. What language are you using?
My software is "free" according to definition #15 (Websters Revised Unabridged 1996,1998) and also arguably 2,5,6,7,8,9,11,13.
It is not "free" according to the definition of "free" used by the Free Software Foundation (they use definition #14). But just because they have the word in their name doesn't mean they get to tell the rest of us how to use it. I'll trust Webster over Stallman.
And additionally, it is "open source" in the sense that the source is available, but is not "Open Source" in the http://www.OpenSource.org sense. I freely recognize that (pun intended :)
Lastly, why is it always the Open Source people who have to fire off an email to me scolding me for what I should or shouldn't be doing? I never get mail from other license proponents, such as proprietary companies who could mail me to tell me that I'm foolish for giving away my work without requiring compensation, it's always the Open Source folks - smells like a knee-jerk reaction to me.
So - if you're going to give me flack about my license, hopefully you've read this and have something new to add to the discussion. I don't need to hear the same stuff again.