InspIRCd Review

excellent
key review info
application features
  • Clean, simple codebase.
  • (5 more, see all...)

I've been thinking for a very long time about writing a review for an IRC software package. Because I haven't used IRC in ages I just ignored that thought. You might find it odd, but I'll start considering IRC by reviewing InspIRCd, which is actually a daemon (server) and not by reviewing a popular IRC client.

A brief history

First of all, you should know that IRC stands for Internet Relay Chat. It was designed for group communication in chat rooms, called channels, but it also supports user-to-user communication and other features like file transfer. I think that IRC was the first Internet chat network and it became notorious and connected people all over the world. IRC was born in 1988 and grew a lot in the 90s, connecting more and more computers all over the world. In the summer of 1996, IRC was split in two parts, separating the US from the Europe. Long story short Europe wanted rules, US wanted power, so they split into two separate networks.

I've used IRC in 1999 and a little in 2000. In my country, IRC was about the information in 1999 (there were just a few users) and in 2000 there was an explosion of people that started to chat about anything and at some point started to offend each other. Unfortunately, I didn't know much about Linux, perhaps nothing about networking and daemons and kernels. I was just a kid.

Our software. InspIRCd

This is the first time I used an ircd and I was quite relaxed with installing it and with the configuration file.. I encountered no problems compiling it; a pleasant surprise was the original configure script which provided many questions that help the users. Good job with this one.

InspIRCd uses a very nice technique to approach the security problem when using IRC. The daemon doesn't have a working config file so you'll have to configure it yourself and go through all options. At some point there are two lines that have to be uncommented so you can start inspIRCd. I strongly recommend that you read carefully all the configuration file. It provides many options and enough comments so you can get the job done.

From place to place are portions of text tagged "Read This Bit!" that are considered to be very important. Personally I think almost every line is important and you should carefully read everything if you want to do the job properly. There are more than 1200 lines in the config file but don't get discouraged because it's not an unpleasant "literature".

One of the developers told me that they are considering building a web interface and I think this is an excellent idea since it could provide a much better alternative to configure the server.

By default, inspIRCd is compliant to the RFC standards so it's about all the rules that changed IRC in the first place but it also offers great versatility with the use of some of the many available modules.

The Modules

The modules are absolutely great for inspIRCd. They allow adding and removing features on the fly so you'll not have to shutdown the server. There are a lot of implications because the modules extend the servers functionality outside the RFC and provide many more features, but in the same time they can bring chaos where order was installed.

More than half of the configuration file is about modules. A good thing is that by default all the modules are commented out so at least in this stage the server is RFC compliant. Another thing is that some modules are useful for restricting different actions from users. Some useful modules provide security, which was bad a few years ago in IRC networks. With some of the modules loaded, inspIRCd looks more like the US IRC or like ircu which is not necessary a bad thing. It has its advantages.

A very important module is m_spanningtree.so because with it you can link servers to InsIRCd, for creating a network.

The conclusion is that with no modules InspIRC is just like the original ircd that hasn't been updated since '98, but when adding modules it becomes a very powerful IRC daemon that opens possibilities to virtually any functionality you can imagine.

Closing Thoughts

For the purpose of this review I created an IRC server on my computer and then I used X-Chat, irssi and mIRC to connect from other computers. I created five channels and connected four users in them. Then I stopped the server (that wasn't necessary but I didn't know at that point) and did the same thing with several modules loaded. My thirst thought was about the resources consumed by this daemon. They are insignificant and I'm sure a very old Pentium computer can easily serve thousands of users with thousands of channels. Perhaps some sophisticated modules can increase the load but I wouldn't be too worried about that.

I did some research on the net and I discovered an enemy - UnrealIRCd. It seems pretty full featured and enjoys very positive feedback from the users. I've found several IRC daemons but this one is actively maintained and poses a threat to InspIRCd. Currently, I prefer instant messaging over IRC but I have great confidence that VoIP will change the way we communicate forever.

I haven't noticed any problem in the stability of InspIRCd, but if I'd have to make an IRC server I'd look a little more carefully at UnrealIRCd before making the choice. Since InspIRCd is very well documented it would probably win this battle.

The Good

The fact that is RFC compliant by default is great and the support for modules that extend its functionality is even better. The configuration file is well documented and a lot more documentation can be found on the website.

The Bad

A nice GUI, perhaps a webGUI, would be great for this software, but currently one isn't available. It would be better if the configure script would be extended so it can write most of the required options in the config file.

The Truth

InspIRCd is a great piece of software with excellent support offered online. Even though at first sight IRC might seem to be something trivial and maybe sometimes not very useful, if you dig enough into it you'll see that some things are quite interesting.

user interface 3
features 4
ease of use 2
pricing / value 5


final rating 5
Editor's review
excellent
 
NEXT REVIEW: IPTraf