More on Project X today, but I digressed to have an interesting discussion with my co-conspirator. We were talking about the differences in approach between ad-hoc standards bodies like the IETF and the more official committee-driven international bodies (like the ITU, ISO or the OIF). The more lightweight approach always seems to win out; I guess the main reason is because the committee-driven approaches have a tendency to settle an argument between approach A and approach B by including two distinct modes in the resulting standard, thus implementing both. By the end of the standards process, the net result is almost unimplementably complicated.
The more open approach also seems to work well in competition against standards that aren't decided by committee, but which are fairly tied-in to particular manufacturers. Not so sure why that should be the case, but the comparative expense presumably plays a part.
As an aside, both of these are actually illustrated by the very first piece of software I worked on. This was back in 1987, and I was part of a team implementing an email gatewayback when almost no-one in the world had heard of the concept of email. To this day, almost no-one in the world has heard of the two different email protocols that we were converting between: X.400 (an ISO standardized protocol) and SNADS (an IBM-specific technology). It was another four years before I actually got an email account of my own, and that was of course an SMTP account.
The list of open, simpler standards trouncing the expensive, complex standards is pretty long (and this is just the ones I happen to know something about).
- SMTP vs X.400 (ITU)
- SMTP vs SNADS (IBM)
- IP vs APPC (IBM)
- IP vs OSI Level 4 (ISO)
- LDAP vs X.500 (ITU)
- SIP vs H.323 (ITU)
- XML vs SGML (ISO)
- VNC vs T.128 (ITU/Microsoft)
- OSPF vs IS-IS (ITU)
This doesn't seem to apply so much to the lower layers; the standards for things like Ethernet, Token Ring, X.25, SDLC, SONET, SDH and even ATM have all been pretty successful. I guess it's harder to end up with an all-inclusive compromise for hardware: it's not possible to have a pin that handles either nine volts or six volts. (Although they seemed to try hard with ATM: 53-byte cells just seems like such an odd number, you suspect it was arrived at as a weighted average between those who wanted 48-bytes and those who wanted 64-bytes).