Zawinski’s Law

Today’s Eponymy in August continues Nerd Week with Zawinski’s Law.
In the eponymous’s own words:

“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.”

This is a somewhat snarky (but rather accurate) understanding of the evolutionary process of applications. Applications which aren’t broken enough to be unusable start to accrete new features as their developers and project managers need to justify their continued employment. Thus the evolutionary impetus of software is to expand, making it not unlike organisms, species, societies, or corporations. Zawinski’s law is not meant to be taken literally as stated; the implementation of a messaging feature (as well as many other features) is an emergent property of two different evolutions: useful applications evolving into toolkits and platforms, and applications being designed and built around the need for users to have related tools available in context.

Jamie Zawinski, also known by his initials jwz, was one of the original engineers at Netscape, and created the mail and news client for Netscape Communicator. Before that he worked at Lucid on Lucid Emacs, the first Emacs with a proper graphical UI (which later became XEmacs). It’s not a coincidence that both of the flagship applications of these companies expanded to the point where they could read mail.

jwz is a rare example of someone who got in and out of the tech game before the bust came, and stayed out. In 1999 he bought the space that became DNA Lounge in San Francisco, and has been running it ever since, along with one of SF’s better 24-hour eateries, DNA Pizza.