Steven Weber: The Success of Open Source and the stew in the magic pot

How many open source developers does it take to change a light bulb? The answer is 17. It takes... 17 to argue about the license; 17 to argue about the brain-deadedness of the light bulb architecture; 17 to argue about a new model that encompassess all models of illumination and makes it simple to replace candles, campfires, pilot lights, and skylights with the same easy-to-extend mechanism; 17 to speculate about the secretive industrial conspiracy that ensures that light bulbs will burn out frequently; 1 to finally change the light bulb, and 16 who decide that this solution is good enough for the time being.

The above very apt joke is from Steven Weber's book The Success of Open Source, which I'm currently reading. (Emphasizing his advise of: Talk a lot.)

Clearly, I'm starting to be quite familiar with the subject now. Even though the book is really good, it sometimes gets boring since the history and culture of Open Source is so familiar. But I would no doubt recommend this to anyone wanting to know more about Open Source.

The magic tribal pot

A lot of the book Weber is trying to explain how and why Open Source projects work. He explores microfoundations - personal motivations that make the developers collaborate in the organised fashion they do - and macrofoundations the hierarchies and structures that keep the projects together.

One of the gems in this book is an explanatory tool of a "tribal cooking pot", that Weber uses to explain the economies of why developers choose to share their work in Open Source projects. The cooking pot metaphor was first used by a Rishab Ayer Gosh in trying to explain why people in general choose to contribute to some public good. The problem with many public goods is that by a strictly rational reasoning, for each individual it would be economically justifiable to just free ride on the work of others, not contributing anything themselves. But if everyone followed this logic, nobody would contribute anything and there wouldn't be any public good to begin with.

The explanation of the magic cooking pot is the following: Imagine a tribe making a stew in a big pot. Every tribe member contributes something, a chicken, onions, carrots, etc... Then they all eat it. This is the dilemma of the public good, it is easy to understand why people show up to eat the stew, but there still is no rational reason why one would voluntarily contribute an ingredient and not just eat what the others are doing.

Now, imagine the pot is magical in a way that the stew will never end. This actually now mirrors the economy of Open Source (and Internet in general; my remark). It doesn't matter if there are millions of free riders who eat without contributing any ingredients, the group participating in the stew doesn't have any less of it, because of the magic pot. Yet - even now we have no explanation why this group voluntarily contributes to the stew. Why don't they join the free riders too? Enjoy the benefits without putting out any effort?

While Weber does offer a theory, there is an important explanation he completely misses. So clearly I'm responsible for helping him out :-)

The chicken with garlic theory

Many Open Source projects start with one contributor and one ingredient. Say I have a chicken and I want to cook and eat it. There is the pot, so why not use it. Of course, I could use my own pot and not the one shared by the whole tribe, but since the tribe pot is magic, there's is noting to loose in using that one either. In fact, any of the other motivations offered by Weber might encourage me to share the chicken with the tribe: It may enhance my reputation as a good cook or I may do it because in my community of friends it is the right thing to do. Whatever the "final" reason, it is important to realise that very little is needed since I don't loose anything by sharing the chicken in the magic pot.

So now we have a chicken cooking. Then along comes this guy with some garlic and he's hungry too. He can now choose to just eat garlic (huh), or he can toss the garlic into the pot and have some nice chicken with garlic. Most of us would prefer the second option! And this is how many Open Source projects get started. Or, if we look at the example of Apache, which Weber uses a lot, instead of 1 initiator it is more like 8 guys who all desperately need the stew, so why not toss all of our ingredients in the pot and start eating.

Weber's theory of network effects

The theory Weber does propose is a good one too, and I haven't heard it before, well, just not spelled out this clearly. And not as an answer to this specific question.

Weber claims that "because of the magic pot there is nothing to loose" explanation is not sufficient. In fact he claims that the reason sharing is seen as such a positive thing is that in fact Open Source projects gain from positive network effects. So in fact the "free riders" are not free riders at all, but an essential asset to the core group actually doing the development. The users / free riders actually contribute to the Open Source software by using it, providing feedback, bug reports (however vaguely uttered), ideas and other valuable things that the developers then use to make the software even better. And this would explain why sharing isn't just a thing that "doesn't harm" the developer, but in fact a desirable thing of its own.

Add new comment

The content of this field is kept private and will not be shown publicly. Cookie & Privacy Policy
  • No HTML tags allowed.
  • External and mailto links in content links have an icon.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Each email address will be obfuscated in a human readable fashion or, if JavaScript is enabled, replaced with a spam resistent clickable link. Email addresses will get the default web form unless specified. If replacement text (a persons name) is required a webform is also required. Separate each part with the "|" pipe symbol. Replace spaces in names with "_".
About the bookAbout this siteAcademicAmazonBeginnersBooksBuildBotBusiness modelsbzrCassandraCloudcloud computingclsCommunitycommunityleadershipsummitConsistencycoodiaryCopyrightCreative CommonscssDatabasesdataminingDatastaxDevOpsDrizzleDrupalEconomyelectronEthicsEurovisionFacebookFrosconFunnyGaleraGISgithubGnomeGovernanceHandlerSocketHigh AvailabilityimpressionistimpressjsInkscapeInternetJavaScriptjsonKDEKubuntuLicensingLinuxMaidanMaker cultureMariaDBmarkdownMEAN stackMepSQLMicrosoftMobileMongoDBMontyProgramMusicMySQLMySQL ClusterNerdsNodeNoSQLodbaOpen ContentOpen SourceOpenSQLCampOracleOSConPAMPPatentsPerconaperformancePersonalPhilosophyPHPPiratesPlanetDrupalPoliticsPostgreSQLPresalespresentationsPress releasesProgrammingRed HatReplicationSeveralninesSillySkySQLSolonStartupsSunSybaseSymbiansysbenchtalksTechnicalTechnologyThe making ofTungstenTwitterUbuntuvolcanoWeb2.0WikipediaWork from HomexmlYouTube