Summer of Code 2015 IRCd
There are many possibilities for how MUC support could be added to Freenode, and many of the volunteers involved in Freenode have opinions on the correct way to approach this problem. Before stepping into that discussion, you should have a basic understanding of the two protocols involved.
- RFC 6120 - Core XMPP protocol
- XEP 0045 - XMPP Multi-User Chat (MUC) extension
- RFC 1459 - Basic IRC client protocol
- TS6 Protocol - Freenode IRC server protocol
To add MUC support to Freenode, you may or may not end up editing the ircd software itself, but you will certainly need your own personal ircd running with the same software used by Freenode. Start by downloading a copy of the code from Github, you'll find further instructions in INSTALL.
As setting up the ircd is a chunk of work in itself, a sensible teaser task here is for a student to run up the ircd and allow mentors to connect to it to chat with them. If you don't have the ability to run up a server somewhere reachable, ask on the IRC channel.