Blogs

RedMonk

Skip to content

Adding work to social, not social to work: IRC, #ChatOps, and Hubot

I was recently interviewed by TechCrunch’s Alex Williams about the ongoing importance of IRC as a communications medium and wanted to publish the broader context of what I wrote here.

The standard for real-time communication in free/open-source software is IRC, primarily on the FreeNode and OFTC networks. Although this is partly historical (IRCwas invented in 1988), it’s also because it has features appreciated by developers — such as a wide variety of clients with vastly differing interfaces, an open protocol, and server federation so loss of a single node doesn’t take down the network.

IRC represents the social side of distributed development. If there’s an open-source project that you need help with, and you want to speak with the developers or just ask a question, chances are good that there’s an IRC channel for it on FreeNode — project-sponsored or informal. Pingdom published a piece that shows the growth of FreeNode’s IRC network despite an overall shrinkage of IRC use. Some companies with significant participation in open-source software development, such as Red Hat, even maintain internal IRC networks.

Because of IRC’s open protocol and heavy use by developers, automated interfaces to IRC called bots have become popular over the years. Initially they were simply used to maintain control of an IRC channel (i.e. chat room) on networks without the concept of channel registration, but they’re regularly used in the context of software development to do things like report every commit or every new bug. Two of the most popular extensible bots are Eggdrop (Tcl) and Supybot (Python).

#ChatOps and Hubot, which I first learned about at PuppetConf last fall, are part of the next generation of bot, designed not just for reporting and queries but also for taking action. Although Hubot was initially written for 37signals’ Campfire chat rather than IRC (an adapter now exists), 37signals even described Campfire at its launch as IRC for the masses, so the distinction is unimportant. The concept of #ChatOps is based around Hubot’s use primarily as a sysadmin tool rather than a developer tool, thus integrating chatrooms and IT operations into #ChatOps.

Although many companies today are focused on adding “social” into their work products, fewer are adding more work-focused capabilities into social products. Hubot represents a successful example of the latter.

Disclosure: Red Hat is a client, GitHub has been one, and 37signals is not.

by-sa

Categories: community, distributed-development, open-source, social.