Basie Blog

A Lightweight Software Development Portal in Django

Why IRC is hard!

with one comment

As someone who knew very little about the inner workings of IRC when the semester began, I can honestly say IRC is a huge beast. During this semester we attempted to add IRC conversations to Basie. The goal was to have conversations indexed and searchable just as emails are now. Unfortunately, emails are not the same as IRC.

One of the first issues that we faced was how we pick a channel. If we allow the user to supply a channel name, what would happen if they specified a channel of another project (i.e. #gimp on irc.gimp.org)? Should we assume that if a channel is available now (read, is empty), will it be available for the length of the project? In the case of Basie, we only met once a week, but we did have a bot in there to log conversations. Some projects may not have this. There’s no real answer for these issues other than to pick a strategy and stick with it.

Late in the semester we also found that some IRC servers may have an upper limit on the number of channels you can join (20 for Freenode). Without having control of the server, the only way around this is to open multiple connections. What was not taken into account was the fact that this limit may be put there for a reason. Some servers may classify multiple connections as a botnet, which in our case, it is. There is possibility of a ban here, not to mention that it may be against the rules of the server.

A proposed solution for both these issues is to let Basie run its own IRC server, but this opens a whole new can of worms. For one thing running an IRC server is a lot different than running a web server. There are a lot more issues and potential for exploits than running a web server (as seen by the channel limit above). Some admins may be reluctant to open an additional port for an IRC server. Despite this, it may be the only way that a large project forge may successful. Only time will tell what direction Basie will follow.

Written by aschurma

December 13th, 2009 at 10:06 pm

Posted in Design, Development

One Response to 'Why IRC is hard!'

Subscribe to comments with RSS or TrackBack to 'Why IRC is hard!'.

  1. [...] the IRC module, then build an XMPP/Jabber module to go with it. (The channel management problems with IRC look uglier and [...]

Leave a Reply