Stephen are you happy now?
I’ll start by saying that while I might be an idiot I think that Stephen’s comment was just childish. Judging by his resume (which came up with “page not found” the first time I clicked the link …. what server is it running on btw?) I understand that his background is firmly in the Sun camp. My original comment was actually an attempt at trying to get some educated debate. In typical Sun, Apple (insert any other Microsoft competitor) fashion his retort is to call me names – great show of maturity…. he wins.
So, I’m going to take the bait and continue the original discussion around the choice of open-source or proprietary technologies affected the ability to create open-source software. This discussion could be generalised to discuss the pros/cons of these choices in building any software.
Ok, for the purpose of this discussion lets assume that Java has been open-sourced and that no one company is in control of its future direction. On the other hand lets use .NET as the proprietary technology which is controlled 100% by Microsoft. Let’s examine some of the risks associated with these technologies.
In the case of Java we have a technology that is disconnected from any particular operating system. This means that in every case someone has to put in effort to optimise a JVM for a particular operating system. This could be done by the OS manufacturer (oh, now hang on Microsoft did that but got slapped with a ruling that now prohibits them from doing it – Sun does know how to shoot itself in the foot ;-). Or it could be done by the Java community. There might also be multiple JVMs for any one OS by different commercial providers, who then charge for the JVM which brings us back to the original point that Java was supposed to be the open-sourced side of the argument.
On the .NET side of the fence we have a technology that has been heavily invested into by Microsoft. Now this is not to say that they won’t change direction in the future but I would say that it is a fair bet that Microsoft will continue to invest in this technology for many years to come. They have support for .NET in current and previous versions of their operating system – which clearly they do the work for as it maintains customer loyalty. Interestingly enough, since the C# spec was put up as a standard, there is an open-source initiative to build a cross-platform runtime, Mono. My last point on the .NET side is that you can build open-source software on .NET without investing in the Microsoft (or other 3rd party) tools such as Visual Studio .NET.
I’m not sure I’ve really layout my position here, just added some food for thought. Again I would be interested in others’ thoughts. And please, if you are going to call me an “idiot”, please don’t call me a friend in the same sentence!