๐๐๐ฒ๐ฟ๐ ๐ฆ๐๐ฐ๐ฐ๐ฒ๐๐๐ณ๐๐น ๐ง๐ผ๐ผ๐น ๐๐๐ฒ๐ป๐๐๐ฎ๐น๐น๐ ๐๐ฒ๐ฐ๐ผ๐บ๐ฒ๐ ๐ฎ ๐ฃ๐น๐ฎ๐๐ณ๐ผ๐ฟ๐บ
In 1995, Jamie Zawinski watched Netscape Navigator grow from a browser into a "communicator" with email, a newsreader, and a web editor.
He called it the Law of Software Envelopment:
"Every program attempts to expand until it can read mail. Those programs that cannot grow are replaced by ones that can."
It was a joke about Netscape, yet it turned out to be a law.
The pattern is everywhere:
- ๐ฆ๐น๐ฎ๐ฐ๐ธ launched in 2013 to kill email. It now has voice calls, video meetings, file sharing, bots, and an app directory. The "just chat" tool is turning into a workplace OS.
- ๐๐ถ๐๐๐๐ฏ started as a place to host repos. It now has issue tracking, wikis, project boards, discussions, CI pipelines, package registries, and Copilot. Code hosting became a platform.
- ๐ฉ๐ฆ ๐๐ผ๐ฑ๐ฒ started as a lightweight code editor. It now has integrated debuggers, terminals, an extension marketplace, remote dev, and built-in AI.
- ๐๐ผ๐ผ๐ด๐น๐ฒ ๐๐ผ๐ฐ๐ started as an online word processor. It now has comments, real-time chat, tagging, task assignments, and email notifications.
- ๐๐ต๐ฟ๐ผ๐บ๐ฒ launched as a fast, lean browser. It now has an extension marketplace, sync, password management, payment integration, and ChromeOS built around it.
Same mechanism every time. The product gets popular and then the pressure shows up from three sides: power users asking for "just one more thing," competitors adding features the team feels they can't lose to, and PMs watching engagement minutes.
Each feature is defensible on its own. Nobody ever says "this one shouldn't ship." It's that all of them together change what the product is. By the time anyone notices, the simplicity that made it great is gone.
Zawinski's deeper point isn't that bloat is bad. It's that growth is one-way. Adding a feature is easy. Removing it is almost impossible, because every feature has users who depend on it (Hyrum's Law again). The only real lever is what you say no to in the first place.