Oracle Gets Serious About Free Software
An Interview With Oracle's Linux Point Man, Wim Coekaerts
We all have a pretty good idea what the world's largest software company thinks about Linux and open source, but what about its closest rival, Oracle? Though Oracle may make its money selling proprietary code, the company says it is about to get a lot more visible in its support of open source software. After years of contributing to the Linux kernel via third parties like Red Hat or SuSE, the database maker is now focusing on more direct participation on the Linux kernel list. And, in the next few weeks it is planning to release a major overhaul of its open source developer site.
But Oracle has been ramping up its open source efforts for close to a year now. Last August, Oracle released a GPL'd cluster filesystem, followed three months later by a nifty hack that allows Linux users to set up a two node Linux cluster on a Firewire drive. That code was written by Wim Coekaerts, who heads up Oracle's Linux's development effort. A Linux user since 1993, Coekaerts got seriously involved in Linux when Larry Ellison asked him to build a network computer based on the free OS in 1999. Since then, he's moved over to server-side development where as Principal Member of Technical Staff, Corporate Architecture Development, he leads a team of developers whose goal is to make sure that Linux fully supports Oracle's next-generation features. Coekaerts says that in the next little while, his company is going to become a much more visible force in the open source development landscape.
LinuxPlanet: When I look at Oracle's open source site, it doesn't really have a community feel to it.
Wim Coekaerts: We are in the process of setting up something like oss.oracle.com--an open source site like oss.sgi.com. We haven't really had a lot of time to focus on that side, and now we have more time to do it. We want to be able to share more with other people.
LP: So if you have a patch for the Oracle Cluster File System, it doesn't seem obvious how you'd contribute that right now? Is there a place where you can see discussions about Oracle's open source projects?
Coekaerts: You're right. We started working on something like this, but it wasn't very user-friendly, so now we're basically waiting for hardware to get set up and to set this thing up. In the next few weeks this will start happening. It will have a mailing list; it will have a bug database.
LP: For which projects?
Coekaerts: For the Cluster File System and the other stuff, like network failover, that we're working on. Just anything we do will now be published there.
LP: And the Fireware hack you did as well?
Coekaerts: Yes that will be there too.
LP: When Oracle first got involved with Linux, it worked very closely with Red Hat. What did Oracle get out of that relationship? Was it about getting features added to the Linux kernel, or did you just need a certain level of technical support?
Coekaerts: It was a mix of the two. For Oracle to run well, we needed asynchronous I/O for performance, we needed large memory support in the kernel to do more than four gigabyte Oracle instances, and stability: a lot of testing. So we worked really closely with them to do QA. We gave them our QA suites--not all of them, just different types that needed to be run on the operating system. So we built a good relationship. We know that when they build a new kernel, that they've gone through this whole testing phase from the Oracle side, and we feel comfortable with it.
From a support point of view, we didn't want to have a customer to have things fall apart when there was an operating system problem. So we did two things. One was, Red Hat has given a lot of support on Advanced Server. They have this special plan where you have 24 hour support--it's a different level of support. There's also stability: they have a 12-18 month cycle for specific distribution versions. That's also really important. Linux was really fast-changing, and as a company you don't want to follow that change. You want to have a stable production environment that changes once a year.
That's basically one of the big criteria that all of the OS vendors have. And now Red Hat has it with Advanced Server, and UnitedLinux has it with their server version of Linux.
And now we have the Unbreakable Linux campaign, which I've been trying to explain to people, because nobody really seems to understand it. An Oracle customer running on Advanced Server may call Oracle about the operating system. And that's a big deal, because customers who might be concerned about the size of Red Hat know that we have the resources. So there's one point of contact. Call Oracle, and we will help you across the whole stack. It helps the customers feel at ease, and it gives us a big advantage because it's the first OS where we can provide the full stack, and say, "here we can help you on the operating system side and on the Oracle product side." So it's much faster.
From a development perspective, we use Linux because we can develop features ourselves on the operating system side. The way we traditionally work with the other vendors is that somebody in the database group comes up with a brilliant idea, and says, "This would be so cool, but we need this in the operating system in order to do that." So we go to the vendor and say, "this is what we want." They go back and have discussions and sometimes they say "We can't do that." With Linux, we just do it. The guys from the database group come to my group, and we sit down and prototype something in a couple of weeks and say either "This is not going to work," or "This is great." It gives us the edge to be more competitive, faster.
LP: So if you're talking about a kernel change, how does Oracle make that a part of the standard kernel?
Coekaerts: Our goal is that all the operating system work we do at Oracle goes back to the Linux community. Sometimes it takes some time to get it into the standard kernel, but the goal is to get it in there. And we don't have to do it directly, because we work with the other guys.
We're not necessarily very visible to the Linux kernel mailing list, because a lot of those things go in through other people. We talk to the Red Hat developers and the SuSe developers weekly, and we give them patches. They funnel a lot of this through. So it doesn't necessarily come directly from us. We want to change that. There's the hang check timer, and there are some patches for semaphore operations that Linus accepted in 2.5.
LP: That came directly from you?
Coekaerts: From the guys in my group. So I think we're slowly changing the way we deal with the Linux guys, as in everybody needs to send email from their Oracle account instead of their home account. Instead of just talking to the distributors, we also send to the kernel mail list. In the past, our focus was to get this out there because our customers needed it. Our focus was not to market the Linux work. We needed to get the work done. Now we have some time to start explaining that.
Coekaerts: Because a lot of other companies are doing Linux stuff and they're very much in public. We want people to understand that we are doing a lot. We're not just saying, "Oh Linux is great. Bye." We are investing a lot of resources in it. There are a lot of internal production systems that are deployed on Linux. All the middle-tier servers at Oracle--the email servers, for example--are all Linux.
LP: You have a different relationship with Suse than you do with the Linux kernel list. Suse is financially motivated to help Oracle. I imagine that contributing directly could be more work for you guys?
Coekaerts: Yeah. One of the things that happened in the past is we just had a list of features we wanted, and we didn't really defend why we wanted them. We just said, "We know we want them." And that didn't work well. So now, part of our group's job is to prototype and do testing on new features and say, "Here, this is the difference," which will help convince people who do not work for Red Hat or Suse.
What you will see in the near future is that we will start running Oracle workloads on the 2.5 kernels, which is a great test suite. And then we can compare 2.5.59, 2.5.60 and so on , and show how the number of processes goes up and down. We want to start working more directly with the Linux community?
LP: But why are you changing this approach? Are you just comfortable enough that you're no longer afraid of some major public relations disaster?
Coekaerts: For one, like I said, our focus had been to get the distributions up to speed. The reason we've not been very public about our changes in the past was because we worked directly with those guys. We didn't have the time for it.
And now we have very big customers on Linux who are stable. They are happy with performance; they can run a very big important business on Linux, and that gives us more room to work on new and interesting things.
You'll see stuff coming up that Linux either lacks (that other operating systems already have) or new stuff. You know we are cutting edge technology, and there are some things that we can do on the operating system side that no one has yet, that you will see in the next six months or so.
LP: In what areas?
Coekaerts: In general, clustering is something where Linux definitely needs to grow up. Cluster management, and stuff like that is a big part. The kernel functionality that we work on will be open. It doesn't mean that the original development starts open because you have this competitive thing going on. Red Hat and Suse do the same thing. They will work on features for their next version, and once they have their road map and they're done with it, then they will open it up. But until then, they cannot do that. It's a time-to-market thing.
And it's the same with us. We don't want to be talking about features on the operating side that will show our competition what we're working on in the database. But once we talk about the Oracle side in public, we will have a Linux release.