Microsoft is making encouraging noises about standards these days. Historically Microsoft ignored standards, in fact deliberately avoided them, in order to create totally proprietary products and to achieve a monopoly as a result.
They were of course not alone in this respect and in practice very few standards prior to the advent of the Internet had any impact on IT. IBM were the worst offender in the past with their own systems, networks, programming standards, etc. All IT suppliers made some noises about standards, but in the end they always modified (extended) them in some way or other, so that they were to all intents and purposes proprietary. Relational databases and SQL are a point in question. All vendors support the SQL language standard, but with so many specific features that it is very difficult to move an application to work with another RDBMS than the one is was first developed for. Oracle are by far the worst offenders in this respect, since they embed everything into their product.
More recently IBM has been more receptive to using standards in their products, but trhis is not some charitable approach, but a recognition that they are in the systems integration business. Unlike old systems, which were only needed to work with a few other local applications, the modern requirements are to interwork with a variety of systems, some of which are under a specific companies control, but others which are the province of a customer or supplier. Today it is impossible to dictate which technologies are to be used throughout and so standards are more important. This is particularly true of e-commerce and explains why standards are suddenly being adopted by suppliers. The skill on the part of a supplier is to provide added value to products which will retain customer loyalty without violating the standard. Just think how ineffective the variety of incompatible e-mail systems were until the Internet forced a standard upon us. The Internet in the short time it has been of commercial interest has achieved more in the way of standards than the rest of IT history put together.
But while standards can be relatively easily exploited by large scale system suppliers such as Oracle, Sun, etc., it is far more of a problem for Microsoft. They are the only major supplier who still uses totally proprietary standards throughout their range. In contrast Oracle or Sybase will run on IBM, Sun, HP, etc. systems, which while it doesn’t guarantee standards, is at least more flexible. But now Microsoft are trying to hijack the Web and that means that they must use the standards defined in the first instance. Somehow these must be incorporated into the Microsoft software, without making them open.
So far Microsoft have won the browser battle by extending the basic "standard" browser to integrate with Windows (and thus not work properly with anything else). They have also delivered Windows based servers, using standards like HTML, but with programming interfaces such as Active Server Pages (ASP) tying users in again; this is in contrast to the openness of Java-based application servers.
Users are aware of the trap Microsoft is setting and many are wary of it. Thus with their .NET strategy they have made a new move towards exploiting standards by trying to make one of their own interfaces into an open one. This is a reasonable approach, since the same has been achieved by Sun, who still own the Java specification. In Microsoft’s case the alternative to Java is C# and the associated run-time system called CLI. These Microsoft have offered to make open, so that others could develop products which would allow programs to run on non-Microsoft platforms. If Sun can do it, why not Microsoft?
It would appear that Europeans have been far more afraid of Microsoft taking over the Web than the Americans, and there was a fairly strong objection. However by offering C# and CLI as open standards they appear to have succeeded and the latest news is that ECMA, which is effectively the authority outside of the USA, has approved this move. Personally I have absolutely no faith in Microsoft were standards are concerned and I still back Java. ECMA approval is some advantage to Microsoft, but once again can I remind everyone of how incompatible SQL databases are, so don’t expect much from Microsoft.