Eclipse, or the IDE that cost IBM $40 million and then became free
VisualAge for Java did not store source code in files. This was not an oversight — it was a design choice inherited from the Smalltalk tradition, where code lived in an object database rather than on a filesystem. The integration was seamless; the isolation was complete. You could not run CVS on your project, could not open a source file in another editor, could not pipe a build through Ant. By 2000, VisualAge was the most popular Java IDE in enterprise shops, and it had become a kind of friendly trap.
IBM’s answer was to throw it away and start over. On November 7, 2001, the company published the source code to a new platform called Eclipse and announced a founding consortium of nine software vendors — Borland, Red Hat, SuSE, and six others — who would develop it as open-source software (Wikipedia). The source code IBM donated was valued at roughly $40 million (InfoQ). The price to download it was zero.
Eclipse was designed as what its architects called “a universal tool platform — an open extensible IDE for anything and nothing in particular.” The core was intentionally small; nearly everything else was a plug-in. A plug-in could add a language, a debugger, a version control client, a build system, or a diagram editor. IBM had built it to compete with Microsoft’s Visual Studio, but by making the platform genuinely open, it turned professional Java tooling into something any company or individual could build on rather than merely inhabit (Eclipse Foundation).
The lead architect of Eclipse’s Java Development Tools was Erich Gamma, working from IBM’s laboratory in Zurich. Gamma was one of the four co-authors of Design Patterns: Elements of Reusable Object-Oriented Software (1994), the book that gave a generation of programmers its vocabulary for structure — Observer, Strategy, Composite, Factory. He had also co-written JUnit with Kent Beck. When Gamma built Eclipse’s plug-in system, he used the same pattern language the book had codified. The architecture and the analysis came from the same source.
Eclipse 3.0, released in June 2004, replaced the original plug-in loader with the OSGi Service Platform, allowing modules to load and unload at runtime without restarting the IDE (Wikipedia). It was a detail that mattered enormously to enterprise toolmakers, who could now ship Eclipse-based products without forcing customers to restart a multi-gigabyte workspace to activate a new feature. By mid-decade, Eclipse was the dominant Java IDE, embedded inside IBM’s WebSphere Studio, BEA’s Workshop, and dozens of other products whose names were not Eclipse at all.
In 2012, the Association for Computing Machinery gave Eclipse the ACM Software System Award — an honor previously given to Unix and the original Internet protocols (Wikipedia). The citation was not about Java. It was about the architecture.
The plug-in idea outlasted the platform’s dominance. Every major IDE that followed — IntelliJ IDEA, Visual Studio Code, Zed — is built on the same premise: the editor is a host for other people’s tools, not a finished product.
Sources
- Eclipse (software) — Wikipedia — founding date, consortium members, $40M investment figure, OSGi adoption in version 3.0, ACM Software System Award.
- Ten Years of Eclipse — InfoQ — IBM/OTI origins, VisualAge for Java’s object-database architecture as the motivation for Eclipse, $40M donation.
- Celebrating Eclipse at 20 — Eclipse Foundation Blog — Erich Gamma’s role as Java Development Tools lead, “universal tool platform” design philosophy, intent to counter Visual Studio.