Two jokes have been repeatedly made in IT circles over standards for as long as I can remember. "The beauty of standards is that there are so many to chose from" and "working with standards is good for business because there will always be another one tomorrow".
It is a fact of life that the IT industry has always paid "lip service" to standards, while finding ways in which to exploit them. This is done by using the standard and then making proprietary additions, "industry standard, with the following extensions"; as soon as the extensions are used then it becomes a proprietary system!
This artificial adherence to standards is at its worst in database products. All relational DBMS exploit SQL as an interface language. In early releases there was no true SQL standard, so variations were inevitable, but today all the commercial products support the SQL standard. However they all have their own extensions for management and database administration, making them operationally incompatible, but they all have their own extra features, in particular the treatment of stored procedures, pre-compilers, etc. It is impractical to develop a major application using only the standard SQL programming interface, although in fairness ODBC and JDBC provide de facto standard interfaces suited to smaller applications. It is a topic for separate discussion, but it is possible that modern hardware is cheap enough to ignore performance enhancing extensions and to build major applications with ODBC/JDBC only. In practice this doesn’t happen and more and more function is being built into the RDBMS products, making portability even more difficult.
Standards however took a turn for the good with the acceptance of the Internet. There were no arguments about the pros and cons of SNA versus DECnet, etc., it was TCP/IP, take it or leave it. The so-called standard, OSI, never got a look in. Even the major suppliers such as IBM and Microsoft had to join in or else their products were not acceptable to the Internet community. Any arguments of superiority to TCP/IP were destroyed by the commercial necessity of joining the new bandwagon. Note that the leading vendors of proprietary communications, IBM and Digital, lost out badly. In contrast Sun and HP benefited from the universal acceptance of TCP/IP, because they were the major force behind commercial exploitation of Unix. Unix and TCP/IP were inextricably linked from the beginning because of the influence of the Universities.
Prior to the Internet, the only other standard that I can think of that had any impact was EDI, and that was only in limited groups. The key to the dominance of the de facto EDI standards was similar to that of the Internet, albeit on a smaller scale. With EDI and Internet services such as e-mail, there is a global spread of users. EDI is an inter-company concept. Traditional data processing systems were built to serve the one organisation, so that only internal de facto standards were of any relevance. Even then there were major problems of incompatibility between departments and even between applications in the same department. It often became a nightmare with mergers and acquisitions! Today with e-commerce the same need to cooperate between separate companies has come to the fore, in theory bringing with it the good principles established by EDI, and this time for everyone!
However, all is not well. Already there are major opposing factions in the Microsoft (.NET) camp and the Sun (J2EE) set. The latter includes almost everyone except Microsoft, but they are not totally in agreement. They are on the surface far more committed to standards than at any time in the past, but I fear that much of this is an anti-Microsoft stand and it is very uncomfortable that Sun Microsystems are still the authority for the Java related standards.
XML is a case in point. It is a true standard, supported by the W3C. It is fully supported by all and sundry, but there is a snag. XML is only a language, how it is used will influence compatibility. In the specific case of using XML in B2B applications, it is the schema that define the message content and there is no single accepted standard for schema. All this seems very familiar to me!
I suppose the bottom line is that al suppliers need a unique selling point, so that they must introduce extensions to whatever standards exist. It will be interesting to see however if this turns out to be yet another point in favour of Open Source Software.