Zawinski's Law of Software Envelopment

Zawinski’s Law of Software Envelopment states: “Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.” It is the work of Jamie Zawinski, known as jwz, a programmer at Netscape who worked on the Navigator browser and later on its mail and news client. Zawinski coined the law in the mid-1990s and refers to it on his own site, jwz.org, where he describes Netscape’s growth from a browser into a mail-reading suite as his own contribution to the proof of the law. The Jargon File also records the law and attributes it to him.

The law is a wry observation about feature accretion. A program that does one thing well attracts users, and users want it to do the adjacent things too, until it absorbs whole categories of functionality that have nothing to do with its original purpose. Reading mail was Zawinski’s chosen example because in the mid-1990s mail was the killer application: if your tool could not handle mail, users would switch to a competitor that could. Netscape’s own trajectory, from a lean browser to a sprawling Communicator suite with mail, news, and an HTML editor, was the case in point.

There is a sharper edge to the law than simple humor about bloat. The second sentence is the one that bites: programs that resist expansion get replaced by ones that do not. This frames feature creep not as a failure of discipline but as an evolutionary pressure. Minimalist tools are out-competed in the market by maximalist ones, regardless of whether the extra features make the software better engineered. Bloat, in this reading, is not a bug in the development process but a stable outcome of how software competes for users.

The law has aged in interesting ways. The specific example of mail reading has dated, but the pattern generalized perfectly. In later decades the expansion target shifted: chat applications grew video calls, code editors grew package managers and embedded terminals, and nearly every application of sufficient ambition grew a plugin system that let it become a platform for other applications. The mail-reading clause is now read as a stand-in for “everything,” the gravitational pull toward becoming an operating system.

Zawinski’s Law sits in the same tradition as the other dry laws of programming culture: short, funny, attributed to a named person, and true enough to keep getting quoted. It captures a tension every product team eventually faces between the focused tool that does one thing well and the comprehensive suite that does everything adequately, and it predicts, a little pessimistically, which one usually wins.

Sources

Last verified June 8, 2026