'Community' is an overhyped word in software

The concept of "community" is all the rage these days, but it rarely presents itself as people suggest, and rarely delivers what its advocates believe.

A recent developer survey from Packt Publishing asks the question, "Does open source really needs individual contributions from developers to survive?"

The short answer? No. That also happens to be the long answer.

Much is made of the importance of community in open source, specifically, and in software, generally. But "community" is perhaps the most overhyped word in software, one that doesn't deliver nearly as much value as marketing people would like you to think. John Mark Walker called this out back in 2006, but apparently many people missed the memo.

In open source, we tend to think of community as a group of people that actively contribute code to a project. But this myth was debunked years ago. Most people don't contribute any software, any bug fixes, any blog mentions, or any anything to open-source projects, including those from which they derive considerable value. They just don't.

Sure, there are counterexamples to this, but they're the exception, not the rule. And it's by no means clear that open-source projects like Linux, MySQL, DotNetNuke, or (Insert project name of your choice) would shrivel up and die if their "communities" disappeared.

As Linus Torvalds recently told me,

Most users are "free-loaders." There are relatively very few people who actually give back in source code or in bug reports, so anybody who argues against free-loading in open source is a moron.

Not that open source has cornered the market on morons or the hollow hype surrounding "community." It's true, for example, that Apple's iPhone is particularly interesting because of the "community" of applications that run on it. It's equally true that Apple routinely frustrates and angers that community as an inconsistent and sometimes despotic gatekeeper...yet iPhone sales show no signs of abating.

Or take Microsoft. A lot of noise is made about Microsoft's reliance on its channel for up to 97 percent of its revenues. Yet Microsoft is rolling out SaaS applications with margins that are reportedly weak for channel partners, but it's doubtful that this "anti-community" action will hurt Microsoft in any tangible way. The other benefits of working with Microsoft outweigh this apparent demerit.

The reality is that communities of users and, to a lesser extent, developers, tend to form around successful products, the products of which are almost always developed by individuals or individual corporations. It's hard to corral a broad group with common interest, aptitude, and vision for a single project, especially if it's also a requirement that this group agree to work for free.

Hence, even so-called "community-developed open-source projects" like Gnome are primarily fueled by corporate interests. That's just how it is. Always has been, always will be.

So, if you want to rely on a community to build your product for you, good luck. You're going to need it, as experience suggests that hard work by a committed core team develops great software, whether its Linux or Microsoft SharePoint, not some committee masquerading as a community.

Community is what happens once you've done at least some initial work right. Community is mostly made up of onlookers. There's value there, yes, but it's not what most people think it is.

Follow me on Twitter @mjasay.

Featured Video