Red Hat and the Kernel Kerfluffle

Recent changes to how RHEL kernel patches are distributed is creating barriers for developers. Why did Red Hat make this change? To stay competitive.

Red Hat’s changes to the way it distributes its kernel have made headlines all over the tech press. The company has taken a lot of heat, but what about the competitors that are freeloading on Red Hat’s work?

If you haven’t followed the issue, let me sum up. Prior to Red Hat Enterprise Linux (RHEL) 6, Red Hat would ship its kernel source with the patches it applies broken out separately. With RHEL 6, Red Hat ships the source with the patches pre-applied. What difference does that make for the vast majority of the people who use or interact with RHEL? None at all. But it does pose a barrier for other developers who want to study the RHEL kernel and see what patches it has applied to the stock kernel.

Wait, isn’t Red Hat shipping the 2.6.32 kernel? Well, yes-ish. Red Hat tweaks the kernel quite a bit with backported patches from later kernels, fixes that it has applied in response to customer issues, and some patches that may not have made it into the vanilla upstream kernel.

Since a lot of people watch Red Hat’s kernel for a number of reasons — varying from developers from other distros studying the kernel to see why something works well on Red Hat (or doesn’t) to competing companies that want to provide support for Red Hat’s distribution.

How many people does this affect? Well, to put it in perspective, it took about four months for this to come to light in the tech press. That happened after Debian kernel team member Maximilian Attems made a comment about Red Hat’s “obfuscated kernel.”

Patchless Considered Harmful

People hate change when it seems like they’re losing something they had before — even if they weren’t actively using it. So it’s not surprising that Red Hat drew a bunch of criticism off the bat.

But the way that Red Hat is now distributing its kernel is legitimately frowned upon by the developers who actually do work with the kernel, like Attems. It’s sort of like asking someone for a recipe for the family’s chocolate chip cookies, and getting cookie batter instead. Or for more writerly folk, it’s like the difference between getting a final manuscript versus the Word or ODF file with changes highlighted. It’s much more difficult to study.

Free Ride on RHEL

Which is, of course, exactly why Red Hat has done it this way. Bryan Stevens, Red Hat’s CTO and VP of worldwide engineering, laid the blame for the change at the feet of Red Hat’s competitors:

Why did we make this change? To speak bluntly, the competitive landscape has changed. Our competitors in the Enterprise Linux market have changed their commercial approach from building and competing on their own customized Linux distributions, to one where they directly approach our customers offering to support RHEL.

Frankly, our response is to compete. Essential knowledge that our customers have relied on to support their RHEL environments will increasingly only be available under subscription. The itemization of kernel patches that correlate with articles in our knowledge base is no longer available to our competitors, but rather only to our customers who have recognized the value of RHEL and have thus indirectly funded Red Hat’s contributions to open source that will advance their business now and in the future.

It’s a shame that Red Hat has gone in a direction that is unfriendly to the developer community. I’m sure that some or many of Red Hat’s engineers are displeased with the decision, and it’s unfortunate if this hinders collaboration in the kernel community.

Red Hat has taken some lumps for the change, but what I haven’t seen is more than a passing mention of Oracle and Novell’s role in this.

Increasingly, Red Hat’s major competition is just saying “hey, we’ll let Red Hat do the engineering work and just provide support.” This is true of Oracle, and Novell to a lesser extent. Oracle has been riding on Red Hat’s coattails for years and has said it would do just that, saying that companies should compete “purely on the support side of the business.”

Novell still does its own very fine Linux distro, but if you look carefully, the amount of new features and energy put into its Linux distro the past few years has waned a bit. The company has ramped up support offerings for RHEL in the meantime, and put a lot more energy into things like SUSE Studio.

Oracle is just content to leech off of Red Hat. While Novell is trying to woo customers over to SLES by supporting RHEL as a bridge to SLES, Oracle just freeloads off of Red Hat’s distribution.

It’s a good thing that the GPL and other open source licenses allow companies to jump in and provide support for competitor’s products. But this trend isn’t healthy for the larger community — and it’s not something that can or should be solved by licensing. Companies in the market for Linux services should exercise a little forward thinking and reward the companies that are doing the most to maintain the ecosystem. Here’s a hint: It ain’t Oracle. Even if that Oracle support contract is a bit cheaper than Red Hat’s right now, what do you think Oracle’s going to charge if it manages to marginalize Red Hat?

Bottom line: If you want to snipe at Red Hat for its admittedly community unfriendly change, at least recognize that the company is still doing more than its share of the work.

Red Hat is still complying with the GPL. It’s still doing its work upstream with the kernel community. Any competitor that is putting together its own distribution from scratch and participating in the kernel community is going to be working side by side with Red Hat’s kernel engineers.

Red Hat is responding to competitive pressure by refusing to share notes with its competitors. As a side-effect, it’s also having an effect on the rest of the community — and that truly sucks. But let’s not put all the heat on Red Hat, even if you feel chafed by the change.

You’ll notice I didn’t mention CentOS or Scientific Linux here. They’ve been around for years, and I doubt they are putting much of a pinch on Red Hat. The CentOS community has even gone out of its way to be supportive of Red Hat by directing users to Red Hat’s beta programs rather than packaging and releasing the betas as they came out. And they serve a valuable purpose for the users and organizations that aren’t addressed by Red Hat’s commercial offerings. (Red Hat could do much better here by offering RHEL subscriptions appropriate for individuals who want to maintain their technical chops, run home servers, etc.)

Props to Red Hat

I’d also like to give props to Red Hat for being extremely forthright about the change when asked. The company didn’t hem, haw, and offer up no comment. Whether the decision was right or wrong, they’ve owned it and were honest about why they did it. That’s pretty rare, so Red Hat deserves some credit for being blunt about their reasoning. You may not agree with them, but at least give Red Hat credit for being up-front about what it’s doing.

Red Hat’s new kernel policies may not be entirely in “the spirit” of the GPL, but they are (as far as I understand it, not being a lawyer and all) GPL-compliant. In the larger picture, Red Hat is still doing right by the community by channeling a lot of the money it makes into upstream development and working on new features and projects through Fedora that will all be open source. The company makes mistakes from time to time, but if they’re going to get dinged for this I do hope that their competition gets some of the “credit” as well.

Joe 'Zonker' Brockmeier is a freelance writer and editor with more than 10 years covering IT. Formerly the openSUSE Community Manager for Novell, Brockmeier has written for Linux Magazine, Sys Admin, Linux Pro Magazine, IBM developerWorks, Linux.com, CIO.com, Linux Weekly News, ZDNet, and many other publications. You can reach Zonker at jzb@zonker.net and follow him on Twitter.

Comments on "Red Hat and the Kernel Kerfluffle"

ctryon

I’ll add my “amen” to that. I can’t afford a real Red Hat support contract, so I end up running CentOS and Fedora for my servers, but I’m not going to shed any tears over Oracle and Novel and other commercial vendors having to work a little harder on their own to build and support their own for-hire offerings.

Reply
    solanum

    We use Centos, Redhat, Suse/OpenSuse, and Ubuntu, depending on the server/service(PITA only try it at home..). I’m not upset about it given RedHat is the biggest company that contributes to the kernel, IBM is right behind according to a study released and I think mentioned on this website. They are making the patches upstream, and they are fixing things to other projects as well.

    Most distros use a newer kernel, and it is understandable in some respects how much backporting they do as they don’t want to break any installations with patches.

    I don’t know how many changes Suse/Novell are making especially upstream. Apparently not the kernel, but they maybe making changes to other associated projects. I have seen Suse’s work pre-novell days, make it upstream. I haven’t seen much lately, but I may not be aware of it.

    It would be nice if people jumped on companies like NVidia for their Tegra support. :)

    Reply
    ggmathew

    Yes, many organizations including government agencies have chosen CentOS as their choice of Operating System in the past few years. CentOS has lot of community support and its getting popular.

    Reply
djflux

Does anyone know if this change affects the kernel sources shipped with Fedora? One could conceivably look at the patches broken out in the Fedora kernel source RPM if they’re still being provided there.

Reply
    jzb

    I don’t think that this affects Fedora at all. However, I suspect that you’d have better luck following the LKML and watching what is submitted upstream than teasing out patches to Fedora’s kernel.

    I could be wrong, but I believe what happens is 1) customer reports a problem/makes a request to RHAT, 2) they implement a fix and submit patch upstream, 3) patch is backported to enterprise kernels.

    Remember that they went with 2.6.32 when RHEL6 shipped, but the upstream kernel was at 2.6.35 or .36 when RHEL6 shipped. (I think that’s right.)

    Hmmm. Though maybe it would be worth watching Fedora as well. Not sure. I’ll look into that.

    Reply
arenalgarden

Friends don’t let friends use Red Hat.

Reply
cjcox

I guess I have a question for Joe specifically…. since he might have more insight into the amount of kernel copying that Novell did. This article, and many others on this subject say that one reason that Red Hat did this was to prevent (specifically) Novell from using Red Hat patches in their SLES. Is this REALLY true? I mean, RHEL and SLES have never really sync’d well with regards to kernel versions on their releases. In fact, you might even be able to argue that it would be harder to use a Red Hat patch on a kernel version that was significantly different (might actually require MORE work). So… just curious…

Reply
    wongbater

    Novell came to our company and offered licenses at half the cost of RHEL and 3 yrs support. They claimed to support RHEL “better than Redhat”. We took the bait… We setup an SMT server (same thing as RHEL sattelite) and pointed all our RHEL boxes to pull redhat updates from Novells site. They were repackaging everything including the kernel as kernel.nvX.rpm instead of kernel.elX.rpm. It broke so many things. It was an unbelievably BAD experience and the worst decision we ever made. I dont want to go into detail it would require 10 pages. Since then we have switched back to Redhat. So the short story is they ABSOLUTELY try to take away Redhat customers by offering to support Redhat servers and cheaper licensing.

    Reply
richard_bent

If you look at this from a long-term perspective, this is the inevitable evolutionary fragmentation that comes about from competitive forces. It’s very true that this is now localized to something Red Hat is doing, but the claimed necessity to make life harder for independent developers as a result of competitor’s actions I think skirts the underlying philosophy of the GPL.

Reply
    korin43

    I don’t see how this goes against the philosophy of the GPL. The GPL isn’t about giving everything away for free, it’s about not giving people a program without the source code. Red Hat’s customers still have access to everything they had before (including the individual patches). What they’re not doing anymore is giving them to everyone. From a GPL perspective, releasing their monster patches to everyone is more than they need to do (since their compiled kernel is only available to subscribers, they only need to give patches to their subscribers).

    Maybe a better argument would be that this isn’t in the spirit of Linux kernel development, but Red Hat does send its changes upstream; these patches are just backports of those. So, they’re still supporting Linux kernel development, they’re just not helping everyone else support old kernel releases. Other people are benefiting from their changes, they just don’t get them as fast as Red Hat customers, which makes perfect sense — that’s what they’re paying for.

    Reply
      unclesmrgol

      Wrong. The GPL V2 (which is the Linux kernel license) requires Red Hat to provide their source code changes as well as the base sources to all comers who request it, for no more than the cost needed to duplicate the media. In today’s world of internet connectivity, that’s “free”.

      Red Hat, to my knowledge, is meeting the letter of the GPL V2 license by providing the full source of their kernel. What they aren’t doing is providing the individual patch files, so a competitor can no longer pick and choose from amongst Red Hat’s patches the ones which are most appropriate for THEIR kernel.

      That will not affect CENTOS nor Scientific, because both build their binaries from the “upstream vendor”s sources, which means that they could care less the provenance of an individual patch.

      That said, there is something strange about RHEL6 for CENTOS and Scientific, because it’s taken both much longer to release their 6.0 distros (Scientific has finally released 6.0, but CENTOS is still working on it).

      Reply
Hunkah

I agree fully with this! For anyone to complain about what Red Hat is doing is almost blasphemy! If you look at contributions over they lifespan of Linux, you will see that Red Hat is always the top contributor, usually almost at around 30%-50% of the overall contributions. I would say that if Linus Torvalds were a company it would be called Red Hat. Red Hat is the other carrier of everything that Linux has become.

Companies like Oracle, Novell and Canonical SHOULD be contributing to the betterment of Linux as well, not just their own respective companies. Red Hat does this more than anyone, and now that they are protecting themselves from the leaches, people are crapping on them. I understand it is common practice to do this, most projects are completed by a couple of people and everyone else gets the credit. Imagine how amazing Linux would be now if the companies that use Linux helped in building a better machine, rather then just painting over what everyone else built! Red Hat builds the machine and we all benefit from their work. Everyone else just paints over the Red Hat logo and calls it their own.

I think it’s time that these other companies are held more accountable for their upstream efforts. Part of the beauty of Open Source is that you are allowed to do this, it doesn’t make it morally right though! If you make money from something, it only makes sense to help build it. You will end up making more money the more people use it.

I know everything I’m saying will probably hit a brick wall, but I’m still saying it.

Reply
    jgriffith

    No brick wall in my opinion… When we start falling into a “copy others work” model to create a competing product we all suffer. What a great concept though from an execs perspective (ie Ellison/Hurd): “Hey… we’ll let Redhat make all the investment in the kernel and do the heavy lifting, then we’ll re-package it, focus on our interfaces and sell it cheaper”. I don’t think that’s the spirit of GPL or Open Source.

    Reply
vanhorn

Does RedHat not submit their kernel developments to the kernel development team? It seems to me that this is just a matter that RedHat’s exact kernel as shipped for any specific release version is based on the main Linux kernel, as is everyone else’s, and will continue to be; it’s just not necessarily the same configuration as other vendors might choose.

Does this mean that CentOS will no longer be able to distribute future versions? That would be unfortunate, at least for me, but the story doesn’t address the point.

Yes, it’s a kerfuffle, a big ado over damned little. I’d say the author missed the point. And the editor should have caught the spelling error in the headline, there’s only one “L” in kerfuffle.

Van

Reply
samnjugu

I use CentOS and on their mailing list they have said that this change will not impact the regular CentOS since it maintains binary compatibility with RHEL. Only an extra delay in shipping out the CentOS-Plus kernel which has extra stuff that is not shipped by the regular RHEL kernel, but even that will not be severely impacted by Red Hats change.
I support Red Hat with this move it shameful for companies like Oracle with deep enough pockets to go after Red Hats clients instead of working on their own distribution when they can afford to, and NOVELL is not silent either offering do support Red Hats product why not support MS customers as they already have an agreement with MS.

Reply
jnatschev

I personally have a RHEL subscription and I don’t even use RHEL at home. Instead I use Fedora. The reason I have the RHEL subscription is to keep up-to-date with RHEL. So, my advice is buy a subscription.

Reply
    jzb

    And which subscription are you buying? Perhaps I missed a reasonably priced personal subscription? I’ve seen an educational subscription which would be reasonable for home users, but the bare-minimum regular subscription is a bit pricey for home use at >$300 per year.

    Reply
katsnelson

I wonder if there is an impact if any on the Amazon Linux AMI http://aws.amazon.com/amazon-linux-ami/ ?

Reply
josedavidforero

RedHat is doing well.

Reply

Leave a Reply to sifusam Cancel reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>