Oracle Linux Causes Blog-o-Frenzy
By firstname.lastname@example.org on Sep 28, 2010
I just spent the better part of an hour reading through blogs and professional articles on the announcement of Oracle Linux and the Unbreakable Enterprise Kernel. I was present at Larry Ellison's keynote, so I heard the news first-hand, as I assume many of the bloggers did. But looking at these articles, I wonder if I had on a special pair of glasses that let me see something different than everybody else.
There seem to be three main misperceptions about Oracle Linux: that it is proprietary, that it introduces vendor lock-in, and that it creates a fork of Red Hat Linux.
I will attempt to address each in turn.
Myth #1: Oracle Linux is Proprietary Software
Let's look at a blog entry on ITWorld entitled Proceed with Caution to Oracle's Proprietary Linux Kernel (also on PCWorld here). Here is one quote:
The new Unbreakable Enterprise Kernel, however, is now "the only Linux kernel Oracle recommends for use with Oracle software," it added.
The company, in other words, is hoping to make Linux a proprietary thing.
Proprietary? Proprietary is the opposite of Open Source, implying that the source is not available and that it cannot be modified. All source for the new kernel is available from http://public-yum.oracle.com (link to source), just like before. All of the changes to the kernel have been submitted to Linus, just like before.
So why does Oracle recommend that the new kernel be used for enterprise workloads? Obviously because it is a faster, more efficient kernel than the stock kernel. If you can get 50-100% better performance from your hardware just by changing which kernel it boots from, wouldn't you do it? Or would you just buy 50-100% more hardware and stick with the legacy kernel?
Myth #2: Oracle Linux Introduces Vendor Lock-In
Another quote from the last ITWorld article:
What's more concerning, I think, is the way Oracle is trying to introduce vendor lock-in in an area that's supposed to be defined by openness.
Huh? How does releasing an open source kernel promote vendor lock-in? You can run Oracle Linux on Dell, IBM and HP (and many of our customers do). The new kernel is not optimized for Oracle hardware. It is optimized for modern hardware. This was made quite clear in the presentation, although it got lost in the Exadata/Exalogic announcements somehow.
Yes, Oracle made quite a few changes to the kernel to get the best possible performance from their hardware when creating the Exadata and Exalogic machines. This is part of proper engineering. Now, if Oracle then made the changes proprietary, and didn't give them back to the Linux kernel team, that would be cause for alarm. But that's never been the case. Oracle has no proprietary Linux drivers or Linux libraries; it all goes back into the mainline kernel and associated open source projects.
Another blog entry from the same site, Are Platform Vendors Stealing Linux?, compares Oracle Linux to Mac OS X.
And, jokes aside, Apple's success with the tight OS/platform relationship it has on all of its devices may be a model that a lot of enterprise companies find attractive. I don't think it's an accident that suddenly companies like Oracle and Amazon are looking at the success of Red Hat's support model and the advantages a locked OS/hardware scenario can present and are now trying to model their own business strategies in a similar fashion.
The first part of the comparison is fair: Oracle is optimizing the operating system to take advantage of the hardware on which its systems run. But the comparison falls apart when you realize that the source code for OS X is proprietary, and the source code for the Unbreakable Enterprise Kernel is open source, and will speed up not just Oracle hardware, but also any modern x86-64 system, including that of Oracle's rivals in the hardware space. How exactly does this create an advantage for Oracle, other than to show that Oracle is whole-heartedly embracing Linux, which customers want us to do?
One more from this site, then I'll move on. From the article Oracle Tries to Un-commoditize Linux, we get:
"If you are wondering why Oracle is taking this tack, other then the usual corporate desire to make bucketloads of money, here it is: the Unbreakable Enterprise Kernel is supposedly "optimized for Oracle software and hardware."
That screeching sound that resembles a dying penguin you hear? That's the sound of Oracle trying to un-commoditize Linux."
The Unbreakable Enterprise Kernel isn't just supposed to be optimized for Oracle software and hardware, it is optimized for Oracle software and hardware. That was the whole point of the new kernel: to get more from less. More transactions from the same hardware you just bought. Does it work great on an Oracle Exadata server? You bet. Will it also improve database performance of an IBM DB/2 instance on an IBM server? You bet. The common misperception in all of the articles on this site is that Oracle has created a kernel that runs only on Oracle hardware, and only speeds up Oracle software. That is simply not the case, and spending a few minutes looking at the official announcement for the new kernel will clearly point that out. From the announcement (emphasis mine):
"Unbreakable Enterprise Kernel is based on a stable 2.6.32 kernel and includes optimizations developed in collaboration with Oracle's Database, Middleware and Hardware engineering teams to ensure stability and optimal performance for the most demanding enterprise workloads."
Not for Oracle software, not for Oracle hardware, but for demanding enterprise workloads.
I don't see how Oracle is un-commoditizing Linux by releasing a distribution with a kernel that is based on a current, mainline release, and where all of the changes have been submitted back to the Linux kernel. Then there is the question of how much of a commodity Linux is, when programs written for Red Hat don't run on Ubuntu, or SUSE, or really any other distribution, at least unless it is very, very carefully coded. Actually, in this case Red Hat is behind the times, only supporting the Linux Standards Base 3.1, whereas Oracle Linux is 4.0 certified. See here for details. This is all covered in another article from ITWorld, called Red Hat v Oracle: Which is More Standards Compliant?
But here is the true test: if Oracle Linux is only for Oracle hardware, why would all of Oracle's competitors in the hardware space be praising it as good for their hardware, and their customers?
Myth #3: Oracle Linux is a Fork of Red Hat Linux
Moving on to CloudAve, there is an entry named Oracle Unbreakable Enterprise Kernel a Clean Break with Redhat?. This is a good article, but it does point out that there is some confusion over whether the code bases have changed from RHEL.
"From what I hear, Oracle Linux is different from the Red Hat Enterprise Linux codebase."
I think the confusion
here is the naming.
Oracle Linux (OL) refers to the entire distribution, including the kernels and userspace programs and libraries.
Oracle Unbreakable Enterprise Kernel (OUEK) refers to an optional kernel included in Oracle Linux, along with the RHEL-compliant kernel.
Neither the RHEL-compliant kernel, nor the userspace programs and libraries have deviated from the Red Hat Enterprise Linux code base. They are exactly the same as before. OUEK, however, is an additional kernel, not included in Red Hat's distribution.
So is Oracle Linux a fork of Red Hat Enterprise Linux code base? Not if you run the stock RHEL kernel it isn't. If you choose to run the optional Unbreakable Enterprise Kernel, then yes, it is different code than the RHEL distribution (obviously, since it isn't part of RHEL). But more importantly, does it make any of the programs that are compiled for RHEL not work? No. The glibc library is exactly the same, and that is what all userspace programs use to access the kernel. If it runs on the standard kernel, it will run on the modified kernel.
Obviously, a lot of thought went into the decision to distribute a new kernel. The changes had to be made for the Exadata and Exalogic boxes, so the work had already been done. All of the new kernel code had been submitted back to the kernel maintainers. But should this kernel be included with Oracle Linux, a distribution whose sole goal is to maintain 100% RHEL compatibility?
I think once Oracle Linux customers try out the new kernel, there will be no turning back, and the demand for Red Hat to get in gear and up to date with its own distribution will make this a non-issue in the future.
There is a great discussion on LWN.net (warning, can get techie) about the release of the new kernel, and what it means to the people actually doing the work (and not us bloggers).