Friday, December 7th, 2007
Comparing “open source” projects? Start by asking why does the project exist.
I’ve thus far made no mention of OpenDS and the wildfire reporting that has ensued, but there was one aspect of this situation I commented on to Stephen O’Grady and others on #redmonk when it came out that bugged me. It was a question: “how did it ever get to this point?”. How does a company – a profit seeking company, not a wild tongued developer – even get into an OpenDS situation? I believe the answer is that many people have wrongly assumed that the label “open source” indicates a project is disentangled from corporate affairs. Let me explain.
It’s not my place to determine whether any of the current buzz words today that mingle corporate led open code projects under various licensing and governance constructs are “right” or “wrong”, but I do have a strong opinion that the independent open source projects often have a leg up in building communities, participation, and multi-vendor investment (and often that’s their goal). I also think it’s foolish to expect any single company, commercially led project should behave in any manner other than a commercial business driven by stockholders would. I’m not defending or accusing Sun or any of the OpenDS developers; I’m focusing instead on what fundamental misunderstandings of “open source” may have led to all the hype that’s ensued.
I’ll start by saying I believe the “open” in “open source” projects is not well defined consistently and so confusion abounds when people compare “open source” X project to “open source” Y project. The compare is flawed in that each project may have a completely different reason for existence. Commercially run open source projects are inherently different from non-corporate, multi-vendor, open collaboration projects. That does not mean one is more “evil”, “good” or “bad” but rather that they’re apples and oranges. However, for whatever reason, the ability to view code has led to people lumping them together in the same classification called “open source”.
Linux and OpenSolaris are so different, I cringe whenever I hear people compare them (and yet I get dragged into doing comparisons myself to prove it’s not proper). It’s not that any one approach is by definition right or wrong – they have different reasons for existence. I do believe strongly that “Linux” is a great approach for its community’s goals – but Linux starts with a community, not a vendor’s goals. And so it becomes an issue when you compare a commercially driven project to a community led project – the reason for their existence is entirely different. There are different situations and goals that warrant a different project governance, control, license, and decision making construct for these projects.
Look at Eclipse. For full disclosure, I work at IBM. I’ve also only been at IBM since 2005 so Eclipse “happened” before my time. While Eclipse’ roots trace back to IBM, I don’t believe IBM had a single product that used Eclipse when it was “open sourced”. Some intelligent visionaries at IBM saw that the world needed an extensible IDE and platform for building out the next generation of desktop applications. Eventually Eclipse added Eclipse RCP and today IBM has Lotus Notes, Symphony, Rational, WebSphere and probably other Tivoli and IM tools and products built on Eclipse. Adobe, BEA, Borland, Oracle, SAP (competitors) are all “Strategic Members” of Eclipse and all have products that use Eclipse code (as do many other commercial software vendors). Did IBM intend to make money on Eclipse itself or intend to help its software competitors with code?
What was IBM’s goal then? Could it have been to disrupt the status quo, to change the landscape, foster open standards, build an ecosystem of investors, and ultimately move the industry forward? (something even a vendor as large as IBM could not do alone) I think we all know the answer to that. Just look at the results: a huge membership of Eclipse.org – look at how many of these for profit companies are using Eclipse in their own products. Could Eclipse’ structure be anything other that what it is to have the same impact? I don’t believe so.
Very few Eclipse “members” actually make money on selling the Eclipse code itself – they generate revenue using Eclipse in their products and extensions of the code. These members also reduce cost through collaborative, community based shared development. There are economic drivers and business value moving Eclipse forward. The revenue has moved from selling the IDE or RCP code to selling ancillary products/services leveraging and extending the code. What part of Eclipse Foundation does IBM own and control at Eclipse.org? Answer: None. How many times does “IBM” appear in the Eclipse Foundation Governance Bylaws? Answer: 0. With this independence, the Eclipse community has chosen Eclipse’ future, moving towards the needs of member users, towards innovative new developments, and ultimately has created a very malleable, extensible codebase upon with hundreds (maybe thousands) of products rely – whether IBM liked it or not.
It amuses me to see the OpenSolaris community now in a riff over Sun naming the Project Indiana OpenSolaris distro… well… OpenSolaris (second time’s a charm?). As a corporate company can decide, Sun has chosen to own and control all of the copyright and trademark IP, the Solaris architecture decisions, governance appears to “report” to Sun, Even the OpenSolaris community’s “Constitution” mentions Sun Microsystems, Inc. and is marked with a Sun copyright at the bottom. Sun employees hold 6 out of the 7 Governance Board seats, and all of the opensolaris.org infrastructure is owned and managed by Sun. Anyone who does contribute code must first sign over copyright to Sun, the company. This is not “like Linux” at all and it irks me when people compare them as if they’re similar products that should be compared.
So what standing does any “community member” have to tell Sun not to name Project Indiana what Sun wants to name it? This is not a “Foundation” or independent not for profit project. Sun is ultimately in this to make money on the productization of Solaris (why… after two years are there no competing commercial *Solaris distros as we see with Red Hat, Novell, Oracle, Ubuntu, etc?). The only group with standing to tell Sun what to do is Sun’s stockholders. It could only have been delusion or sheer blindness that led some community members to overlook that OpenSolaris has a different reason for existence and hence differing goals and mission as something like Linux. You cannot and should not compare them and you absolutely should not assume one “should be” like the other.
Look at the results. Start with how many people have contributed code to OpenSolaris (and look at what they’re contributing if you have time). OpenSolaris is Sun’s own project – I can confidently state there is no outside development of any significant substance directing the architecture of Solaris / OpenSolaris different from what Sun the company would have done anyway. Two “community developers” (Juergen Keil and Richard Lowe) account for nearly 40% of all accepted contributions – just two developers. Only 84 developers have contributed anything at all – ever (including small typos fixes, accepted or not). Outside contributors must have a Sun employee review, approve and integrate their code. And after two years, it seems some are starting to just realize, this Sun controlled model may not be the best approach. Those who do suddenly “wake up” have been relying on a false assumption. They assume OpenSolaris exists for them or should be like Linux or some other “open source” project they know about – and the reality is, it never was. It’s all about Sun’s stockholders.
What about Linux? There are approximately 2,000 Linux kernel contributors to each release alone (this does not include the massive work going on above the kernel). Looking at the commercial contributors to Linux, you will find a “who’s who” of IT and electronics vendors (also take a look at the LF membership). With Linux, copyright of the Linux kernel code is retained solely by the authors, there are many non-profit foundations supporting the components of a Linux distribution, and because decision making is merit based by community members, no one company controls (or stops) what goes in. Step back to the start of Linux and it’s obvious the intent for this project’s existence was very different than Sun had for OpenSolaris.
So returning to the subject of the post, I have come to the conclusion that much of the “open source” hype and “hurt feelings” are rooted in fundamental confusion about what “open source” means especially in single-vendor led and controlled projects. The only reason anyone should be surprised by anything Sun does with OpenSolaris, OpenDS, or any of the other Sun open source projects it controls, is because that person has fundamentally created an expectation that access to source code meant more than just that – and that is a flawed assumption.
Commercially led projects are created for commercial reasons. “Community members” should not force their own expectations on these projects or they’re likely to see disappointment, frustrations, and unnecessary hype when the company does something counter to what is expected. The same holds true for other companies as well, including IBM. Consider this Q&A about commercial project expectations from Stephen O’Grady back in June:
Q: Do you think that this Open Commercial Development represents an ideal hybrid of open source and commercial development philosophies?
A: It all depends on your expectations. If the idea is that some of the benefits of open source – be they community QA and bug reporting, feature suggestions, and so on – will be realized via this model, then yes. If the intent, however, is to build a vibrant, open source style community, a la Eclipse, then the answer is no, it isn’t.
It all starts with having the right expectation. Is Sun at fault on anything with OpenDS or OpenSolaris? Hey, no one’s perfect, but who can know for sure? Some may point to poor communication of its intent and goals for the projects (and improper comparisons to Linux). Too often I see Sun executives trying to position OpenSolaris as “like Linux”, but those who do research and homework, will likely understand the reality the hype-driving-community often ignores. Is this the “holy grail”, “silver bullet” answer to squash the hype? Absolutely not; communities will speculate forever. However, it’s easier to stay out of the hype if your message is consistent and clear.
You might be wondering what kicked off this massive post today? The answer is odd, but it was a quote from Bruce Perens in an El Reg article. In case any of the above post left my position to question, I agree with Bruce and this quote seems a great place to end.
“In general open source is only going to work if you let it be a community led project. Sun has had a hard time learning this, and some of their open source projects have had a hard time getting outside contributors, because Sun has insisted on owning the whole thing,” Perens said.
December 7th, 2007 at 2:34 pm
The Importance of Open Source Project Governance « Ian Skerrett said:
[...] Importance of Open Source Project Governance Michael Dolan has written an interesting commentary on the differences between corporate led open source projects and Foundation led open source projects. He uses [...]
December 7th, 2007 at 11:40 pm
links for 2007-12-08 « Wizard of IdM’s Weblog said:
[...] Comparing “open source” projects? Start by asking why does the project exist. Good article and points. “The only reason anyone should be surprised by anything Sun does with OpenSolaris, OpenDS, or any of the other Sun open source projects it controls, is because that person has fundamentally created an expectation that access to so (tags: Opensource linux opensolaris differences blog) [...]
December 8th, 2007 at 3:19 am
People Over Process » links for 2007-12-08 said:
[...] Comparing “open source” projects? Start by asking why does the project exist. Control vs. no control when a company does open source. (tags: opensolaris opends scandal sunw opensource) [...]
December 9th, 2007 at 12:24 am
Sean’s Mental Walkabout » Blog Archive » links for 2007-12-09 said:
[...] Comparing “open source” projects? Start by asking why does the project exist. This post brings up a lot of good points on what “open” means. (tags: blog opensource linux opensolaris) [...]
December 9th, 2007 at 1:22 am
tecosystems » links for 2007-12-09 said:
[...] Comparing “open source” projects? Start by asking why does the project exist. very interesting piece by mdolan; a bit cynical towards Sun, as usual, and i do think comparisons are possible b/twn projects managed under different governance models, but there’s a lot in here that i agree with. be interesting if he went introspective. (tags: mdolan linux opends opensolaris opensource sun ibm) [...]
December 9th, 2007 at 6:08 pm
Roberto Galoppini said:
Few years ago I Few classified the FLOSS production model into three organizational categories (Corporate, Voluntary and Hybrid). It looks like if it still makes sense.
Projects falling under the Corporate category – i.e. where all stages of software production are carried on within the organization – have the same organizational attributes of projects conducted under a traditional firm. The Corporate category, missing the opportunity to get involved individuals (partially) self-selected, can easily loose valuable contributions.
December 9th, 2007 at 10:28 pm
Christian Geisert said:
It’s about time to establish the term “Open Development”
December 10th, 2007 at 11:29 am
md said:
Christan: want to kick off the debate?
Roberto: I think that would be an interesting approach for a classification label for OSS. I’m imagining something like CC with attributes for the classification… I haven’t thought it out, but there may be something there for easy education.
December 10th, 2007 at 3:51 pm
OpenDS: Observations from an open-source project maintainer/screwup « The Wayward Word Press said:
[...] Mike Dolan’s Comparing “open source” projects? Start by asking why does the project exist [...]
December 11th, 2007 at 9:56 am
Open Source mobile edition said:
[...] own Matt Asay recently took former Sun executive Michael Dolan to task for a piece comparing Eclipse with OpenDS, which Dolan once worked for at [...]
December 12th, 2007 at 7:35 pm
NotSure said:
I do not have a stake in either camp, but from the outside, they do seem very similar. Sun controls where the kernel is going and most people have no say in things, especially the end users. Linux is controlled by a powerful hierarchy of people, and only a few people at the top get to decide where the Kernel is going, few people have any say, especially the end users.
Where is the difference? One side makes more money? The other side claims to be more democratic without actually being so?
Linux claims to be free as in freedom, but that is a lie for most users. Linux is free only for programmers. End users have no freedom at all. End users are stuck with every intelligent decision made by programmers, and end users are stuck with every stupid decision made by programmers.
January 21st, 2008 at 8:25 pm
An interesting follow-on commentary to my Linux and OpenSolaris post said:
[...] you can read Spanish, I encourage you to check it out. While it appears Sergio disagrees with me on economics driving participation (and hey, disagreement is allowed), you can see he then builds off my argument by offering four [...]
April 6th, 2008 at 6:42 pm
Commercial, Professional, and Community Open Source: Resolving the Naming Confusion said:
[...] Michael Nolan argues that commercial and community open source exist and need to be separated. He compares Open Solaris with Eclipse and views the former as a commercial project and the latter as a community project. I concur with his point about Eclipse not making IBM money but shifting the revenues to ancillary products, as stated above and argued elsewhere in more detail. I disagree, however, that only community open source is viable in the long-run and that it cannot serve commercial purposes. Quite obviously it can. [...]
April 23rd, 2008 at 6:52 pm
Ted Ts’o Dissects “What Sun was trying to do with OpenSolaris” said:
[...] Ted on a few issues. Do any of these sound familiar? I think I’ve covered some of this before here, and here, and [...]
April 26th, 2008 at 12:28 am
Organic vs. Non-Organic Open Source, Revisited | Thoughts by Ted said:
[...] a senior technologist from MySQL, thinks it does, as do folks like me and Amanda McPherson and Mike Dolan; but does it really? Are we just saying that because we want to take a cheap shot at [...]
June 9th, 2008 at 6:32 am
451 CAOS Theory » 451 CAOS Links - 2007.12.10 said:
[...] Comparing “open source” projects? Start by asking why does the project exist., Michael Dolan Dot Com, Michael Dolan (Blog) [...]