Back to DaveOpinion

Title:Open Source and Free Software
Date:June 4th, 2001
Self Righteous:2
Simply true:5

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.

OpenSource cartoon

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.)

Many people argue that Open Source is great for business, and it can be seen that many businesses have made lots of money off of Open Source. I have no argument with that. My problem is with who makes the money. It is often not the authors, it is whoever does the best job packaging up someone else's work.

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:

  1. Friends and Family isn't guaranteed money - it's a gamble that requires money up front that is put at risk. RedHat stock did well, but if they sold today (6/4/01) they would lose money.
  2. RedHat decided who and how much - it was entirely up to the company to decide the compensation the authors received.
  3. Most importantly, RedHat didn't have to. And many companies have not.

Ironically, while RedHat profits from the work of others, others are profiting from the work of RedHat. Mandrake takes the RedHat distribution, speeds it up and then resells it. And any intelligent linux user who want an Open Source CD will buy from CheapBytes.

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.

Open Source has the benefit that a project can live on even if the original author stops supporting the software or doesn't give the consumer base what it wants, because someone else can fork off a new branch and do their own development. As an example, see how many linux distributions are available. And this has a benefit, because it gives us choice, but it also has a cost, because of the fragmentation. Different distributions have different standards, different porting issues, different software packaging types. I'm not claiming that the cost of fragmentation outweighs the benefit of forking, but it's a cost that can't be ignored.

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 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? ;-)

My software is free, so the profit issue above isn't as important to me, but I still choose not to use Open Source. This has to do with control.

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.

Due to the lack of control, it is common that O.S. authors don't receive the credit that they deserve. Sure there are cases where some O.S. authors have become superstars, such as Linus Torvalds, who is well-known for being the "creator" of the Linux kernel, but what about all the other people who help make this computer run?

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:

  1. I'm not supporting the movement
  2. I'm hurting the software world.
  3. My software isn't free
Point #1: It's not my movement and I neither support nor oppose it. I'm guessing there are "movements" in the world that you don't support as well.

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 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.