There is a lot passion in any discussion that involves Microsoft and open source in general and Linux in particular. However remote a topic is from becoming a war of words between the supporters of these two camps, it always seems to end up about Microsoft vs Linux. A while back I read a publication that was written by two Harvard Business School professors. In summary the paper concluded that Linux would remain second best and that the OSS movement will not displace the traditional model of software development.
Yes, the research paper was published last year but what got me thinking was how the hype around Web 2.0 (and increasingly reality around it) affects the findings of the paper. In a world where software is accessible over the Internet using widely implemented standards as is the case with the internet, the underlying operating system becomes irrelevant in determining competition though it is still an important part of the infrastructure that makes everything work. When applications run on the internet, then it is likely that most users will not necessarily care which operating system their device is running.
I think the worry from Microsoft’s perspective has gone beyond Linux and open source generally but also about the emergence and relevance of the web as a platform for software development. The web has been turning into a platform for software development with major internet companies like Amazon, ebay, Yahoo, Google and (increasingly) Microsoft expose their online properties through web interfaces or more specifically APIs. Microsoft has been adding to its Windows Live brand of online services and has seemingly taken up a style of web development that is closely associated with Google wherein software remain in beta for what amounts to eternity (Gmail is still in beta testing). It goes without saying that Microsoft has not released a new consumer version of Windows for the last 5 years.
The shift towards mashups and internet based APIs (from web giants like Google, Yahoo, Amazon, ebay), could possibly be the first step in a long much of the operating system towards obscurity. Operating Systems will always be part of computing devices but their emphasis will be less as time passes and mashups take center stage as the new, proud center of application development and consumption. Google gets the props for popularizing the web as a development platform where third party developers and interested parties can take advantage of publicly available APIs. So far Google engineers have been hard at work churning out web based services, one after the other.
It has been said on countless occasions that Microsoft is competitive and it responds best to competition than its own initiatives for innovation. To site a few examples: Windows Live is a reaction to the threat that companies like Google pose to the long term survival of Microsoft. The .NET framework is a direct reaction to Java though it took them a while to come out with that one. The development and improvements of IE could be attributed to the popularity that Firefox has garnered though the improvements in IE could also be driven by Microsoft’s interest in Windows Live and its related services. After all, everything tied to Windows Live runs on a browser. It therefore makes sense for Microsoft to want a robust browser platform for Windows Live primarily.
Focusing on Internet Explorer will also allow Microsoft the leeway to implement its tried and true strategy of extending its dominance to new products/platforms. Think of it as building on previous strengths if you like: Microsoft was dominant with Windows but Netscape had the browser market so MS leveraged its advantageous position on the OS to take over leadership and control of the browser market. Now with the dominant position of IE and the DoJ’s anti-trust lawsuit behind Redmond, Microsoft can freely dislodge the browser from the rest of the OS and then leverage the dominant position of IE, so as to influence the evolution of the emergent Web 2.0 types of applications.
The .NET platform is another interesting direction towards which Microsoft is headed. Being a web developer, familiar with a wide range of the popular web development platforms, ASP.NET is a unique solution in itself and this solution is being extended to accommodated Web 2.0 through the project code named “Atlas”. The tools support in ASP.NET is quite good and the way it integrated with other .NET technologies such as ADO.NET is quite good as well.
Essentially Microsoft is quite well poised to take advantage of the shift towards the web as an application development platform from a developers perspective. At the same time though companies like Google are quite good in their relationships to consumers generally.
The OSS movement has a unique format and structure to it. There is no center of focus to it in the sense that good ideas do not emanate from a single source though well established projects such as Linux and Apache do influence the general direction of things. On the other hand any developer with a good idea can just as well raise in prominence as has happened with Ruby on Rails most recently and the same situation applies to PHP, at least from its inception. The OSS movement presents a wide range of choices as far as development platforms are concerned. Proprietary platforms are not out of the question for OSS camp; they have open source Java products (including servers and a JDK could be on its way though Sun Microsystems is in the process of open sourcing Java as well). They have an open source implementation of the .Net framework in the name of Mono which surprisingly is being used in creative ways as demonstrated by applications like Beagle, F-Spot and Tomboy (amongst others).
Mono is making its way into various Linux distros because of the applications that have been implemented using the technology. The use of Mono (an implementation of Microsoft’s .NET platform) in Linux or any other open source project is a topic that is worthy of a book in itself even though some of the opinions could largely be driven by passions as opposed to sound logical reasoning. That is not to say that there are no good reasons for and against the use of Mono in open source.
PHP is increasingly moving closer to the enterprise and with new each version improvements are being made to it so that it can better handle the requirements for the development and maintenance of enterprise applications. As a side note perhaps, it is also worth while to note that the prominence of PHP has also encouraged other platforms (Java and .NET primarily) to recognize the need to support scripting languages on their respective platforms.
Let me conclude this post like this: Microsoft is well positioned to influence the so called Web 2.0 but at the same time the OSS movement already has most of the plumbing in place to compete as well as Microsoft or any other proprietary company in the industry. The efforts of the open source community demonstrates its very nature of having a wide variety of choices and at the end of the day the best wins.