Writing

Feed Software, technology, sysadmin war stories, and more.

Wednesday, May 26, 2021

IRC: run it or use it, but try to avoid doing both

There's a pretty big round of crazy going on in the free software/open source IRC sphere of late. I won't get into the specifics here - it's all over Hacker News and whatnot. (If you find this post years from now, you should check out HN's "past" feature. It'll help with context. Hint: "freenode".)

It's fortunate that I have no involvement with the goings-on of the past few weeks. My own chat situations happily do not intersect with where all of the drama has been happening.

I have only one piece of unrequested advice for anyone who thinks about running (or owning, I guess) an IRC network and/or *using* an IRC network: pick one or the other, but never both.

If you run the servers, don't hang out on channels and chat.

If you hang out in channels and chat, don't run the servers.

Otherwise, there's a good chance you will end up in some kind of squeeze, whether from other people, or inflicted by yourself (and ON yourself) in some fit of prideful stupidity.

I know this sounds bizarre, but it's been my experience that the best-run non-corporate IRC situations happened when the server and/or bot owners (depending on what the scope was at the time) were at least aloof and not "plugged in" to the day to day circumstances of the people and personalities on the channel(s). They just ran the stuff, and the "more involved" people used that stuff to do whatever they did.

Basically, the last thing you want is to have that kind of all-encompassing power, where you can pull the plug, drop the banhammer, or do other really terrible things... and then go and DO that stuff based on some pissing contest you got into with other people.

So, you know how OpenBSD pioneered W^X? A page in memory is writable or executable, but never both? Try doing that with your chat networks, if it applies to you. Run 'em or use 'em, but don't try to juggle both.

I know, I don't think anyone will be able to actually accomplish this. But, I figured I'd say it anyway, in case someone out there with a fantastic sense of restraint is out there and can benefit from it.

Take it from someone who did dumb things as a kid. Okay? Okay.

...

Side note: I said "non-corporate" because situations where you're on the company IRC server don't work this way, unless your company is somehow super-duper screwed up. There should *never* be any question about how a channel runs in that kind of world. There should not be any need for "ops" powers, aside from fixing stupid things caused by dumb programs.

The benefit of "this IRC network == only company X employees" is that there's a framework _outside_ the network for managing things. That means the network itself disappears into the background and is just like any other utility you assume will be there, like the lights, water, or air conditioning.

Of course, if your company has somehow managed to turn its IRC system (or let's face it, any other chat backend) into the kind of shit-flinging jungle that the world at large can become at times, you have much much bigger problems.