Running Code

by Peter Saint-Andre

2007-08-02

Over on the ietf-discuss list, Dave Crocker saith:

Certainly there were early prototypes of OSI modules, and even running products. Clearly, that was not enough. In contrast, the Internet code was deployed and used in a running service, with increasing scale. So the distinction between prototype and production is probably of fundamental importance. (I think that Dave Clark really meant "running service" when he said "running code".)

I think there's much wisdom here. Consider:

  1. It's one thing to write a clear spec for a well-designed protocol (I'm not saying it's an easy thing, either!).
  2. It's another thing to write clean, logical code that implements the spec (not something I'm good at).
  3. It's yet another thing to operationalize that code in a significant deployment and service the users of that deployment (something I've gained experience with at the jabber.org IM service).

Each of these stages is a gating process that separates an interesting experiment from a truly Internet-scale technology. Perhaps we should force spec writers to either write code or deploy services. (Example: shall every XMPP Council member be required to help administer the jabber.org IM service?)

Just a thought. :-)


Peter Saint-Andre > Journal