WS-Goldylocks & The Seven Layers

I’d like to comment on Steve’s post on the WS-* standards process, specifically on how the standards have been produced. A “real” standards process may or may not add any significant value to any given standard. Quite frankly, it depends a lot more on the people involved than anything else. What a “real” process certainly adds is a lot more time until the standard is released. Almost by definition, standards are required to be the least common denominator of functionality, and deriving that LCD is hard work. But the world of web services is amazingly fast-paced. It seems like XML was just barely gaining its foothold in people’s brains and suddenly people were talking about SOAP and services. After that, we jumped into warp speed with everybody and their brother suddenly working together on WS-Security, WS-Trust, and all the others. And as Steve points out, while the standards may not be “real,” they are real enough that different vendors bits can talk to one another.

All of this reminds me of my college networking class. Frank taught us about the 7-Layer OSI Model for networks (what Chris joking refers to as “The Burrito”). The OSI Model was hashed through and arduously toiled over by the major industry players until it was agreed upon by all. And afterwards, there was much rejoicing!! Now everybody could understand how networks were to be constructed, and a new era of interoperability was born!

And then Frank told us to forget about the OSI Model. Nobody used it. The standard had been stillborn. While the industry had been fighting, the ARPANET, using a much simpler model, had proven Good Enough. It was so Good Enough, in fact, that it eventually became the Internet that we all now know and love. Nobody uses any other kind of network!

The moral of the story is that Good Enough running code will usually produce a de-facto standard that will trump everything else. Why bother with a full standards process for the Web Service languages? They are Good Enough as it is, despite the myriad of pitfalls we are sure to uncover in the future. And I have full faith in the community of developers to continue to produce such de-facto standards provided corporate politics and short-term profit are not allowed to trump the engineers’ best judgements.

Read that again.

The community of developers will continue to produce such de-facto standards provided corporate politics and short-term profit are not allowed to trump the engineers’ best judgements.

Be careful. It’s already happening. Some of the competing WS-* standards, such as WS-Eventing and WS-Notification, seem to exist primarily because companies are competing for control of the specs. Such fractures must be kept to a minimum if collaborative, chaordic engineering is to ever produce de-facto standards as successful as TCP/IP.

It is a rare environment when Getting Things Done is universally accepted as more important than Protecting Your Turf. We all need to keep the pressure up on the corporate powers-that-be to continue the cooperation that has so far proven very successful.