the joys of a mature community

I've really been enjoying the almost-weekly perl weekly newsletter. It is informative, useful and concise. I hardly ever bother with the perl subreddit or other resources to track the language's progress anymore. The fact that I can keep up to date with meaningful developments in perl with a quick read of a few highlighted blog posts a month has revealed to me the joys of a mature community.

Perl has been long-forgotten by the technology fetishists who agonize over the very-latest fads and the tools, constantly refreshing hacker news to find something to love for ten minutes, or hate passionately a half hour after that. Not being "cool" means no fanboys with obligatory blog posts about trivial code snippets they cooked up. Not being "cool" means no fodder for the cottage industry of pundits (haters) who travel the web looking for something to disprove, subvert or negate with a glib bon mot. All that remains are those who are educated, dedicated and mature, quietly making progress as the spotlight burns something else for a change. Its amazing what can be accomplished when every little change or experiment isn't being dissected, blogged, or used a predictor of doom every ten minutes.

While you weren't looking, perl quietly deployed the best unicode support in any scripting language, added some kick-ass core features, and kept fixing security and performance issues. and they're not the only ones. Racket, sbcl and chicken scheme are quietly deploying awesome tools in the lisp/scheme space long after they were left for dead by the language fetishists. Freebsd is delivering a great bsd-licensed OS while everyone talks about linux. While everyone was obsessing about mysql, postgres rolled out a great free and open RDBMS. All without noise, fanboys, or haters.

I've concluded that the size of a community is not a indicator of value or progress - often the inverse! Look at racket. The community is microscopic relative to most of today's popular tools. But this tiny group is extremely concentrated and effective, building all of the tools and documentation to deploy production-quality code. I've concluded that most tools only need about ten key contributors to be sustained. Everyone else is working at the margins, using the tool, or simply watching. Now compare this to the traffic on the "go-nuts" mailing list for the absolutely awesome but unfortunately trendy Go language. Ninety percent of the posts on the list are noise. The popularity of the tool has attracted lots of users and people contributing at the margin...but the core development group is still fewer than ten contributors...and they waste a phenomenal amount of time answering dumb questions on a too-noisy mailing list. Go is a great tool now, but I'm convinced that like perl, it will be ten times as good when ninety percent of the community moves on.

last update 2012-11-04