In 2010 when Oracle acquired Sun Microsystems -- and along with it, an open source portfolio that included the MySQL database -- the open source community acted as if the sky was falling. At the time Oracle was right behind Microsoft as the most feared (or hated, take your pick) company on the planet by open source advocates, a position it had earned a few years earlier when it forked Red Hat Enterprise Linux and announced a support scheme that was seen as a blatant attempt to poach Red Hat's paying subscribers.
The immediate fear, since Oracle is in the database business, was the company would pull the plug on the database that was the backbone of countless businesses and websites, and which was a necessary component of much open source software.
Right away Monty Widenius, part of the team that had started MySQL in the mid-1990s, forked the project to create MariaDB as a drop-in replacement for MySQL. The industry was set for a MySQL vs. MariaDB showdown.
"When they took over MySQL, a lot of us worried 'what does Oracle need with yet another database?'" Dave Stokes, MySQL's community manager, told ItPro Today at the SouthEast Linux Fest (SELF) in Charlotte, N.C. "It turns out Oracle is really good at running database companies, and looked at our product and said, 'You're really strong here, you're not strong here. Go out and get some engineering talent and take care of it.'"
Stokes should know since he was along for the ride at MySQL during two separate sales -- not only during the Oracle acquisition, but also the days when Widenius and his partners sold MySQL AB, the Swedish company originally behind the database, to Sun in 2008.
Although Sun left this world with a pretty clean open source record, having released two of its proprietary crown jewels, Java and the Unix operating system Solaris, as well as its MS Office alternative Star Office, under open source licenses, the later as OpenOffice.org, Stokes remembers transitioning to Oracle as being easier than transitioning to Sun.
"It was more of a shock going from MySQL AB, this wonderful little Scandinavian company where you had 27 days off plus national holidays," he said. "Sun had its own problems, and I don't think they really knew what to do with this, so there were some mixed messages when I came on."
The public perception was the opposite. When Sun purchased MySQL, there was little notice. With its purchase by Oracle, the open source community gathered up proverbial pitchforks and proclaimed MariaDB as the new king. But the expected database war never happened -- which, to this day, is a thorn in the side of many open source advocates.
Why did the dust settle so quickly? The dirty little secret that Oracle-haters don't want to consider is that Oracle has been surprisingly good at stewarding the open source properties it inherited from Sun.
It's made a few missteps along the way, such as losing control of OpenOffice after a developer revolt led to the project being forked and released as LibreOffice. And in 2013 the Department of Homeland Security advised users to disable Java due to numerous unpatched security issues.
And although OpenOffice eventually ended up under the Apache Foundation's control (which probably didn't matter to Oracle as it wasn't a project that could be easily monetized), the company eventually got a handle on its Java problems and the program today is a valuable part of Big Red's open source portfolio.
Oracle avoided such gaffes with MySQL, and except for Red Hat and a handful of Linux distributions switching to MariaDB, there has been no wholesale move to replace MySQL except in the days immediately after the acquisition.
According to Stokes, part of the reason for this wasn't due to a lack of mistrust of Oracle, but because MySQL contained features that didn't make it into MariaDB.
"There were some folks who were saying OMG, Oracle is evil, we're going to have to port everything over to Maria right now," he said. "Some of those folks came back to me and said 'Maria doesn't have a Json data type, we need a Json data type, what'll we do?' Well, there's MySQL, or you can go bug the Maria folks. I have some friends who work at Maria, they're wonderful folks and they're hardworking and all that, but if you need the Json data type, you're coming to us. It's cut and dry. It's really not good or bad, it's just if you need this feature, we have it."
It wasn't just the features. Over time it became apparent that MySQL wasn't going to be shuttered, nor was Oracle going to turn the free and open source version of the database into crippleware to push sales of the enterprise edition.
"There's always going to be people who are going to gripe," Stokes said, "but for the most part when I go to shows, you hear the Bookings.coms, you hear the Tencent.coms, all these other folks, saying Oracle's a great steward for MySQL. Percona's head evangelist, Colin Charles, who before Percona was with MariaDB, was with MySQL, said Oracle's turned out to be an amazingly good steward of the MySQL codebase. When looking at all the new features being added, even some of the ancillary things like MySQL Document Store and Group Replication, everyone was going, you know that's some pretty neat stuff and it works pretty well."
Another reason for MySQL's success under Big Red is that surprisingly for a company that's perceived as handling customers and developers alike with a heavy hand, Oracle hasn't attempted to integrate the project too completely into the corporate structure, although Larry Ellison did stoke fears with the appointment of Edward Screven, the company's chief corporate architect, to be in charge of the project.
"Oracle has had very few corporate diktats," he said. "Make sure you can back up to the big Oracle backup drives, make sure your encryption works in the Audit Vault, make sure you work with the encryption key vault and all of the other stuff like that. Other than that, they're very hands off. Mark Hurd, Safra Catz, Larry Ellison aren't popping the cover on the MySQL bin every couple of days to make sure we're behaving. We're trusted to be adults and we're going out and doing great things. And in the past eight years since Oracle took over, the engineering rigor has really improved the product.
"We're kind of off in our own little silo. Rich Mason, who's our head under Edward Screven, tries to keep it like a startup. He says he's amazed at the people in the company. He says it feels like an aggressive little startup company. We move rather quickly on things that we can. Eighty-five percent of us work from home, so there's a lot of communications done through Slack channels, email, face-to-face meetings when we can get together. So, it's one of those things where it feels more like MySQL AB than it did MySQL AB under Sun, which is kind of odd."
One of the measures of the success for an open source project that's under the control of a proprietary company is the amount of support it receives from outside developers. As a community manager, Stokes' duties include working with MySQL community contributors who aren't connected with Oracle. He said that many features in MySQL come from outside contributors, pointing out that the generated column feature and the latest version of Instant ADD COLUMN both came from the community.
"Unfortunately, part of the rap against MySQL, part of the FUD, is 'oh, they don't take any contributions,'" he said. "The other thing is that you have to sign an Oracle Contributor Agreement to contribute code to Oracle. If you read it, it's like five or six paragraphs, not legalese, which basically says the code you're presenting is actually your code, that you're not using someone else's code, it's yours; you retain the rights, we retain some rights; this is how we're going to use it."
He said that at a Linux leaders' conference last year he went over Oracle's contributor's agreement in a presentation that was attended by many lawyers. "They were expecting to find out that this is Frankenstein's monster where you donate your kidney, wake up in the morning in a bathtub full of ice with a note saying 'thanks for your internal organs,' and they looked at it and said 'Oh my God, that's so simple and easy to read.'"
Stokes said the MySQL team also pays attention to bug reports and feature requests from the user community.
"There's a gentleman here at the SouthEast Linux Fest who last November saw me because he's filed bugs on MySQL Workbench," he explained. "He said, 'Do you have any idea how quickly you're going to be able to turn that around?' No idea. I didn't know what the engineering schedule was, as we were pushing for MySQL 8 and all that. Well, last week he got notice that his bug requests were being answered and things were being fixed for him. It does take time, but we do get to things."