Linux vs OpenSolaris…Again: The Q&A

To be perfectly honest, I can think of several things I’d rather do than deconstruct yet another Linux vs OpenSolaris/Solaris flamewar. Including having a few of my fingernails pulled out. But given the volume of inbound requests for comment, both public and private, I feel obligated to comment in some capacity.

That said, this discussion is largely a waste of time for both sides, so unless you’re the kind of person that slows to observe traffic accidents in some detail, this is probably one to skip. With that, the Q&A.

Q: How about we begin with the usual statements of disclosure.A: Of course. This discussion is fraught with such considerations; from the OpenSolaris/Solaris side, Sun is a RedMonk customer and I know personally – and respect – many of the developers and marketers of the technology past and present. On the Linux side of the equation, IBM – the employer of several of those commenting – is a RedMonk customer, as are other Linux oriented businesses such as Canonical. In addition to knowing and respecting many of the employees of said firms involved with the Linux ecosystem, I also know and respect the folks from the Linux Foundation who are also have their part to play in this “debate.” So I’m getting it from both sides.

Lastly, Linux is the operating system of choice for the RedMonk production server, as well as my laptop and workstation respectively.

Q: Before we jump in, why is this all a waste of time?A: Because it is my belief – like Savio’s – that competition is generally good, and that Linux is good in that respect for Solaris and vice versa. Making these dustups pointless, like pretty much every other flamewar.

Q: So take us back to the beginning; how did all of this start?A: Going back to the very beginning would take forever, so I’ll restrict myself to my abridged version – which may differ, please note, from those of members of the Linux or OpenSolaris communities. Your mileage may vary, as always.

The gist of the situation, as far as I’m concerned, is this: OpenSolaris, like a great many open source projects, has internal factions that do not always agree with each other. When discussing the hiring of Ian Murdock, I characterized this as a new school / old school problem. Views of the nature of the divide may differ, of course, but even a cursory review of the OpenSolaris lists will reveal deep differences of opinion concerning the OpenSolaris project, Sun’s relationship to it, and the role of the OpenSolaris distribution called Indiana.

If you’re curious about the gory details of the latter dispute – that of the role of the project termed Indiana – I’ve got excellent news for you: I’ve written them all up here. Excellent for me, as well, because I don’t need to rehash it. Suffice it to say that the idea of anointing Project Indiana with the OpenSolaris moniker was anathema to some. To others, it was the process of naming that was distasteful more than the naming itself. And to still others – myself among them – it was merely the logical decision to make, given the lack of a quote unquote reference distribution for the project designated OpenSolaris.

Ultimately, per Sun’s wishes, Indiana became OpenSolaris and – predictably – the elements within the community that didn’t care for the name, the process, or both, were furious. Just as unsurprisingly, some members walked out the door as a result, the most notable defection probably being Roy Fielding, whose public resignation from the OpenSolaris Community has been pure fodder for internal critics and Linux advocates alike.

Q: How so?A: Well, let’s take this out of the realm of the abstract and look at two in particular. From Michael Dolan, we have “‘I told you so’ in order? Roy Fielding resigns from OpenSolaris.” In that, Michael makes a couple of assertions. First, he argues that “Sun is not an open source community or development player.” Second, that nearly three years into the project, development is still done behind the Sun firewall, contributions require the approval of a Sun engineer, contributors have to sign a Joint Copyright Agreement, and that there are essential parts of the operating system that are not available under the CDDL license. Lastly that anyone arguing that Sun is “great, open, etc.” is “brainwashed.”

This is why the L in Lamp is Linux and Literal. Linux has the broadest and most active development community of any open source project. Linux has over 3,000 developers contributing to just the kernel in the last year, while Sun has announced 70 non-Sun engineers. (This doesn’t even account for the vibrant development communities around Linux community distributions, desktop toolkits and other upstream projects outside of the kernel.)

The Linux development community keeps getting stronger while Sun’s is seeing public defections of some of its most important members due to Sun’s control.

You getting the feeling that the Linux folks don’t have much love for Sun, Solaris or OpenSolaris? Because I am.

Q: I’m not even sure where to start, but how much of that is accurate?A: Setting aside the question of whether or not Sun is “great” or “good” – which is a pointless question to me when it concerns publicly held companies – let’s tackle the points I believe to be true. First, most if not all of the claims made with regard to the openness of the OpenSolaris development process are true, to the best of my knowledge. Second, the number of external contributors to Linux – which is approximately all of them – dwarfs those contributing to OpenSolaris.

Q: So Sun is not an open source company?A: To me, that question, and much of the discussion above, boils down to a philosophical question: are Linux and MySQL both open source? Or do you believe that anything short of the Linux model does not qualify? That was, in fact, the question I asked Michael in a comment. His reply was this:

I do not consider MySQL to be an open source development community which to its credit, MySQL has never claimed; unlike Sun/OpenSolaris.

While noting that the response doesn’t actually answer the question, it does point to the fundamental disconnect between our two viewpoints: I’m judging open source by the availability and licensing of the code, while Michael, Amanda and other critics seem to prefer a community based metric. As should be expected, since it favors their platform of choice.

For my part, I believe that MySQL is in fact an open source company and an open source project, in spite of the fact that the development of the codebase is not open but rather done entirely (or nearly so) by MySQL employees. So, assuming that Amanda is correct and that there are 70 external OpenSolaris engineers versus Linux’s 3K, that still leaves OpenSolaris as “more open” than MySQL. Whatever that means.

Logically, then, if MySQL is open, and OpenSolaris more open still, I’m fundamentally unable to conclude that Sun is not an open source firm. But then again, maybe I’m just brainwashed.

For what it’s worth, however, Roy’s own resignation acknowledges that this model is in fact open source:

Sun should move on, dissolve the charter that it currently ignores, and adopt the governing style of MySQL. That company doesn’t pretend to let their community participate in decisions, and yet they still manage to satisfy most of their users. Let everyone else go back to writing code/documentation for hire.

There’s nothing particularly wrong with that choice — it is a perfectly valid open source model for corporations that don’t need active community participation. IMO, the resulting code tends to suck a lot more than community-driven projects, but it is still open source.

His problem, then, isn’t fundamentally with the model – as is the case with Amanda, Michael, and others – but rather the fact that he feels he was mislead as to the end goal of OpenSolaris.

Which is obviously his right.

Q: But is he right?A: Without knowing who promised what to him and when, I can’t say one way or another, but I don’t doubt that Sun’s stance vis a vis the OpenSolaris asset has changed. Substantially.

But that does not surprise me, particularly.

Q: But how is that different than Linux?A: Frankly, I think the comparisons to Linux are misplaced outside of a technical context. The projects are governed by different licenses, developed under different models, and are at significantly different points in their respective lifecycles. Comparing an 18 year old project developed by a consortium to a 3 year old project maintained principally by a single organization is the definition of apples to oranges, in my book. So too does Apache have more contributors than nginx; I’m not sure this tells us much besides the fact that one is younger than the other.

Q: Is it me, or do these issues boil down to control?A: It’s not you. Ultimately, the critics – within the project and without – point to the above as mere symptoms of an inability to relinquish control.

Q: Is there truth to that assertion?A: Sure. Sun has been accused on multiple occasions in the past of refusing to let go. See, for example, the dispute with Apache on the field of use restrictions, the long running but recently resolved divide between IBM and Sun concerning OpenOffice.org, and so on. None of those situations, nor the current Solaris flareup, were particularly straightforward, but I’m on record – with the Apache situation in particular – as disagreeing with that reluctance. But neither would I contend, as some have, that the issue is simple and that the answer is always open development. Particularly when we’re talking about a core asset of a commercial organization, as opposed to that of a Finnish graduate student.

Q: To return to it, what about the naming issue? Isn’t that proof that Sun has acted in bad faith?A: Well, my flip answer would be to simply point you over to Mark Pilgrim’s comment over on Tim Bray’s piece, which reminds us – as only Mark can – that naming disputes are more or less par for the course in the open source world.

But to answer the question more seriously, do I understand why people are upset? Of course. But do I think it’s ridiculous that Sun should want to assert its rights with respect to such an important brand? No. And more to the point, I think there have been individuals within the community on both sides of the Sun/anti-Sun divide that have been terribly nonconstructive in their conduct. I’ve lost track of how many calls on list there have been for perspective, understanding and peace.

In that respect, it’s just like virtually every Linux distribution I know.

Q: Speaking of Linux, why does that community seem so concerned with the doings of OpenSolaris?A: Well, the two operating systems are competitive in a variety of contexts, and there is substantial bad blood on both sides of the divide. All’s fair in love and war, as they say, and for some years it’s been war between the two technologies.

What I do find interesting, however, is that Linux advocates will simultaneously tell me that OpenSolaris and Solaris are dead technologies, representing no further threat, going nowhere. And yet they’ll expend the kind of energy attacking that I doubt would come into play if the dispute were within BSD or Minix.

Doth the lady protest too much? Mayhap.

Q: So where does Sun go from here?A: If the question is where they will go, my answer is that I’m not sure. Sun has asserted certain rights, and debates are currently raging as to what that means for the community at large.

Many of the Solaris and OpenSolaris engineers remain passionately in favor of truly open development, but candidly, Michael is right to point out that the lack of greater progress nearly three years into the project can only indicate a lack of a commitment to that end.

It may well be that Roy is right, and that Sun should move OpenSolaris towards a MySQL model of development, a scenario that many find abhorrent but that personally I’d be fine with. It’s also possible that with this issue behind the community, and some of the diametrically opposed philosophies departed, the community will be less prone to internal strife and make better progress.

Either way, the community will have its say, but so will Sun. And I don’t have an issue with that, as long as it makes a decision and sets expectations appropriately.

12 comments

[…] A must read. I can’t say I’m entirely surprised by the balanced view Stephen posted this evening – it’s O’Grady at his best. I am a bit surprised he weighed in at all though – as he put it, there are a few things he’d rather do “Including having a few of my fingernails pulled out.” […]

sysadmnsays:

It would be nice if the appearance of ZFS in OS X, Darwin, and BSD would be acknowledge. Here is one of the most profound pieces of technology in years – right up there with virtualization, and it’s been given to competitors. Ditto with Dtrace – it is a game changer, and you can use the source.

paulsays:

I think the entire Open Solaris verses Linux is a full fledged nonsensical mess and a morass of personalities that have their own definition of “control”.

Some of Sun’s previous mistakes and statements have led to confusion of where Sun stands in relation to Open Source, granted. However, since Jonathan Schwartz has come to the leadership position, not only can you listen to what Mr. Schwartz says about Open source, but look at what Sun has done since he is steering the ship.

Sun has release Java under GPL. They are releasing other key technologies under GPL as well as other Open Source license. They have been more than generous with the Open Source community, with Open Office and other vital key components to Open Source success. Schwartz has stated many times that Open Source is Sun’s future and given interviews on why he believes this.

Technologically, both Sun’s Solaris and Linux are superb OSes. Linux is better and far more advanced on the Desktop, while I would give Sun’s Solaris a slight edge on the Server.

Solaris has been running the Enterprise for years and they have done a great job of situating Solaris for Enterprise large scale deployments. Solaris has a little better monitoring tools.

Solaris has more recognition in the corporate world, but that is changing. I love both and I would have no hesitation deploying either with confidence.

However, Open Solaris has some work to do. No doubt it is getting there, but is not to the level of Solaris 10 yet. In the current case I would feel better deploying Linux than Open Solaris. Open Solaris !=Solaris, currently.

As you stated, competition is a good thing. It will only serve to make each better and make Microsoft servers almost irrelevant.

To me, the comparison with Linux is unhelpful, since Sun are opening a previously proprietary, heavily trademarked codebase rather than starting from scratch as Linux (or MySQL for that matter) did.

From where I’m sat, any hesitation on the road to freedom (heh) can be blamed on that.

The Indiana shambles seems to be because Sun is a company rather than a dictatorship.
Statements coming out of certain mid-management were pounced on as though they were the word of God rather than one opinion among many.

I think for Sun one consideration is probably that they’d like to have it both, or all three, ways.
They want the positive reputation effects that come from going open source–to such an extent that there was talk of going GPL3 as I recall. Ideally they want the bugfixing and development help that can come from going open source.
Meanwhile, they also want to maintain as much control as possible, partly because it’s such a key piece of software for them, partly because that’s just how their organization is structured and it’s hard for them to do otherwise.
But finally, they don’t want to be seen as exerting so much control that annoyed open source coders will move in large numbers to a fork over which they have no control.

I don’t know how much the CDDL does to hinder that, but ultimately if it’s not forkable it’s not open source. MySQL has always used the model they use, so people are used to it, and at the same time their code has always been GPL, which reassures people that if it becomes a problem they *can* fork; this knowledge in turn probably keeps the MySQL folks from pulling any proprietary-style moves with their database. And they’ve never really courted anyone’s approval.
But with Sun, we’re looking at a process of change, so there is no status quo situation of long standing that everyone’s learned to accept. And they *are* clearly trying for community approval. People, and I’d say Free Software people in particular, react worse to someone claiming to be doing something wonderful and then putting in caveats than to someone who just did what they did and let the situation speak for itself, even if the substance is similar. So a serious fork is not out of the question; Sun is unlikely to go the MySQL route because while MySQL can get away with it, Sun quite likely cannot.

Stephen, your Q&A is as usual good, fair reading all around. I do have a couple of clarifications I’d like to make though (you know I was going to do this, didn’t you?) 🙂

I obviously disagree with Michael’s characterizations of the project but I do think it’s particularly unfair to say that most or all of the OpenSolaris development processes are done inside of Sun. It’s true the vast majority of commits are done by Sun employees and it’s true that the “master” SCM for the core kernel/library/utility “consolidation” still lives inside Sun’s firewall.

However, there has been a great deal of work the past three years in pushing large amounts of development work to be *outside* of Sun’s infrastructure. Much of the project work that takes place occurs on the public mailing lists housed on opensolaris.org, architecture reviews are almost completely done out in the open nowadays, public code reviews are routinely done, etc. Clearly, we need to do better on this but it’s certainly neither a closed development model nor is it an aquarium model where folks are simply looking in. We’re in an awkward transition phase but that transition continues to take place and I expect things to only improve on that score.

The fact that one of the repositories in currently inside Sun’s firewall and is instead mirrored to the outside is a reality today but that’s considered a high-priority bug that’s being fixed. The issue is complex since it’s not simply a matter of putting the Mercurial repository out there but including all of the relevant change acceptance required for commits to be done (someone needs to sign off on a request to commit, the commit needs to be done and then there’s various “paperwork” like bug tracking that needs to be updated). Once those things come together later this year, the community will gladly throw out the “request sponsor” method and folks outside of Sun will be able to commit directly into the master source base (I should note that other parts of OpenSolaris are already outside the firewall and have outside folks doing commits today).

So while OpenSolaris may not look like Linux in terms of how the project is run, I suspect it won’t look like MySQL either. Perhaps it will be something in between or

I do bemoan about all the heat and the very little light that comes from these discussions. And I think it’s unfortunate that it at times overshadows what I think are the interesting technical things being done by the Indiana project and OpenSolaris as a whole.

It’s not through lack of interest in open development, it’s simply that many engineers have never done it before. While you could argue that Sun is a community within itself, it’s a little harder for most people to find the right balance between being effective, communicating well, and quite simply, walking the line between an ideal community vision and a corporate agenda – and let’s not kid ourselves, Sun is a business as well. Thanks for the blog Stephen – will owe you a beer for your pain!

[…] source? Migrating from organic to synthetic communities”. Nessance referenced a series of questions and answers by Stephen O’ Grady from Red Monk, where he claimed the distinction between the two […]