Question for you, readers: would you eat a meal if you did not know the ingredients?
If you’ve got food allergies, the thought is probably enough to make you cringe. There could be anything in that mystery dish in front of you. How do you know it hasn’t got traces of something that will give you hives and diarrhea for the next 3 days? Best not to even touch the stuff. You can’t trust it.
Now, another question: would you eat a meal if you were not allowed to know the ingredients?
And when I say not allowed, I mean Not Allowed. You can’t ask what’s in it, you can’t test what’s in it, and if you try to guess what’s in it, you have to prove you’re not reverse-engineering the food or else you’re liable for infringement. You just have to take the chef’s word that it’s safe… assuming you can trust the chef, of course.
Would you eat this secret food? Would you feed it to your children? Would you even feed it to your dog?
If not, then why are you feeding secret food to your robot?
By “robot”, I actually mean your computer. And what is food for a computer? Software, of course! The code is what makes it go. Now, code is not exactly like food, but it is vital to your machine; it won’t run without it. And what is in this vital code? Chances are, you don’t know and you’re not allowed to know (according to this Wikipedia article, Windows still dominates desktop systems, and even OS X commands more share than Linux). Your computer is running off of secret sauce, and you have little hope of ever knowing what problems there might be with it.
So with this in mind, I think it’s time to take a fresh look at the old “open source” issue. Instead of asking, “Is open source better?”, we should be asking, “Why is closed source even legal?”
The fact is that closed source is a real danger to us, just as much as food allergies. Bugs and flaws in our software leave us vulnerable to attack from crooks and spooks, and trying to hide the source doesn’t slow them down at all (noted security expert Bruce Shneier has addressed this topic over and over and over – there’s no security in obscurity). Closing and locking the source only prevents honest people from finding and fixing the bugs. In addition, closed source software also creates a “lock in” effect, in which the vendor can essentially hold users hostage, because the users stand to lose so much data or productive capacity if they switch products. Monopolies of this kind are very lucrative, which is why closed source software persists, but they are inherently hostile to users, and they do not deserve any of the legal protections they currently enjoy (such as copyrights, patents, trade secrets, and end-user license agreements).
People who try to sell products to you, but insist on keeping secrets concerning the very products they are trying to sell you, are not worthy of your business. Don’t eat food if you don’t know what’s in it, don’t fund an agency if you don’t know what it’s doing, and don’t run software if you can’t see how it’s written. Open source is the only way to go.