Developer Talesjavahibernateopen sourceprogramming history
Hibernate started the morning after Gavin King lost the argument, and it shipped under his employer's package name
Charles Miller, who worked at Cirrus Technologies in 2001, writes down how Hibernate began: management chose hand-written SQL over Gavin King's persistence idea, everyone went to the bar, and King wrote the first classes the next day before his flight home.

Cirrus Technologies made its money getting big companies to buy IBM’s WebSphere, then renting them developers who knew how it worked. Miller puts the head count at about fifteen at its peak, with a detail he admits is embarrassing: “Four of them were called David, which embarrassingly meant the company had three more Davids than it had women.”
The project that broke things was so cursed the team stopped saying its name and called it, in Shakespearean tradition, The Scottish Project. The culprit was Enterprise Java Beans. Miller’s description of what an EJB demanded is the best one-line review the spec ever got: “developing an EJB required you to write two different interfaces, and then an implementation that did not implement either interface.”
King was already fighting back. His side project, cirrus.inf, stood for “infrastructure,” and its first piece had nothing to do with databases. It was a lightweight replacement for Struts.
With a deadline about to blow, Cirrus flew its Melbourne office to Sydney “for two days of intense meetings.” Three camps formed. Management wanted to stay the course with EJBs, the product it had just sold the customer. Most developers wanted to drop entity beans for hand-written SQL. King and Daniel Bradby wanted a persistence framework “using concepts borrowed from successful Smalltalk frameworks.”
Nobody voted. “After a long, long argument, we finally got management to compromise as far as option two, went to The Establishment, and drowned our sorrows,” Miller writes. King’s idea was a cool one, everyone agreed, just not for right now.
Then the hangover. “The next day, with not much to do before getting on a plane back to Melbourne, Gavin sat down at a CRT monitor … and stubbornly laid down the first few classes of his persistence framework.”
The Scottish Project, Miller notes, “continued on into disaster.” A few months later Hibernate came out under the LGPL, still inside cirrus.inf, to the grumbling of managers who wanted credit “for a project they did nothing to support.” Vlad Mihalcea, who later worked on Hibernate, dates the first version to May 23, 2001. Miller says up front he was a peripheral player twenty-five years later and is “probably going to get a few of them wrong,” and King himself hasn’t weighed in on this telling.
A version of this story today probably hits the IP clause in the employee handbook before it reaches a release. That pushes the side project onto a personal account with a personal name in the package, and the company that hosted the losing meeting drops out of the history entirely, along with whatever it might have claimed.
The irony Miller saves for last is that he never used Hibernate at Cirrus. His first real project with it came after he moved to Atlassian, on Confluence. Somewhere there’s a version of this story told by the managers in that Sydney room, and by King, and those two tellings probably don’t match this one.