Java vs. .NET, part 3 - Open Standards
Javas traditional weapon of choice
The concept of open standards has been the primary weapon of the non-Microsoft camp (which includes the Java community) against Microsoft. And it is a reasonable weapon. Open standards are meant to ensure interoperability between products from different vendors so that customers have the flexibility to put together best of breed solutions and, at least in theory, can swap out one vendors products for anothers if they become disenchanted with the first vendor on product quality or price. This means that all vendors are competing on a flatter playing field, and therefore customers and smaller vendors get the benefit of a more efficient market. Cliff Schmidt offers a very nice overview of the why, what, where, who, when, and how of standards.
Major vendors in the non-Microsoft camp push hard on the idea that Microsoft is proprietary and closed, meaning that Microsoft technology interoperates only with other Microsoft technology. A customer who goes down the Microsoft route is locked in and cant choose to swap in non-Microsoft products.
The ideas behind the open standards movement are laudable, and I believe in them. Product standardization -- of electric outlets, of audio equipment connections, of bolt sizes, of fuel types, etc. -- has greatly benefited customers in general. It should certainly do the same in the world of software.
However, as a weapon against Microsoft, it has several weaknesses:
- It only matters on the server. At this point in time, at least, Microsoft is the unrivalled king of the desktop. They set the standards there, and there are no major movements to challenge Microsoft as the standards-setter within that domain. This means that the concept of open standards in software really only has value in the server/network environment.
- Microsoft developers dont care. Microsoft shops are unswayed by the idea of open standards. For them, the standards that Microsoft sets are as legitimate as standards set by any official standards organization. It is a misrepresentation to say that Microsoft software only works with other Microsoft software. Microsoft has fostered a huge ecosystem of ISVs who conform to the standards that it sets. There is a belief in the Microsoft camp, justified or not, that software from vendors who conform to the Microsoft Standard interoperates at least as well, if not better than, software from vendors who conform to Open Standards.
- The Open Standards camp is fractured. Standards are meant to foster cooperation, innovation, and customer choice. Unfortunately, in the melee of competition, large vendors are often guilty of using standards to club each other over the heads. They also use them, ironically, to keep smaller vendors out of the running by eliminating the possibility of innovation and reducing any competition to one of superior implementation of the given standard, which clearly favors large established vendors.
- Microsoft is getting into the open standards game. Microsoft has been one of the loudest champions of open standards for XML and Web Services and has moved agressively to make C# an official standard. And they seem to be having a high time clubbing Sun over the head with various aspects of the Web Services standards process. Now, none of us believe that they truly believe in the philosophy of open standards, and there are even rumors that they will shortly abandon the official Web Services standards when they release Indigo. But in the meantime, their high visibility involvement in standards dulls the open standards arguments of the non-Microsoft camp.
In order to counter these problems, the Open Standards camp has got to make sure that the standards process really does achieve its goals of fostering innovation, allowing for fair competition, and giving customers unfettered choices. Microsofts domination of the desktop means that Open Standards become a more effective weapon only if more of the balance of power in the computing world moves away from the desktop and to the server room. And the Java world, specifically, needs to offer compelling benefits beyond the simple cry of non-proprietary to win over developers from the Microsoft camp.
(To be continued)