alex chiang: web 6.0

September 27, 2004

open source and enterprise disconnect

Filed under: geek — alex @ 2:25 pm

Interesting conversation going on between Solaris engineer Eric Schrock and Linux kernel developer Greg Kroah. Eric started it, Greg rebutted it, Eric replied with round two, and finally Greg responds in kind. Go ahead and read those posts — I’ll wait.

Back? Ok, first, a disclaimer. I’m an HP-UX kernel engineer writing my own opinions on my own time, so please don’t take anything I say to be the official opinion of HP, as it’s not.

In any case, I feel compelled to jump into the fray here because I’m noticing a framing issue in the discussion, and that the two developers are talking past each other. There’s a disconnect between the wild and wooly culture of meritocracy prevalent in the open source world and the enterprise world which seems like it lives in the Cretaceous era at times, and this disconnect manifests itself over and over again in various online forums. Both sides think the other “just doesn’t get it” when really, they’re actually having two distinct conversations.

Eric first posted because he felt that the analysts didn’t understand the point of OpenSolaris. His impression was that the analysts were naively wondering why Sun doesn’t just pour its resources into Linux, rather than opening up Solaris. Eric attempted to explain that the reasons Sun is going to open up Solaris rather than going whole-hog with Linux, and the most significant reason that I saw was that the two operating systems simply have different priorities.

Reading Greg’s rebuttals, we immediately see the disconnect. First, he is more interested in a technical discussion about the merits of certain feature X than he is about Eric’s larger point. Second, he echoes a theme I’ve seen repeated quite often by Linux kernel developers which is, we’re writing this OS for ourselves, dammit.

Greg writes:

Which brings me to the very valid point about how Linux kernel development differs from any other OS development. We (kernel developers) do not have to accept any feature that we deem is not properly implemented, just because some customer or manager tells us we have to have it. In order to get your stuff into the kernel, you must first tell the community why it is necessary, and so many people often forget this.

In other words, the Linux kernel developers are the primary customers of the Linux kernel. If a feature is not implemented well, then it is rejected. Greg is exactly right in pointing out how Linux kernel development differs from any other OS development — it’s because they are writing it for themselves, dammit. In every other OS (and in this context, I mean commercial OS such as Windows, MacOS, proprietary unix, etc.), the requirements are driven by customer demand, not technical beauty.

And here is where the conversation usually diverges due to the disconnect. In fact, we see it right here. Greg talks about crash dumps and kernel debuggers and bears (oh my) and Eric gets sucked in, as he writes “… if you want a technology comparison, here are some Solaris examples…”. Greg has reframed the discussion around the technical reasons why each feature does (or does not) exist in Linux and away from the discussion that Eric framed, namely that these features are but mere examples of the different priorities of the two OSes.

Eric writes:

The original goal of my post was not “our technology is better than yours,” only that we have different priorities.

Greg says:

I was glad to see that Eric took the time to address my previous rebuttal to his previous comments. I welcome good technical discussions like this, in the open, without rude flames by anyone.

Both of these quotes are some of the first words written in the respective 2nd round rebuttals. I’m taking them a bit out of context (but not too much) to illustrate the fact that these two guys are on completely different worlds. They’re not even remotely having the same conversation (well, not until Eric got sucked into a features comparison), and that’s what jumped out at me from the get go.

Finally, what does enterprise mean, anyway? Greg writes:

You have customers paying that much money ["tens of millions of dollars"] for driver compatibility? Geesh, I didn’t know drivers were that expensive… Seriously, for Linux, this argument doesn’t even register. A customer does not have to worry about the huge investment they just made in hardware, and the fact that the driver they have for it better work for any future version, as they have the source to it (it’s in the kernel tree.) They know that it will work with all future versions of Linux, and if something goes wrong, they can either fix it themselves, or hire someone else to fix it for them, for far less than “millions of dollars.”

This is exactly what the enterprise is all about. A customer makes a huge investment in hardware (Itanium systems are expensive), and if something goes wrong, they’ve already hired someone to fix it for them — the vendor. Understand that the vendor has signed a contract to support the customer for 10 (or perhaps more) years to enable the customer to run his mission-critical business applications. The customer doesn’t want to fix it himself. His core competency is selling books or running an auction site or connecting cell phone calls, not writing system software.

Again, it’s not just paying for a driver, it’s paying for corporate stability and a guaranteed timely response when something goes wrong. If your $30 billion business is dependent on your Oracle database, spending several $million to make sure it never goes down is cheap insurance. Incidentally, if you understand this point, you’ll also understand why FUD actually works on those “dumb” suits with the CxO titles. The best technological solution is worth bupkus if it’s provided by a company that goes under the next business quarter.

Well, interesting discussions, anyhow. Hopefully I’ve illustrated the fact that Eric and Greg were talking past each other, so if they do decide to continue the discussion, it’ll be more productive.

web 2.0 baby! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Facebook
  • e-mail
  • Reddit
  • Technorati

Leave a Reply