A few years back, Hilary Clinton titled one of her books “It Takes a Village”, which as I understand it (never having read the item in question) concerns the role and importance of a society in determining the future path for a child. While children and software may have little in common otherwise, I think their dependence on the world around them is quite similar. In other words, I think it takes a community to raise good software.
The popular examples of this phenomenon are projects like Craigslist, Firefox or Wikipedia, which openly attribute their success to the vibrant and active communities that foster and sustain them. But less often related are the critical roles communities have played in the lives of products like Eclipse or Visual Basic.
More and more, however, we’re seeing rather startling admissions from some of the largest technology firms in the world that they simply can’t do it all. Whether it’s IBM’s Partnerworld event, the Linux kernel or Sun’s OpenSolaris initiative, some of the biggest and baddest technologists around are standing up and saying, “You know what? We need help. We can’t do everything ourselves.” It’s a recognition, you might say, of what Ebay calls “The Power of All of Us.”
I’ll be careful to note at this point that all of the above mentioned communities are dramatically different (lest I run afoul of my colleague), and driven by different needs and goals. They are all linked by one key factor, however: participation. The above communities are not merely users, resellers in the traditional sense – they are builders. They take the foundation provided to them, whether it’s Firefox, Wikipedia or and build on it, adding new content, new features, new abilities. In the process, they transform an often boring foundation (browser, operating system kernel, wiki site) into something interesting, something constantly growing and evolving, something unpredictably new.
I was reminded of this in particular when, in the wake of Google Maps integration of its satellite imagery, a few people expressed the wish that Google take a page from A9.com and append local imagery to their repository to compliment the bird’s eye view with a less vertical perspective. My opinion? They won’t have to. Why? It’s the age of participation.
Whether it’s inspired by nostalgia (memory maps) or quasi-commercial interests (Craigslist/Google Maps real estate), I think the odds are pretty strong that individuals will find ways – a la Jon Udell – to begin infusing Google Maps, even informally, with their own media assets.
The challenge for any vendor, project or individual looking to foster an active community is two sided, as I see it :
a.) respect your community and provide a mechanism that both rewards and incents their participation, and
b.) set up an infrastructure and terms of service that let you get out of the community’s way
In other words, you need an “Architecture of Participation.”
Because we do a lot of work with commercial vendors in addition to open source or non-profits, the question of how to make money off of a given community often precedes questions on how to build and foster the community. While revenue is obviously important to ensure the ongoing viability of a particular project or product, I think more often than not focusing first on delivering a win/win for yourself and would-be participants is more critical to the success. Communities lead to volume, and as Jonathan Schwartz is fond of saying, “Volume wins.”
If there’s a general lesson for the software world from service successes like Craigslist or Wikipedia, or even software projects like Firefox or Linux, I don’t believe it’s open source – as O’Reilly’s Architecture of Participation might agree. It’s community. Open source may be a critical enabler of community participation, but it’s by itself no guarantee of success. Thus if I was starting a new project, venture or product line (or seeking to reinvigorate and older one), I’d try and remember the most important lesson: it takes a community.