IRC turns 30!

irssi on the Apple //c (Blake Patterson) cropped. (CC by 2.0)

And what better way to celebrate by breaking out some ancient source and get it running!

I thought I’d take a stab at irc 2.1 first.  You can find the source archived on darenet.org, among other places.  And no doubt what made IRC popular was that not only was the protocol open (like Gopher) and the software was free without restriction except for commercial use (like Gopher).

 **
 ** IRC - Internet Relay Chat
 **
 ** Author:          Jarkko Oikarinen
 **        Internet: [email protected]
 **            UUCP: ...!mcvax!tut!oulu!jto
 **          BITNET: toljto at finou
 **
 ** Copyright 1988, 1989 by Jarkko Oikarinen and
 **                         University of Oulu, Computing Center
 **
 ** All rights reserved
 **
 ** Permission is hereby granted to use and distribute this program freely.
 ** Permission to use this program for commercial purposes and in
 ** commercial Bulletin Board or similar systems is not given.
 ** Permission to modify this program and distribute modified version is
 ** not given. This copyright notice may not be modified or removed.
 **
 ** IRC is provided 'as is', without warranty of any kind, either
 ** expressed or implied, including, but not limited to, the implied
 ** merchantability and fitness for a particular purpose. The entire
 ** risk as to the quality and performance of the program is with you.
 ** Should the IRC program prove defective, you assume the cost of all
 ** necessary servicing, repair or correction.
 

Using the Linux Subsystem for Windows and the Debian userland I was able to quickly get it to compile.

IRC 2.1 connected to freenode.
And it’s useless.

However the protocol has drifted too much, and you can’t join anything as the CHANNEL command has long since depreciated.

So not one to give up too easily I tried IRC 2.7h from 1991.  This version is under the GPL v1 license, which removed the restrictions that were in place back in 1989.

Again getting this to compile wasn’t too much of a challenge, which just shows how good the code is, as building for a 64bit machine works no problem.

Connecting with IRC 2.7h

And unlike 2.1 this version is new enough you can connect to channels without modifying the client all that much.  The server built as well, although I haven’t tested it at all, as setting up IRCD is way out of my reach.  As much as I’d love to setup an isolated IRC system, I know it’ll end up being abused in strange ways so I haven’t bothered that much.

Naturally you would be INSANE to use this stuff on anything serious as I’m sure these clients are full of bugs, and have numerous issues.  I’d HIGHLY recommend using stunnel to at least encrypt your connection.

If you have read this far, then I put the diffs up on sourceforge of all things.  You can find it here: sourceforge.net/projects/ancientirconlinux/.  I haven’t provided binaries as I mentioned this is no doubt highly insecure, and exploitable, and I’m going to at least raise the bar so you have to patch & compile it yourself.  Although if you are capable of doing that much, you could have ported it yourself, after you look at my diffs.

2 thoughts on “IRC turns 30!

Leave a Reply