Organic vs. Non-organic Open Source

Brian Aker dropped by and replied to my previous essay by making the following comment:

I believe you are hitting the nail on the “organic” vs “nonorganic” open source. I do not believe we have a model for going from one to the other. Linux and Apache both have very different models for contribution… but I don’t believe either are really optimized at this point.

Optimization to me would lead to a system of “less priests” and more inclusion.

I made an initial reply as comment, and then decided it was so long that I should promote it to a top-level post.

I assume that when Brian talks about “organic open source” what he means is what I was calling an “open source development community”. Some googling turned up the following definition from Mozilla Firefox’s organic software page: “Our most well-known product, Firefox, is created by an international movement of thousands, only a small percentage of whom are actual employees.”

This puts it in contrast with “non-organic” software, where all or nearly all of the developers are employed by one company. (And anyone who proves talented at adding features to that source base soon gets a job offer by that one company. :-) By that definition we can certainly see projects like Wine, Mysql, Ghostscript (at one time), and others as fitting into that model, and being quite successful. There’s nothing really wrong with the non-organic software model, although many of them have struggled to make enough money when competing with pure proprietary softare competitors, with MySQL perhaps being the exception which proves the rule.

In most of these cases, though, the project started more as an organic open source, and then transitioned into the non-organic model when there was a desire to monetize the project — and/or when the open source programmers decided that it would be nice if they could turn their avocation into a vocation, and let their hobby put food on the family table.

Solaris, of course, is doing something else quite different, though. They are trying to make the transition from a proprietary customer/supplier relationship to trying to develop an Open Source community — and what John’s candidate statement pointed out is that they weren’t really interested in creating an organic open source developer community at all, but they wanted the fruits of an open source community — with plenty of application developers, end-users, etc., all participating in that community.

We don’t have a lot of precedent for projects who try to go in this direction, but I suspect they are skipping a step when they try to go to the end step without bothering to try to make themselves open to outside developers. And by continuing to act like a corporation, they end up shooting themselves in the foot. For example, the OpenSolaris license still prohibits people from publishing benchmarks or comparisons with other operating systems. Very common in closed-source operating systems and databases, but it discourages people from even trying to make things better, both within and outside of the Open Solaris core team. Instead, they respond to posts like David Miller’s with “Have you ever kissed a girl?”. (Thanks, Simon, for that quote; I had seen it before, but not for a while, and it pretty well sums up the sheer arrogance of the Open Solaris development team.)

So while Linux may not be completely optimized in terms of “less priests” and more inclusion, at least over 1200 developers contributed to 2.6.25 during its development cycle. Compared to that, Open Solaris is positively dominated by “high priests” and with a “you may not touch the holy-of-holies” attitude; heck, they won’t even allow you to compare them to other religions without branding you a heretic and suing you for licensing violations!

35 thoughts on “Organic vs. Non-organic Open Source

  1. Actually, Firefox is arguably a good example of going from non-organic to organic. It is worth nothing however that this month marked the 10 *year* anniversary of Mozilla going open. It almost seems like the project didn’t really take off until it’s safety net in the Netscape / AOL corporate structure was cut off. I wonder if the only way to actually make that transition is to get abandoned by your original non organic sponsor.

  2. I think there is a precedent for a successful transition, and it was painful: Netscape/Mozilla did that, without much success in the first few years, as jwz can attest. It seemed to me to only really work out when they gathered around Firefox.

  3. Getting abandoned by your original non-organic sponsors is certainly one way to force the “high priests” who are most familiar with the source base to “get out of the way” and let some new blood in. But there are other ways to make sure a project continues to get new blood; this is why things like the Kernel Newbies web site is so important.

  4. Hi!

    You picked up the basic gist of my argument. MySQL has strange roots, and I would not call it organic (it has some aspects of being it). I spent last night talking to a team at Sun on how to write open source software and do it in an organic way….

    I don’t know how we get rid of the priests. This is one of the problems we have right now… maybe github’s “fork” button plus a heavy amount of knowledge from Wiki thought will give us the answer to the problem.

    Cheers,
    -Brian

  5. just a note, for those of us following along in your LJ, this post got posted 6 times to your journal (presumably with edits)… you might want to go delete the duplicates…

  6. I think that Linus described better than anyone when he said in a interview when he was asked if there is some kind of “organization” in Linux. He answered: No, it’s how people happen to work when they try to do something together (or something like that)

    Linux is 100% pure “liberalism”: there’s no “constitution” nor “boards”, there’s just a guy called linus who has a good reputation and then there’re more people who also have good reputation…the rest of the “community” builds itself alone.

  7. I am talking to a few of the product managers at Sun, and I find them very approachable. I want to learn more about how HA, FMA, and Zones can be put to use, and they’re helping me with advice, with pointers to developers, etc.

    I think a lot of Sun people are approachable and friendly. Very definitely, the Solaris engineers and a few of the Java engineers I’ve met are down to earth. Perhaps that’s because they see a lot of good engineering all around.

    I think good will come of this opensourcing effort – it has definitely helped Belenix make progress :) (www.belenix.org)

  8. http://tytso.livejournal.com/

    I think, that “but they wanted the fruits of an open source community — with plenty of application developers, end-users, etc., all participating in that community.” really hits the nail on its head.

    As I am currently with a company which determines whether or not to use a free software by objective criteria such as user base, number of forum postings hits on Google, being backed by a big-name company, for some reason I ran into such company backed free software products the third time now, in less than half a year. I pointed that out on a post of my own (which I wrote before I read yours, therefore it lacks a reference to here): http://dagobart.wordpress.com/2008/04/24/why-the-community-of-xxx-failedfails/

    Your point, apparently, is not only true for OpenSolaris, but also is (or might going to be) true for Mambo, Asterisk, Trixbox. — I think, the core is that lots of folks still didn’t get the idea that releasing a piece of software to the community is, well, releasing it. Like making a donation. If you do that with the intend to let others do the work for you, — people are no boneheads, they will smell the rat. So such approaches, in my opinion, tend to fail.

  9. “For example, the OpenSolaris license still prohibits people from publishing benchmarks or comparisons with other operating systems. Very common in closed-source operating systems and databases, but it discourages people from even trying to make things better, both within and outside of the Open Solaris core team. ”

    Note that only applies to the Solaris commercial product, it does not apply to OpenSolaris. While you may disagree with the terms of the commercial product, many commercial products also have those terms.

    “Instead, they respond to posts like David Miller’s with “Have you ever kissed a girl?”. (Thanks, Simon, for that quote; I had seen it before, but not for a while, and it pretty well sums up the sheer arrogance of the Open Solaris development team.)”

    I have to disagree, strongly, with your comment on the “arrogance” of the Solaris development team.

    First of all, you’re talking about a comment from one person, over ten years ago. Not only that, there are about a thousand people that work on Solaris; that’s not even a remotely representative sample. Also, who hasn’t made a comment or remark that they regret years later?

    Second, anyone that has actually spent time with many of the Solaris developers knows that they’re hardly arrogant or elitist. I had never used Solaris on a day-to-day basis until 2005 and only in passing before that; yet many Solaris developers took the time to explain foreign concepts to me, some provided a few hotfixes(!), and others pointed me to where I could learn more.

    “So while Linux may not be completely optimized in terms of “less priests” and more inclusion, at least over 1200 developers contributed to 2.6.25 during its development cycle. Compared to that, Open Solaris is positively dominated by “high priests” and with a “you may not touch the holy-of-holies” attitude”

    As a person that doesn’t work for Sun, I am happy to say this is wrong. There is nothing “holy-of-holies” about touching the Solaris code. As long as you go through the proper review and testing processes, it is very likely your contribution will be accepted. I should know; I have several that were.

    The primary issue that Sun has at this point is mainly logistics, technical, and legal.

    Sun has been using an internal source code control system for the past decade or so that is being replaced by Mercurial. That takes time, because, rather than “throw the code over the wall” Sun is actually changing their *internal* processes to match the external ones. That means that internal folk will be using the same tools that external folk will be in almost every case.

    “; heck, they won’t even allow you to compare them to other religions without branding you a heretic and suing you for licensing violations!””

    As I mentioned before, that only applies to Solaris, the commercial product.

    OpenSolaris has no such restrictions. Feel free to download the iso from http://opensolaris.org/os/project/indiana/resources/getit/ and disparage and compare as you please.

    It is completely, freely redistributable, and has no restrictions on benchmarking, etc.

  10. Shawn,

    I stand corrected on the Open Solaris license. It doesn’t explicitly prohibit benchmarks, although according to the OpenSolaris Binary License, the only permitted use is “reproduce and use internally the Software for the purposes of developing or running an OpenSolaris distribution”. I’m not entirely sure benchmarking is considered “running an OpenSolaris distribution”, but that’s a question for the lawyers, I guess.

    You might want tell Sun’s lawyers that they should probably make a minor change to the Open Solaris Binary License. Given Sun’s recent and unilateral redefinition of Open Solaris as only meaning Project Indiana, that would mean that other distributions based on what-was-formerly-called-Open Solaris, such as Nextensa, can’t legally use any of the files in the Open Solaris Binary License, including all of the ON Binary-only components. After all, according to the license they can only be used for “running an Open Solaris distribution”, and Nextensa and Benelix aren’t Open Solaris distributions any more, so their use of the Open Solaris binary components is illegal. Sun would be better off changing the license to say something like the “distributions using the Operating System/Networking ‘ON’ consolidation for Open Solaris”. Just a suggestion. :-)

  11. “Shawn,

    I stand corrected on the Open Solaris license. It doesn’t explicitly prohibit benchmarks, although the OpenSolaris Binary License, the only permitted use is “reproduce and use internally the Software for the purposes of developing or running an OpenSolaris distribution”. I’m not entirely sure benchmarking is considered “running an OpenSolaris distribution”, but that’s a question for the lawyers, I guess.”

    I believe Sun has explicitly stated its allowed, though I will pass on your feedback to our advocacy community :-)

    “You might want tell Sun’s lawyers that they should probably make a minor change to the Open Solaris Binary License. Given Sun’s recent and unilateral redefinition of Open Solaris as only meaning Project Indiana, that would mean that other distributions based on what-was-formerly-called-Open Solaris, such as Nextensa, can’t legally use any of the files in the Open Solaris Binary License, including all of the ON Binary-only components. After all, according to the license they can only be used for “running an Open Solaris distribution”, and Nextensa and Benelix aren’t Open Solaris distributions any more, so their use of the Open Solaris binary components is illegal. Sun would be better off changing the license to say something like the “distributions using the Operating System/Networking ‘ON’ consolidation for Open Solaris”. Just a suggestion”

    Now that is definitely wrong. I can assure you of that. The OpenSolaris binary components are definitely intended to be used by community distributions. The trademark usage is completely separate.

    I have forwarded a link to your posting here to appropriate parties.

    Thanks for sharing your concerns! :-)

  12. Oh, I’d also like to add that the OpenSolaris Binary License only applies to a relatively small number of components.

    Like Java, Sun doesn’t have full redistribution rights for all of the components that make up Solaris. As such, the binary license is their compromise for those components which they can redistribute in binary, but not source code form.

    Most of the components of OpenSolaris are licensed under the CDDL and thus have even fewer restrictions than many other copyleft open source license.

  13. Shawn,

    I know what was intended. But to lawyers, and courts, legal precision is very important; there’s a reason why contracts very carefully define their terms before they are used — in that way contracts are very much like writing a program, except that the instructure set architecture for the US legal system makes the x86 look positively regular and sane in comparison. :-)

    So it’s not a big deal; I very much doubt Sun would do something stupid like sue the distributors of Nextensa and Benelix for copyright infringement, especially when they can be downloaded off the OpenSolaris.org web site. But, it’s still a legal nit that should be fixed.

  14. “I know what was intended. But to lawyers, and courts, legal precision is very important; there’s a reason why contracts very carefully define their terms before they are used — in that way contracts are very much like writing a program, except that the instructure set architecture for the US legal system makes the x86 look positively regular and sane in comparison. :-)

    So it’s not a big deal; I very much doubt Sun would do something stupid like sue the distributors of Nextensa and Benelix for copyright infringement, especially when they can be downloaded off the OpenSolaris.org web site. But, it’s still a legal nit that should be fixed.”

    While I am not a lawyer, one of the important things in legal proceedings is how the author of a license interprets it. Various Sun representatives have publicly stated several times that such and such usage is intended, they have promoted distributions such as Belenix, etc. and so I believe that should be sufficient.

    As I mentioned before, I have forwarded your concerns to the appropriate parties :-)

    Cheers.

  15. I think, in the initial post about “what-sun-was…” :) was clearly stated, Sun had no any intention to create a community, but it was marketing movement.

    Let’s take a look on this from a business perspective. SUN depends on Solaris in their big-iron-servers-business which is a big chunk of revenue. So, until Sun depends on it,
    they have to protect some Solaris principles which been offered to customers, such as “enterprise-level-standards” or compatibility, stability, upgradability, API, ABI and etc, etc, etc.

    These principles are the value of Solaris. (It is a quite different to what Linux does offer, isn’t it?) So, SUN folks have to establish a development process
    with some firewall and protect their enterprise values from “foreign” kernel hackers and geeks. Who knows what they believe to?.
    If you have a question how Solaris and Opensolaris related to each other, just take a look on the Opensolaris processes http://www.opensolaris.org/os/community/on/os_dev_process/, you will see in the center of it the Nevada community and some magical “ON”. If you’ll ask a question what is it? The answer is: the core Solaris development! Let me spell again:
    S-O-L-A-R-I-S. Look, nothing is wrong, they are just doing their bushiness under non-GPL license. The discussion about organic vs. non-organic does not make sense here, until it wasn’t made a religion one.

    Thus, the question why Opensolaris has a particular community, need to be addressed to folks who articulate ideas and principles of Opensolaris.
    So far, it was articulated very unclear and uncertainly, in compare with how Linux did it, and it explains why communities are so different.

    mikhail

  16. Ted, I trust that you’ve got some better evidence for the “sheer arrogance” of OpenSolaris than a quote from me from nearly twelve years ago…

    And not surprisingly, I don’t concur with your analysis. At our recent dtrace.conf(08) here in San Francisco, we had attendees from across the open source world — including communities as disparate as Erlang, Xen, PostgreSQL and FreeBSD. Stephen O’Grady summed it up pretty succinctly on his blog: “the conference provided an excellent read on the health and overall well being of the relatively newly minted DTrace community. The verdict? Healthy.”

    So in at least some ways from at least some perspectives, we’re succeeding at creating true open source communities. And to prove that I’ve actually managed to learn something over the last twelve years, I’ll just leave it at that — resisting the temptation to make a sharp remark that would get me in trouble for the next twelve. ;)

  17. Bryan,

    It’s true that these days stuff that we e-mail or post about can come back years later to haunt us. To be honest, I didn’t look very closely at the date of the Usenet posting before I linked to it; if I had realized how old it was, I probably wouldn’t have. My apologies; I’m not sure exactly what the statute of limitations on intemperate posts should be, but I’m pretty sure that twelve years well exceeds it.

  18. Having read your comments about priests and then read the comments above, all I can say is “interesting.” But if you’re one of the priests and when you look around and all that you see is other priests, are you going to recognize them for that or not?

    Does an Italian in Italy see Italians or friends or foreigners when he walks down the street and sees other locals in the street, at home?

  19. Marty,

    Well, I would think that part of it might be whether I see thousands and thousands of other “priests”, where overall control of the development is by the “priests” and the priests all have different employers, or whether there are only 50-100 priests, all employed by the same employer, and where direction about trademark issues and direction are dictated by pointed-haired bosses/managers.

    Does that mean that sometimes it’s hard for changes to get merged into Linux? Of course! There is quality control that does need to be applied, both to Open Solaris and to Linux. But I think if you take a look at the patch rate of the two kernels, it’s pretty clear which OS is more open to new submissions. Perhaps these are just all temporary set backs, and Sun is just a very, very huge oil tanker that takes years to turn, and all of the governance issues with OpenDS, Open Solaris, etc., are just aberrations. Only time will tell…

  20. I think it’s worth clarifying one specific point: When you say the “OpenSolaris license still prohibits people from publishing benchmarks or comparisons with other operating systems”, you are not referring to the source licensing for OpenSolaris per se, which is CDDL (plus other genuinely open source licences), but rather the EULA for Solaris Express Community Edition (“SXCE”), which sadly still is bogged down by third-party copyright owners’ requirements for portions of the codebase beyond Sun’s control.

    This is important because not only is SXCE not the only packaging of the OpenSolaris code (and actually to my knowledge is the only one with that noxious problem), but also because it clarifies where the problem originates, which is ultimately not with Sun in this case.

    Rick Moen
    rick@linuxmafia.com

  21. The point of the “Organic Software” label for what we do at Mozilla was not to make a distinction between how Mozilla does open source and how others do open source, but to help people who don’t have a clue what open source is to understand by connecting it with something they do understand, the organic food movement.

    The distinction between OSS as practiced by volunteer-only/mostly organizations and paid contributor organizations is really an entirely different topic.

    – A

  22. Bryan, by quoting Stephen O’Grady: “the conference provided an excellent read on the health and overall well being of the relatively newly minted DTrace community. The verdict? Healthy.”, are you sure you are talking about the same class of community that Ted is? There are dtrace users (including those who instrument their own code with it) and there are dtrace developers (those who maintain the implementation). To what extent is the latter an open source community?

  23. Frank,

    Yes, I believe that the DTrace community is in the same “class” — in part because the vitality of both the technology and the community relies upon domain experts writing DTrace providers for their environments. Indeed, many of the attendees were involved in (and demonstrating) the implementation of DTrace in this critical regard. I also find it interesting that while Ted apologized for exhuming old posts and treating them as breaking news, he ignored the substance of my comment: that we have a community in DTrace that is open, organic and thriving…

Leave a 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>