Bill Gates probably will not sing the praises of Keith Curtis, a programmer with Microsoft for 11 years who's now left the fold and written a book about why the Redmond way will fail. Oh yeah, Curtis is not afraid to speak his mind as a Linux guru, either.
The mantra Curtis repeats throughout his book "After the Software Wars": proprietary software is holding us back as a society.
In the book, Curtis says that while proprietary software made Microsoft one of the most successful companies of all time, it's a model destined to fail because it doesn't let software programmers cooperate and contribute, and thus stifles innovation.
Curtis did programming work on Windows, Office and research at Microsoft and never actually used Linux, he says, until he quit his job in late 2004. The ensuing years have made him a Linux fanatic, and he is convinced that free, open-source software is technically superior. As long as Microsoft and its proprietary model dominate, Curtis says, we will live in "the dark ages of computing."
In an interview with CIO.com's Shane O'Neill, Curtis discusses the rise of free software, Linux's role in what he calls the inevitable fall of software's biggest giant and ... robot-driven cars.
In what ways will free software be Microsoft's undoing?
Free software will lead to the demise of Microsoft as we know it in two ways.
First, the free software community is producing technically superior products through an open, collaborative development model. People think of Wikipedia as an encyclopedia, and not primarily software, but it is an excellent case study of this coming revolution.
There are also many pieces of free software that have demonstrated technical superiority to their proprietary counterparts. Firefox is widely regarded by Web developers as superior to Internet Explorer. The Linux kernel runs everything from cellphones to supercomputers. Even Apple threw away their proprietary kernel and replaced it with a free one.
Second, free software undermines Microsoft's profit margins. Even if Microsoft were to adopt Linux - a thought experiment I consider in the afterword of my book - their current business model would be threatened. There are many ways for hardware and service companies to make money using free software, but these are not Microsoft's sources of revenues.
Free products like Linux and Google Docs currently comprise only a tiny proportion of their respective markets compared to Microsoft. What will it take for free software to truly catch on with consumers and businesses as you predict it will? And how long will that take?
Linux and other free software are already doing well in markets other than the desktop. Google has hundreds of thousands of machines running Linux. Free software is well on its way to conquering the small and the large, and the remaining challenge is the desktop in the middle.
The desktop is a particularly hard problem, but Linux is very close and is advancing at a fast pace. The move to the Web has also undermined Microsoft's position, as the most popular application on a computer is a Web browser, and Firefox ably meets those needs.
The second most popular usage is for productivity applications, and while OpenOffice still needs some work, it is good enough for perhaps 99 percent of users. I worked on text engines for five years at Microsoft and wrote my book using OpenOffice.
I don't know when Linux will become 10 percent or 25 percent of the desktop market. Some said Linux would take over 10 years ago, and while that was premature, it is close now. Part of my book is a message to the computer industry discussing the remaining challenges.
Google Docs, and the question of whether all apps will move to the Web, is a raging debate. But Linux can succeed without such a transformation. I think that while the Web is great for simple applications, it is very limited. I think Google Docs is an example of a bridge too far.
You mention the bugs in Windows Vista as evidence of the limitations of proprietary software. How could Microsoft improve Windows?
If Microsoft, 20 years ago, built Windows in an open way, Linux wouldn't exist, and millions of programmers would be improving it rather than competing with it. However, I think it is too late for that now.
For example, if Microsoft were to release the source code to Internet Explorer, no one would care because Firefox and WebKit (the basis of Apple's Safari) already exists. Microsoft is manning a leaky ship, and the only thing they can do is just try to pump water faster. It appears that Windows 7 plugs many of the leaks in Vista, but it is still fundamentally flawed.
The biggest difference between Windows and Linux is that free software contains thousands of applications, installable with one click, and managed as one set. A Linux operating system includes all the obvious stuff like a spreadsheet, Web browser and instant messaging. But it also includes tools for making pictures and music, server software and development tools.
Linux changes how people think about their computer. Microsoft has no response for this.
In addition, proprietary software hurts Microsoft. Google writes mostly proprietary software, but quietly leverages a lot of free software that is a key to its success.
What can Microsoft do to curb the threat of free software, and what do you think it will be willing to do?
Other than adopting Linux, there is little Microsoft can do. Even if they did embrace it, not only would it hurt their profit margins, they'd be forced to explain to customers why they should continue to pay for Office if the company believes the free OpenOffice is good enough.
Microsoft has created Web sites where developers can use free code and collaborate, and the latest is called CodePlex. While it shows that Microsoft understands the benefits of free software, this site mostly contains tiny add-ons to proprietary Microsoft products.
Microsoft has also released some software it wrote under various open licenses. While it is good PR for Microsoft, this software is being absorbed by the outside community. This doesn't actually curb the threat; it increases it.
So I don't really know what Microsoft can do. While the company says it doesn't like piracy, it does allow itself to compete on price with free software. As Bill Gates wrote: "It's easier for our software to compete with Linux when theres piracy than when theres not."
Other than operating systems and application development, how is proprietary software impeding progress in the world?
Faster progress in artificial intelligence is one of the most interesting benefits we'll receive from free software. We could have had thinking machines and cars that drive us around years ago if we had our AI researchers all over the world working together.
It will also improve our understanding of biology. I went to a human genomics conference and found it was filled with proprietary software. I think many companies in this field have adopted the Microsoft model, thinking it was how people should build software. In my book, I talk about how free software will play a key part in the 21st century renaissance.