Sometimes I joke in seminars “What do you call someone who believes that everyone should follow his standard but he should have to follow no-one else’s?”, Answer: an American. This is a cheap joke with suprising success, but icebreaks for a more serious discussion on vendor and developer attitude to standards; the quaint pioneer mythology that some Americans seem prone to, versus the desparate cooperativeness of the Australians, versus the desire for community of Europeans, versus the need for a level playing field from the Asian countries who see America as the periphery now. Of course, all stereotypes; reflecting on these stereotypes lets anyone thoughful think “Am I being like that stereotype American or like that stereotype European?“, so not valueless.

In a recent exchange, Linus Torvalds blasts specifications; he is plausible but overbroad, and sadly “American”.

With the initial caveat that his remarks really seem to be on the issue of kernel programming, and I’d leave that area to him, I think his remarks are mistaken, misleading and simplistic when applied to the wider world of software For a start, his argument is based on either abstract specifications or running code, when in real life you may have both. And, most importantly, you may (or may not) have access to a community as well. Worst, Torvald has a running assumption that a specification tells you how to implement something rather than (some of) what you want to achieve. Standards certainly strive very hard to avoid implementation-specific expressions, and standards seem to be what Linus is targetting at least in his examples.

Personally, I don’t care much for technologies that are controlled by one stakeholder, once they reach a position of niche dominance to the extent of discouraging new entrants. Microsoft or Linus. (I am terribly uncomfortable with having to be the driver for Schematron in a similar vein, I am a bad driver.)