At some point in the story of any startup there’s a crisis. I don’t mean a minor setback like missing a ship date, a large customer churns or a key employee leaves to join a competitor. Startups are volatile and you get used to those kinds of ups and downs. A major Crisis with a capital C, has the potential to kill your company.
We saw one such crisis in 2020 with the emergence of the coronavirus. In a few weeks, the entire world changed. Travel, entertainment and hospitality industries shut down. Schools and businesses moved to a work from home model. The retail industry pivoted to online. Customers paused their purchases and nothing was normal. In the early days of the coronavirus crisis, I helped a few different startups re-evaluate their business and take action. I don’t think any of them regretted moving quickly to the new reality.
For a few months everything was at risk and then suddenly some businesses were accelerating like crazy while others faced losses. While I hope none of us go through a healthcare crisis like that again, major economic downturns have impacted the startup world about every 5-10 years. While the macroeconomic risks are real, when those downturns happen, they impact almost all businesses.
The other type of crisis is one that hits only your company. It could be a security breach. Or perhaps a major outage. Maybe you’ve uncovered a legal or ethical violation. Or a key technology supplier has been acquired. I’ve seen all of these and worse. So let me share some thoughts and observations for managers, leaders and founders. During a time of crisis the most important points are:
Communicate
Don’t play the blame game
Focus
Develop contingency plans
Make hard decisions
Take bold action sooner than later
Operating in a crisis is truly a test of leadership. All eyes are on the management team to see how they respond. And that will include your board.
One of the most serious crises I had to manage through was at MySQL. October 7, 2005 became known as InnoDB Friday.
We had a board meeting that morning in London, the first board meeting I had not attended in person. After many months of back and forth negotiations, CEO Marten Mickos had gotten approval to pursue the acquisition of a small Finnish software company called Innobase OY that had created the InnoDB storage engine.
InnoDB was an ACID-compliant transactional storage engine for MySQL. The default storage engine for MySQL was MyISAM, which was a light-weight engine that achieved high-performance and simplicity for read-most applications by eliminating the overhead of transactions. InnoDB was wildly popular, used by 40% or more of our customers. Large customers with business critical applications were completely dependent on InnoDB. We were about eighteen months into a two-year agreement with Innobase OY that gave us commercial license rights.
I had met Innobase OY founder and CEO Heikki Tuuri at his Helsinki office earlier that year. Heikki was a smart and proud man. He was a brilliant programmer, a quirky individual and very independent entrepreneur. He struck me as quite cool, almost Vulcan, and not easily trusting.
I reported back to Marten and the MySQL founders that I thought was should move quickly to acquire the firm. It was too important to our business to have a third party dependency. The MySQL founders had worked closely with Heikki and viewed him as a friend to the company. The consensus was, he was loyal and wasn’t going anywhere. I wasn’t so sure.
At any rate, our board meeting had gone well, Marten had the approval he needed to make a deal happen. I remember it was just after 1pm and I was sitting in my office in Cupertino and thinking we should go for lunch at House of Felafel, a local favorite. Just after the New York markets closed, Oracle issued a press release:
Oracle Announces the Acquisition of Open Source Software Company, Innobase
Oracle Plans to Increase Support for Open Source Software
REDWOOD SHORES, Calif., 07-OCT-2005
Oracle Corporation today announced the acquisition of Finland-based Innobase OY. Innobase is the developer of discrete transactional database technology, InnoDB, that is distributed under an open source license. "Oracle has long been a supporter of open source software such as Linux and Apache," said Charles Rozwat, Oracle's Executive Vice President in charge of Database and Middleware Technology. "Innobase is an innovative small company that develops open source database technology. Oracle intends to continue developing the InnoDB technology and expand our commitment to open source software. Oracle has already developed and contributed an open source clustered file system to Linux. We expect to make additional contributions in the future."
InnoDB is not a standalone database product: it is distributed as a part of the MySQL database. InnoDB's contractual relationship with MySQL comes up for renewal next year. Oracle fully expects to negotiate an extension of that relationship.
Terms of the transaction were not disclosed.
Fuck.
Fuck. Fuck. Fuck!
I wondered: will we still be in business Monday? And if I was wondering about it, so were our nearly two hundred employees around the world.
The next hour was a blur. I remember having an IRC conversation with some execs in Europe. I was on the phone with Marten from London and also having a Skype call with Jeff our head of Marketing, while simultaneously trying to locate our PR manager Steve who was also in Europe.
Oracle President Chuck Philips called Marten to say “We didn’t do this to slow you down.” Well, bless your heart.
We agreed Marten would send a message to all employees, reiterating that we had a commercial license in place with Innobase. And we were free to continue to use InnoDB under its open source GPL license regardless of the change of ownership.
I committed to issuing a public statement by end of day that we could share with customers, prospects and partners.
Edwin, one of the most creative marketing people I’ve worked with, suggested we announce MySQL’s pluggable storage engine architecture. This enabled users to swap different storage engines including MyISAM, InnoDB and a couple of others (CSV, in-memory) that were barely used, but proved the point. We welcomed Oracle to the party and made a virtue of our open architecture.
Reality was a bit more complicated. MySQL was open like the backplane of a switchboard. There was a lot of cabling required to create or connect a new storage engine. Nonetheless, the idea was grounded in Engineering reality even if we glossed over the complexity. The engineers were excited because we were making a big deal out of something that really was unique and valuable. We managed to get out a blog post a landing page, customer emails and a press release —all by 5pm that day.
You Can’t Kill A Dolphin…
Marten returned from London Saturday. We brainstormed at his house for several hours and on Monday and we announced our new open storage engine program. In press meetings Marten said "Trying to kill MySQL by buying InnoDB is like trying to kill a dolphin by drinking the ocean.” (The MySQL logo featured a dolphin as the embodiment of open source collaboration.) The open source community rallied around us and within weeks we had several alternative engines in the works.
That weekend began a period of intense overtime. The executive team met every Saturday at Marten’s house for the next six months to work through our storage engine plans. We worked on Plan B, C and D in parallel.
Marten and I had regular meetings with Ken Jacobs, our handler from Oracle. There was continuous pressure for us to walk-back our commitment to open source with the threat of losing the InnoDB agreement. We would nod our heads, listen politely and then calmly explain how the open source community would not go for it.
Marten and I believed that open source was the raison d’être of MySQL. If we backed down from open source, it would destroy what made MySQL unique in the market place. And if we lost the Innobase contract, that would kill a big chunk of our commercial sales.
We were staring down the barrel of a gun, doing our best not to blink.
One of the founders had been at work for some time on an alternative storage engine called Maria. But when we looked under the covers, there was a lot less there than we thought. Maria was still years away.
We reached out to other database companies to see what might work. We had always respected the Sleepycat team and they began work on updating and integrating their BerkelyDB storage engine. We were making great progress and trying to figure out how best to integrate the team with ours via acquisition. I was excited about the prospect of working more closely with CEO Mike Olson, a standup guy who I thought would be a terrific addition to the company.
Unfortunately, on February 14, Oracle announced another acquisition.
We didn’t take it personally. Mike found a good outcome for his company Sleepycat Software. But we were disappointed that we weren’t joining forces.
In parallel, we met with teams from Progress, Solid and other legacy vendors. Although these were older products, they had proven transaction engines. And MySQL represented a growth opportunity.
Meanwhile, we had large deals stalling. We missed our quarterly results for the first time ever. To ensure there was no doubt about our ongoing viability, Marten and Dennis our CFO worked on our Series C funding. We were cash-flow positive, but we wanted to signal to the market that no matter what happened, we had enough to cash to continue to grow. We announced $18.5m in funding from IVP, Red Hat and SAP Ventures February 14, 2006.
A week later we announced the acquisition of a tiny Boston area startup, Netfrastructure for their Falcon DB storage engine. The company was founded by Jim Starkey, one of the great innovators of the relational database industry and the inventor of Blobs (Binary large object storage), MVCC (Multi-version concurrency control) and creator of Interbase and the open source database Firebird.
This began another overtime project as we worked to bring what was effectively a beta stage storage engine into a mainstream production database.
Meanwhile, we braced for the worst with Oracle. Our contract with Innobase OY was such that it auto-renewed April 5 unless there was an explicit cancelation notice. Our legal team retained Finland’s most prestigious law firm to prepare a court filing for an emergency stay of the termination on antitrust and unfair competition ground. In the event the contract was terminated we would challenge it under Finnish law.
In the days leading up, everything went quiet. We didn’t hear from Oracle. When the office staff in Uppsala, Sweden went home at the close of business that day, we told them to unplug the fax machine. Marten checked his email spam folders. Nothing. We waited another day, just in case there was any confusion. Then Marten sent Ken Jacobs a thank you email for renewing.
At the MySQL conference a couple of weeks later we announced more details of our storage engine partner program with Solid and others. We also gave Oracle our “partner of the year” award for being such a great steward of InnoDB. Ken thought that was well played and accepted the award on with grace and humor.
We had another two years guaranteed with the contract renewal and we continued to invest time and effort in Maria, Falcon and other alternatives.
In the meantime, Marten asked me to take over Engineering. And at the same time, my mother was dying of cancer. Things didn’t let up for quite some time. I recall getting raked over the coals in a summer board meeting for not hitting our milestone dates on the Falcon schedule.
As MySQL ARR approached the $100m mark, we thought it was somewhat comical that we were only paying Oracle $250k per year. The agreement was several years old and we’d never ratcheted up the original terms. Other than the psychological stress, it was a screaming good deal for us.
That said, we never really understood why Oracle renewed. Was it Larry Ellison’s decision? Or maybe Chuck Philips staying true to his word? Or maybe they had bigger fish to fry.
My personal view was that in standing up to Oracle, we showed the power of open source. We demonstrated that the MySQL open source community was more powerful than MySQL the company. And maybe it was bigger than Oracle.
After all, it was one thing to derail the company behind. But it was a completely different situation to alienate the community. That could have had significant impact on Oracle’s core business on Linux.
Whatever the reason may have been, we were grateful. MySQL’s growth got back on track and continued unabated.
Later that year, Oracle reached out to us about acquiring MySQL. We were skeptical, but Marten and I met with Oracle executives several times. The offers gradually increased from low-ball to interesting. And just when the executive team started to make our peace with selling to Oracle (codename Sierra Nevada), Marten had dinner with Sun Microsystems (codename Heineken.)
Sun moved quickly and made a $1b cash offer for the company, which we accepted. It was the largest software acquisition that year and one of the largest ever for a European software company.
But we didn’t do it to slow Oracle down.
Ironically, two years later, Oracle acquired all of Sun for $7b. And with that MySQL and InnoDB were reunited.
Some of the general lessons of managing a crisis are covered in Part 2.
Thanks to the 4th Box Club, Marten Mickos, Clint Smith, Dennis Wolf and Mark Burton for their contribution to this story and for getting us through the crisis. I’m glad we can laugh about it now. I’ve also written about MySQL’s disruptive strategy.