Some readers who have come here via Jeff Atwood’s Coding Horror blog entry Giving Up on Microsoft have asked for some further development of my views on the issues involved. I go back and forth on whether I want to develop this stuff in public at any great length, because the most important thing for me at this point is to continue to build up my skills in new (to me) areas of software and to use those skills to make a living, not to develop a reputation as someone who pens brilliant anti-Microsoft polemics. The kids can’t eat polemics.
But it basically boils down to this: Microsoft itself is built on open intellectual property from the first three or four decades of computer science. The folks who invented computer programming for the most part didn’t worry about who owned what; algorithms and ideas and languages and interface improvements were freely shared, and everyone built on everyone else’s work. Now, if the Microsofts of the world have their way, we’ll end up with everything in fenced-off gardens: every piece of user interface, every algorithm, every data structure, will belong to someone, and will not be available for use unless you pay for it somehow. It will become literally impossible to legally write software without entering into a web of commercial cross-licensing agreements.
To me, that’s a horrifying thought. As far as I’m concerned, software is no more deserving of patent protection than mathematics is. While I personally am not willing to sign on to all of the positions of the Free Software Foundation, I do agree with Eben Moglen “that software is the embodiment of knowledge about technology, which needs to be free in the same way that mathematics is free.” The notion that software couldn’t be developed without strong intellectual property protection is demonstrably false – just look at all the software that was developed before people got it into their head that algorithms could be patented, or that you could assert nebulous unspecified rights over a particular sort of user interface innovation.
Although I am referring specifically to Microsoft here, I am well aware that they are not the only company seeking to patent basic algorithms. Nor do I intend to demonize Microsoft or to draw the inferences, popular in some circles, the because I find their corporate policies odious their employees or software must be inferior. On the contrary, I have over the years had many friends who work at Microsoft and happily used many of their products. I’ve done much of my own most productive work with Microsoft products, and though I think some of their recent innovations are poorly-designed for power users, I continue to be impressed with their ability to produce software.
But I see Microsoft leading the charge into a world where the independent software developer ceases to exist, because it will not be possible to develop software without an intellectual property lawyer at your elbow. And I don’t want to live in that world. As a result, I choose to cut off what tiny bit I can of the fuel that keeps Microsoft going: the licensing dollars I pay for Microsoft software, and those that my clients pay for deploying the software that I write, as well as my own implied moral support for the company’s policies. It’s not a whole lot, probably not more than a few million bucks over the remaining course of my career, but it’s something.