I love listening to open source gurus explain open source to those who have never encountered it, and especially to those with little computing background. In conversations with folks who may have never heard the term 'source code,' open source advocates don't typically have recourse to related words like 'Linux,' 'copyleft,' or 'binary blobs.' That comfortable vocabulary suddenly fails them, leaving them frustrated and stammering.
I've observed some artful feats of analogy by open source zealots eager to help others understand the open source way. Some of these analogies are brief; others are elaborate anecdotes. But all are creative attempts to demonstrate similarities between open source and something an audience finds more familiar.
I have my own open source analogy, one that has led (I'm happy to report) to a satisfying number of wide-eyed 'Ah-ha's!' Here it is:
Imagine you've baked something for your friends—a loaf of bread, perhaps. By sharing this bread with your friends, you've given them something that not only sustains them, but also strengthens your relationship with them. Certainly, these are valuable gifts.
But what if you share more than the finshed product? Suppose that in addition to the loaf of bread, you also give your friends the recipe for that bread. Now you've given them something even more valuable: the power to reproduce the gift you've given them, and the opportunity to improve the lives of others as you've improved theirs.
If your friends enjoy the bread you've made, they can now make more of it for both themselves and their friends. If they prefer bread with slightly different ingredients, they can modify your recipe, concocting bread that suits their tastes. Or maybe some of your friends have dietary restrictions and want to know precisely what has been baked into the bread you've given them, lest the very thing meant to help them might actually harm them. Possessing the recipe means they can now make a more informed decision about whether to consume what you've made.
And now that your friends have the recipe for your bread, they can work with you to produce more of it, increasing the number of people exposed to your creation. Sharing the recipe also means that you and your friends can bake together, strengthening your relationships, and potentially drawing others into the bond you share—because you now possess a common language for collaboration. Sharing a recipe for bread isn't like sharing bread itself. When you share a recipe, you haven't lost anything; both you and your friends can work with and enjoy the same knowledge at the same time, passing it on without consequence—unlike bread that's already been baked, which effectively disappears when you've given it up or eaten it.
Sharing a recipe involves sharing something that eclipses both you and your friends, something that eludes your grasp and your complete control. This can be frightening! After all, who wouldn't be proud of the bread they've made and want to protect that process? But by sharing your recipe, you get to enjoy other benefits: watching it travel and make an impact in places you never expected. This can also be—almost always is—wonderful.
I've told you mine. Now I hope you'll tell me yours: If open source is like sharing a bread recipe, then what's your analogy for open source?