The ideological battle between the open source camp and their counterparts in the closed source camp is a mix of sound reasoning and fanatical support for either side. Many have argued that there is room for both ideologies to co-exist in the market place. While the open source model offers unique advantages in the production, development and subsequent maintenance of software, it is not a solution that will fix all the software needs that customers have. Closed source, for all its real and/or perceived weaknesses, has advantages that cannot be easily replicated in the open source world.
The Java platform is an interesting phenomena to consider, at least before the core of the platform was open-sourced last year. Java was a propriety platform, with a large number of open source projects, products and services that range from IDEs, Application Servers, tools, debugger, loggers, database engines and many others. The open source projects build on Java and using Java created a unique value proportion for Java, regardless of its proprietary personality at the time.
The Windows operating system is a platform just like any other and open source projects and software have not ignored it; there are numerous open source software that covers every possible category of software from compilers, office productivity software, IDEs, database servers, mail servers, web servers etc. The largest percentage of these open source software have versions that can run on Windows or at least be compiled to run on Windows.
The fundamental ideology used in developing Windows is essential in conflict with open source and gives Windows some of its awkwardness. One of the key short coming of Windows is that it does not include development tools such as compilers, build tools and debuggers by default. This is in contrast to what you find on Linux and Unix platforms where the gcc is likely to be part of a distribution than not. The support that is provided by these tools is part of the operating system and this encourages experimentation and makes it easier to configure software for specific use. The GCC collection of tools is also available for Windows and hence can be configured similarly so that to allow compilation and configuration of software.
Perhaps to put all these in perspective, Windows was never a tool for programmers or particularly technical people which may account for its lack of development tools in its default distribution. Linux and its Unix brethren were, however, the tools of choice for university undergraduate and graduate students with a drive to push the boundaries of the system. This is the kind of environment that gave birth to the Linux kernel. While Windows caters for non-technical office workers, it has not included any development tools in its default distribution and indeed commercial interests makes it a logical choice to make a separate product such as Visual Basic or Visual Studio to cater for those who want to develop, compile and debug programs on Windows.
Thanks to Microsoft business and licensing practices, getting a copy of Windows is probably the easiest thing that an individual or small to medium sized business can do. However the open source community has failed to make it clear that there are open source products that can and should be run on Windows without any problems. For example, purchasing a new computer would mean that Windows is already installed on it and the cost of that particular copy of Windows is already factored into the cost of the machine. In order to make such a newly purchased machine useful, the user has to spend additional money to get a copy of Microsoft Office and any other software that is needed to machine Windows the productivity tool that was intended to be. Instead of hastening your wallet’s steady match to the poverty line, buyers of new machines should be advised of the open source options they have in productivity suites like OpenOffice which can read and write to Microsoft Office file formats without much trouble. The user gets the advantage of using legit software, without parting with a substantially amount of money which is enough to buy another copy of Windows.
Seeing Windows as another platform on which to run open source is perhaps something that Microsoft does not want to take into account but it is a reality that smart computer buyers and smart small and medium sized businesses should look into. Such suggestions in the face of a Microsoft sales person could perhaps bring to light some caution against heading down such a road but ultimately it is important to consider at least the possibility of replacing some of Microsoft’s software with open source software on the Windows operating system. It is no secret that Microsoft has had and still has ambitions of seeing an end-to-end Windows infrastructure, it is a reality of most large scale IT deployment that systems other than Windows will be running side-by-side with other Microsoft products. Perhaps it is also in Microsoft’s interest to adopt a cooperative competition approach with some of the major open source players such as MySQL AB and the Apache Software Foundation.