A colleague of mine, David Harding, who by his own admission is “married to Microsoft,” thinks he might be seeing an early indication that Microsoft’s .NET technology is losing ground to Linux, Java, and open source developer tools. Recently, he visited his favorite local tech bookstore and was stunned by the shrinking shelf space devoted to Microsoft’s .NET technology.
As I was walking through the store, I stopped by the .NET aisle and noticed something very odd. Whereas the Microsoft book section used to be three rows and packed with new titles on all of the latest technology tools (e.g. C++, Visual Basic, SQL Server, etc.), it was down to one row with room to spare on the shelves. As I perused the available titles, I noticed something else: the majority of the books were not on .NET languages, but on their previous versions (i.e. version 6). At quick glance, it appeared there were at least three books to one of the older languages as compared to their .NET counterparts. In looking through the .NET books I saw that at least 25% of them were being sold as used!
Dave then went to the front desk and asked the attendant to run a search for books on Microsoft technologies C# and ASP.NET:
A few keystrokes later and he turned the monitor towards me as page after page of book titles appeared. The problem was that none of them were in stock. Before I could say anything, he told me that most of these books didn’t exist! That’s right – the books were never published! He told me that the publishers routinely send the stores electronic catalogs of books that will be printed so that the buyers can get a jump start on what to order. Because of the downturn in book purchases on Microsoft technologies, they had been receiving notices that many of these books, although finished, had been pulled before they ever reached the presses.
I asked him why he thought the demand had dropped and his response was: “We aren’t selling as many Microsoft programming books these days. I think that the number of programmers out there has dropped off. Anyway, Linux and Java are our big sellers now.”
Dave attributes the decline in interest for Microsoft developer tools to the general decline in tech employment in the U.S., since Microsoft has always viewed developers as its biggest proponents. But that would not explain why demand for books on Linux and Java is increasing.
My theory would be that open source tools are reaching a tipping point. All those unemployed and self-employed software developers are trying to improve their skills by downloading the free open source tools, or are trying out the tools offered on the cheap web hosting sites, which strongly tilt toward open source technologies such as Linux, Apache, MySQL, and JBOSS.
Don’t believe me? Check out the bundled plans offered by any of the web hosting sites and see how many mentions of .NET there are compared to Linux, Apache, and MySQL. Sure, these tools may not yet offer the same high end features or integration as Microsoft’s .NET platform, or Oracle’s for that matter. But for many development projects, they are good enough. And it’s hard to compete with free.
In a subsequent instant message chat with Dave, I pointed out that I suspect the offshore development trend is also fueling the migration from Microsoft to open source tools. In offshore locations, such as India, China, and Eastern Europe, I believe there is a strong bias toward open source tools, which can be deployed for much less cost than proprietary platforms. The lower hourly rates of offshore developers also negate any advantage that the proprietary tools have in terms of developer productivity.
Whether Dave’s theory is correct, or mine–either way, it doesn’t look good in the long run for Microsoft’s ambitions to win the hearts and minds of developers for .NET. The main argument that Microsoft has consistently used against Linux and open source technologies is that its technologies are less expensive to implement because of the larger base of skilled professionals trained in Microsoft’s technologies. As I mentioned over a year ago, this was at best a temporary advantage. If the population of developers is now trending toward open source technologies that argument starts to look less and less tenable.