When we think of Oracle, we look at a dominant database player; we don’t think of an open source company. To a great extent, that’s true. But like most modern companies, Oracle is using open source quite a bit. Everyone has to do it. Oracle is giving back as well. Oracle may not be your typical champion of Open Source, but there are teams within Oracle that are doing quite a great deal of open source.
Big Bang: The Origin of Linux at Oracle
Most people think that Oracle started its Linux journey by taking on Red Hat by cloning RHEL and creating Oracle Linux. Many others think that Oracle was introduced to open source via the Sun Microsystem acquisition.
The fact is Oracle had much more ambitious plans with Linux back in 2000. Long before Canonical and Google came to exist with their own Linux platforms, Oracle founder Larry Ellison had created a company called New Internet Computer (NIC) to compete with Microsoft in the PC space. Oracle wanted to simplify the PC experience and Ellison appeared on the Oprah Show to showcase his machine. The device didn’t take off, but it did start Oracle’s deeper engagement with Linux and open source. NIC was using a Linux distribution developed by Wim Coekaerts.
I sat down with Wim Coekaerts, who is now Senior Vice President, Operating Systems and Virtualization Engineering at Oracle to learn more about that untold story and better understand the contributions coming from Oracle.
Coekaerts has been involved with Linux from the earliest days when Linus Torvalds announced his kernel in the mailing list in 1991. Coekaerts downloaded Torvalds’ kernel and compiled it.
Coekaerts moved from Belgium to the US as he joined Oracle. By 1998, just a few years after the Linux release, Oracle started porting its products to Linux. “In the early days, it was more for testing and development. Many teams were working on porting databases to it and I helped them with it,” said Coekaerts.
Long lasting Affair With Linux
When Ellison announced his ambitious PC company to take on Microsoft, Coekaerts was deeply involved with the project and become a manager. The new company decided to outsource everything to Oracle and Coekaerts hired several of his friends to work on the project. The company didn’t succeed but Linux became critical for Oracle from a server point of view.
“We shifted focus from building an Internet appliance to working on Linux for Oracle. Our Linux team continued to grow within Oracle,” said Coekaerts.
Oracle then launched its own Oracle Linux to help customers who were running Linux. Oracle Linux was more or less a clone of Red Hat Enterprise Linux, with a different policy towards kernel updates.
With Oracle Linux, the company became a typical Linux vendor. “We have support, sales, development, QA, product management, partner management, documentation training… everything to expect from a Linux vendor like Red Hat or SUSE,” he said.
The kernel development team within Oracle predates Oracle Linux. But as the market landscape changed, the Linux team started to grow. “We have a larger team that works on making the kernel better for Oracle. Oracle applications are just apps, so the work we do to make Linux better for Oracle database also makes it better for other databases such as DB2, MySQL or whatever it is. It makes Linux better for everyone,” he said.
Oracle also works on the kernel to make virtualization more efficient and secure for cloud computing. “The beauty of Linux is that whatever work you do to improve things in one area, also improves things in other areas. The efficiency and security for cloud also make Linux better for on-prem. It’s a cycle. Everyone benefits. We don’t really do anything for one particular area that’s not effective or also plugged into something else,” said Coekaerts.
A different kind of Linux, but the same
When it comes to Oracle Linux, the intent is to refresh the kernel on a regular basis. They use Greg’s stable branch and release a new version every 18-24 months.
“Unlike other vendors, we don’t have to back-port much because typically what we ship as part of Oracle Linux is very close to mainland kernel bug fixes. If there are any back-ports, they are minor. Developers want to work on new stuff instead of back-porting old stuff. That’s what our developers do and that also helps retain people,” he said.
It also helps the kernel community itself. If Oracle is using an older version of the kernel which is 4-5 years old with a lot of changes and find some bugs in there, its probably not relevant to most people as they are running something newer.
“You end up fixing a bug in something that won’t benefit you going forward as you will move to the next version of Linux, at the same time it won’t benefit the broader Linux community as they are also using something newer,” he explained. “I think our amount of contributions to bug fixes is more relevant and better. My philosophy is to make mainline stable and then everything else becomes a lot easier.”
Coekaerts’ teams work on many different components of the kernel, whether its networking or storage. You may not know, but the maintainer of XFS file systems, Darrick J. Wong works at Oracle. So does the maintainer of NFS Client for Linux, Chuck Lever. Then there is Mark Peterson who maintains the Linux SCSI layer.
All these leading maintainers get paid by Oracle to work directly on the upstream Linux code. They don’t do that work on Oracle Linux, they work on Torvalds’ Linux. “In fact, most of the kernel team works on upstream Linux. All of the work that we do goes upstream and then we pick them from upstream to include in Oracle Linux for production,” he said.
Another contribution that comes from Oracle is bug fixing. “We do a lot of testing. As a cloud vendor, we run thousands and thousands of servers. When something fails and breaks, we have to fix things. When we find and fix a bug, we send it upstream,” he said.
One of the most interesting members of Coekaerts’ team is Dan Carpenter who works on the Linux kernel but lives in Africa. He changes countries every few years and works out of Internet cafes. He has written the static code analyzers and runs them to find bugs upstream and submit them.
“Carpenter has effectively no direct association with any Oracle product, he works for Oracle but all of his works goes toward fixing security in upstream,” said Coekaerts.
As we all know, with the acquisition of Sun Microsystems, Oracle was able to hold some of the biggest open source technologies including Java, OpenSolaris, OpenOffice, MySQL, VirtualBox and more. The company continues to maintain most of those projects. In addition, as Oracle is embracing cloud-native technologies like Kubernetes and containers, it’s also increasing its contribution to these projects. At the recent Oracle OpenWorld Conference, Oracle also organized a sub-event called CodeOne to showcase open source technologies and gave a Groundbreaker Award to open source projects.
The more I talk to folks at Oracle, the more I learn about the work they are doing with Linux and open source. But most of those stories remain untold. We will try to tell those stories. If you have once such story to tell, get in touch.