Indeed compliance is an issue with IRC, but you don't need to write an IRCd to log all messages and you don't even need to configure IRC services: you could just use InspIRCd [1] (which, by the way, is a superb and extensible IRCd) and an extension such as [2] to achieve what you are looking for.
[1] https://www.inspircd.org/ [2] https://github.com/joshenders/inspircd-m_chatlog
I'll have to give it some investigation. I'm pretty confident in the ability of end users to figure out a basic IRC client, but logging made it a non-starter for our use cases - the chatlog module you linked is rather basic, but looking at the source it should be easy to extend for our usage.
Re:Show HN: Use Slack for Everything
by LinuxBender on Monday January 04, 2016 @06:26PM
(#10839601)
UnrealIRCD also has modules for this. You have to contact the site admin to acquire them. https://www.unrealircd.org/
I've often toyed with the idea of writing an IRCD with logging built in that drops all CTCP setup messages, but it's a huge hassle.