{"id":1524,"date":"2013-01-11T11:35:58","date_gmt":"2013-01-11T17:35:58","guid":{"rendered":"http:\/\/redmonk.com\/dberkholz\/?p=1524"},"modified":"2013-03-15T21:46:31","modified_gmt":"2013-03-16T02:46:31","slug":"adding-work-to-social-not-social-to-work-irc-chatops-and-hubot","status":"publish","type":"post","link":"https:\/\/redmonk.com\/dberkholz\/2013\/01\/11\/adding-work-to-social-not-social-to-work-irc-chatops-and-hubot\/","title":{"rendered":"Adding work to social, not social to work: IRC, #ChatOps, and Hubot"},"content":{"rendered":"<p>I was recently interviewed by TechCrunch&#8217;s Alex Williams about the ongoing <a href=\"http:\/\/techcrunch.com\/2013\/01\/06\/irc-has-lost-60-of-its-users-since-2003-but-life-as-a-robot-is-just-beginning\/\">importance of IRC as a communications medium<\/a> and wanted to publish the broader context of what I wrote here.<\/p>\n<p><strong>The standard for real-time communication in free\/open-source software is\u00a0IRC<\/strong>, primarily on the FreeNode and OFTC networks. Although this is partly historical (IRCwas invented in 1988), it&#8217;s also because it has features appreciated by developers \u2014 such as a wide variety of clients with vastly differing interfaces, an open protocol, and server federation so loss of a single node doesn&#8217;t take down the network.<\/p>\n<p><strong>IRC\u00a0represents the social side of distributed development.<\/strong> If there&#8217;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&#8217;s an\u00a0IRC\u00a0channel for it on FreeNode \u2014 project-sponsored or informal. Pingdom published a\u00a0<a href=\"http:\/\/royal.pingdom.com\/2012\/04\/24\/irc-is-dead-long-live-irc\/\" target=\"_blank\">piece<\/a>\u00a0that shows the growth of FreeNode&#8217;s\u00a0IRC\u00a0network despite an overall shrinkage of\u00a0IRC\u00a0use. Some companies with significant participation in open-source software development, such as Red Hat, even maintain internal\u00a0IRC\u00a0networks.<\/p>\n<p>Because of\u00a0IRC&#8217;s open protocol and heavy use by developers, <strong>automated interfaces to\u00a0IRC\u00a0called\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Internet_Relay_Chat_bot\" target=\"_blank\">bots<\/a>\u00a0have become popular<\/strong> over the years. Initially they were simply used to maintain control of an\u00a0IRC\u00a0channel (i.e. chat room) on networks without the concept of channel registration, but they&#8217;re regularly used in the context of software development to do things like\u00a0<a href=\"https:\/\/lwn.net\/Articles\/518955\/\" target=\"_blank\">report every commit<\/a>\u00a0or every new bug. Two of the most popular extensible bots are\u00a0<a href=\"http:\/\/www.eggheads.org\/\" target=\"_blank\">Eggdrop<\/a>\u00a0(Tcl) and\u00a0<a href=\"http:\/\/www.supybot.org\/\" target=\"_blank\">Supybot<\/a>\u00a0(Python).<\/p>\n<p><a href=\"https:\/\/speakerdeck.com\/jnewland\/chatops\">#ChatOps<\/a> and <a href=\"http:\/\/hubot.github.com\/\">Hubot<\/a>, which I first learned about at PuppetConf last fall,\u00a0are part of <strong>the next generation of bot, designed not just for reporting and queries but also for taking action<\/strong>. Although Hubot was initially written for 37signals&#8217; Campfire chat rather than\u00a0IRC\u00a0(an adapter now\u00a0<a href=\"https:\/\/github.com\/nandub\/hubot-irc\" target=\"_blank\">exists<\/a>), 37signals even\u00a0<a href=\"http:\/\/37signals.com\/svn\/archives2\/launch_campfire_easy_group_chat_for_business.php\" target=\"_blank\">described<\/a>\u00a0Campfire at its launch as\u00a0IRC\u00a0for the masses, so the distinction is unimportant. The concept of #ChatOps is based around Hubot&#8217;s use primarily as a sysadmin tool rather than a developer tool, thus integrating chatrooms and IT operations into #ChatOps.<\/p>\n<p><strong>Although many companies\u00a0today\u00a0are focused on adding &#8220;social&#8221; into their work products, fewer are adding more work-focused capabilities into social products.<\/strong> Hubot represents a successful example of the latter.<\/p>\n<p><span style=\"color: #999999;\"><em>Disclosure: Red Hat is a client, GitHub has been one, and 37signals is not.<\/em><\/span><\/p>\n<div class=\"acc_license\"><a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><img decoding=\"async\" src=\"http:\/\/i.creativecommons.org\/l\/by-sa\/3.0\/88x31.png\" alt=\"by-sa\" \/><\/a><\/div><!--<rdf:RDF xmlns=\"http:\/\/creativecommons.org\/ns#\" xmlns:dc=\"http:\/\/purl.org\/dc\/elements\/1.1\/\" xmlns:rdf=\"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#\"><Work rdf:about=\"\"><license rdf:resource=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" \/><\/Work><License rdf:about=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Attribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Reproduction\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Distribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#DerivativeWorks\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#ShareAlike\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Notice\" \/><\/License><\/rdf:RDF>-->","protected":false},"excerpt":{"rendered":"<p>I was recently interviewed by TechCrunch&#8217;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\u00a0IRC, primarily on the FreeNode and OFTC networks. Although this is partly historical (IRCwas invented in 1988),<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[18,20,13,22],"tags":[],"class_list":["post-1524","post","type-post","status-publish","format-standard","hentry","category-community","category-distributed-development","category-open-source","category-social"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p23Tsn-oA","_links":{"self":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/1524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/comments?post=1524"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/1524\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/media?parent=1524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/categories?post=1524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/tags?post=1524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}