In 2010 I attended a workshop in San Francisco entitled ‘starter care.’ It was about the art of bread making; specifically sourdough, which is the staple variety of bread in West Coast America. The starter is a simple flour and water mix, nurtured over time to cultivate natural yeasts. You feed the starter regularly with fresh flour and water, maintaining a certain consistency to your preference; some bakers keep a very dry, dough-like starter, others abhor viscosity. When it comes to bake a loaf, you feed the starter once more, extract a sample, and use that as the base of your bread dough.
Over time—years, even—each unique starter takes on its own unique flavours and the loaves you bake from it will be unique in their way.
There’s one other aspect of bread making culture that’s noteworthy here, and that’s sharing. The same starter, constantly fed and replenished, can be maintained for decades; forever, really. Often, when someone begins a new starter they will take a sample of another, and use those cultures as the basis for their own rather than work from nothing. Furthermore, it’s a heartfelt kindness to give someone a sample of your starter as a gift (the starter I have at present came to me this way.) Over time there will be variance from the original. The flour and water ratio may change, and the air and water in the different environment will introduce new bacteria, changing the flavours of the yeasts growing within.
I’m leading up to a glaring software development analogy, but I want to focus on something specific. In open source we mostly celebrate singular projects: Centralised entities run in the open, accepting patches from far and wide to strengthen a core. Your JQueries, Bootstraps, and so forth. I want to draw attention to the starters of software; the code that people share not with the intention of getting patches back, but code that provides for someone the superior basis for their own work.
A number of years ago, my friend and colleague Mark Norman Francis put his unix home directory on GitHub. Within that repository is a katamari of scripts that Norm uses on a day-to-day basis to operate his computer. This is not code that you would necessarily run as-is on your machine; the purpose of sharing was for people to use it as a starter; a successful structure from which to learn and reuse and go your own way. The network graph shows a dozen others forking the work and tailoring this open code to do whatever they need to do with their machines, all making something unique of their own, all the better for the starter Norm gave them.
Likewise, Jekyll bloggers share the source for site structures to help others start their own blogs from scratch, and projects like HTML5 Boilerplate carry a similar spirit of being the starting point for new, unique things.
The most wonderful success of open source is not in its behemoth projects, but in the establishment of an institutional, cultural normality wherein which people share what they have with anyone who wants it. It is a heartfelt kindness to give someone a sample of your starter.