The GPL Virus

The “open source war” is something that I frequently comment on, and as time goes on, I continually grow to understand the implications of this war, and the motivations of those involved. The war is often characterized as a war between the hacker champions of open source software and the draconian closed source overlords. In reality, this is not a war of open vs. closed at all.

Logically, there are three positions you can have on open source and closed source software. If you have an opinion on the issue at all, it must be that 1) All software should be open, 2) Some software should be open, and some should be closed, or 3) All software should be closed. However, I have never met a programmer who believes that all software should be closed. Even at Microsoft, the supposed bastion of closed-source software, the developers regularly release open source code, in the form of documentation, utilities, samples, and a multitude of projects on codeplex. So in reality, this is a war between the belief that all software should be open source, and the belief that some software should be open source.

The belief that all software should be open source is championed by Richard M Stallman. He asserts that proprietary closed-source software is unethical and immoral, and this sentiment is reflected in the terms of the GPL. Specifically, the GPL specifies that all derivative works must also be released under the GPL. This means that if I release any software that is based on GPL software, I must also release my software under a GPL compatible license. The GPL spreads to every work that it touches, irrevocably and irreversibly. Sound familiar? That’s because my description could just have easily been that of a virus. The GPL is a virus that attempts to enforce its view of the world on everyone it touches. When I worked for IBM (one of those supposed champions of open source), we were not even allowed to look at GPL code for fear of our own code becoming tainted.

Is software really free if I can’t even look at it for fear of legal repercussions? Stallmanites would likely argue that IBM is morally obligated to release their software under an open source license anyway, so why is it such a problem? The problem is that without an economic incentive, the software would never get developed, and the only business model that has been shown to be viable with open source software is the “support model.” Under this model, companies release their software for essentially no charge, but then charge their customers for support contracts. Unfortunately, this business model is completely unviable for a huge range of software industries. As an easy example, look at the video game industry. What gamer would pay for a support contract? And there are plenty of other examples where the support model obviously doesn’t work, especially in the domain of consumer oriented software.

Anyone who thinks I’m an “open-source hater” should check out my website; all of my code is released under a public domain license (the only truly Free license). But I need to work for a living, which is why I work for Microsoft. I have a feeling that most people are in the same boat as me. We need to work for a living, and companies need to make money to survive and keep paying us. Not all of us have the ability to support ourselves from speakers’ fees and prize money. So while we contribute where we can to support the community, we still plug away at our day jobs. Stop disrespecting us Stallman.