The freenode IRC network has been hijacked.

TL;DR: move to libera.chat or OFTC.net, as did countless free software projects including Gentoo, CentOS, KDE, Wikipedia, FOSDEM, and more. Debian and the Tor project were already on OFTC and are not affected by this.

What is freenode and why should I care?

freenode is the largest remaining IRC network. Before this incident, it had close to 80,000 users, which is small in terms of modern internet history -- even small social networks are larger by multiple orders of magnitude -- but is large in IRC history. The IRC network is also extensively used by the free software community, being the default IRC network on many programs, and used by hundreds if not thousands of free software projects.

I have been using freenode since at least 2006.

This matters if you care about IRC, the internet, open protocols, decentralisation, and, to a certain extent, federation as well. It also touches on who has the right on network resources: the people who "own" it (through money) or the people who make it work (through their labor). I am biased towards open protocols, the internet, federation, and worker power, and this might taint this analysis.

What happened?

It's a long story, but basically:

  1. back in 2017, the former head of staff sold the freenode.net domain (and its related company) to Andrew Lee, "American entrepreneur, software developer and writer", and, rather weirdly, supposedly "crown prince of Korea" although that part is kind of complex (see House of Yi, Yi Won, and Yi Seok). It should be noted the Korean Empire hasn't existed for over a century at this point (even though its flag, also weirdly, remains)

  2. back then, this was only known to the public as this strange PIA and freenode joining forces gimmick. it was suspicious at first, but since the network kept running, no one paid much attention to it. opers of the network were similarly reassured that Lee would have no say in the management of the network

  3. this all changed recently when Lee asserted ownership of the freenode.net domain and started meddling in the operations of the network, according to this summary. this part is disputed, but it is corroborated by almost a dozen former staff which collectively resigned from the network in protest, after legal threats, when it was obvious freenode was lost.

  4. the departing freenode staff founded a new network, irc.libera.chat, based on the new ircd they were working on with OFTC, solanum

  5. meanwhile, bot armies started attacking all IRC networks: both libera and freenode, but also OFTC and unrelated networks like a small one I help operate. those attacks have mostly stopped as of this writing (2021-05-24 17:30UTC)

  6. on freenode, however, things are going for the worse: Lee has been accused of taking over a channel, in a grotesque abuse of power; then changing freenode policy to not only justify the abuse, but also remove rules against hateful speech, effectively allowing nazis on the network (update: the change was reverted, but not by Lee)

Update: even though the policy change was reverted, the actual conversations allowed on freenode have already degenerated into toxic garbage. There are also massive channel takeovers (presumably over 700), mostly on channels that were redirecting to libera, but also channels that were still live. Channels that were taken over include #fosdem, #wikipedia, #haskell...

Instead of working on the network, the new "so-called freenode" staff is spending effort writing bots and patches to basically automate taking over channels. I run an IRC network and this bot is obviously not standard "services" stuff... This is just grotesque.

At this point I agree with this HN comment:

We should stop implicitly legitimizing Andrew Lee's power grab by referring to his dominion as "Freenode". Freenode is a quarter-century-old community that has changed its name to libera.chat; the thing being referred to here as "Freenode" is something else that has illegitimately acquired control of Freenode's old servers and user database, causing enormous inconvenience to the real Freenode.

I don't agree with the suggested name there, let's instead call it "so called freenode" as suggested later in the thread.

What now?

I recommend people and organisations move away from freenode as soon as possible. This is a major change: documentation needs to be fixed, and the migration needs to be coordinated. But I do not believe we can trust the new freenode "owners" to operate the network reliably and in good faith.

It's also important to use the current momentum to build a critical mass elsewhere so that people don't end up on freenode again by default and find an even more toxic community than your typical run-of-the-mill free software project (which is already not a high bar to meet).

Update: people are moving to libera in droves. It's now reaching 18,000 users, which is bigger than OFTC and getting close to the largest, traditionnal, IRC networks (EFnet, Undernet, IRCnet are in the 10-20k users range). so-called freenode is still larger, currently clocking 68,000 users, but that's a huge drop from the previous count which was 78,000 before the exodus began. We're even starting to see the effects of the migration on netsplit.de.

Update 2: the isfreenodedeadyet.com site is updated more frequently than netsplit and shows tons more information. It shows 25k online users for libera and 61k for so-called freenode (down from ~78k), and the trend doesn't seem to be stopping for so-called freenode. There's also a list of 400+ channels that have moved out. Keep in mind that such migrations take effect over long periods of time.

Where do I move to?

The first thing you should do is to figure out which tool to use for interactive user support. There are multiple alternatives, of course -- this is the internet after all -- but here is a short list of suggestions, in preferred priority order:

  1. irc.libera.chat
  2. irc.OFTC.net
  3. Matrix.org, which bridges with OFTC and (hopefully soon) with libera as well, modern IRC alternative
  4. XMPP/Jabber also still exists, if you're into that kind of stuff, but I don't think the "chat room" story is great there, at least not as good as Matrix

Basically, the decision tree is this:

Frankly, at this point, everyone should seriously consider moving to Matrix. The user story is great, the web is a first class user, it supports E2EE (although XMPP as well), and has a lot of momentum behind it. It even bridges with IRC well (which is not the case for XMPP) so if you're worried about problems like this happening again.

(Indeed, I wouldn't be surprised if similar drama happens on OFTC or libera in the future. The history of IRC is full of such epic controversies, takeovers, sabotage, attacks, technical flamewars, and other silly things. I am not sure, but I suspect a federated model like Matrix might be more resilient to conflicts like this one.)

Changing protocols might mean losing a bunch of users however: not everyone is ready to move to Matrix, for example. Graybeards like me have been using irssi for years, if not decades, and would take quite a bit of convincing to move elsewhere.

I have mostly kept my channels on IRC, and moved either to OFTC or libera. In retrospect, I think I might have moved everything to OFTC if I would have thought about it more, because almost all of my channels are there. But I kind of expect a lot of the freenode community to move to libera, so I am keeping a socket open there anyways.

How do I move?

The first thing you should do is to update documentation, websites, and source code to stop pointing at freenode altogether. This is what I did for feed2exec, for example. You need to let people know in the current channel as well, and possibly shutdown the channel on freenode.

Since my channels are either small or empty, I took the radical approach of:

In IRC speak, the following commands should do all this:

/msg ChanServ set #anarcat mlock +if ##unavailable
/msg ChanServ clear #anarcat users moving to irc.libera.chat
/msg ChanServ set #anarcat restricted on
/topic #anarcat this channel has moved to irc.libera.chat

If the channel is not registered, the following might work

/mode #anarcat +if ##unavailable

Then you can leave freenode altogether:

/disconnect Freenode unacceptable hijack, policy changes and takeovers. so long and thanks for all the fish.

Keep in mind that some people have been unable to setup such redirections, because the new freenode staff have taken over their channel, in which case you're out of luck...

Some people have expressed concern about their private data hosted at freenode as well. If you care about this, you can always talk to NickServ and DROP your nick. Be warned, however, that this assumes good faith of the network operators, which, at this point, is kind of futile. I would assume any data you have registered on there (typically: your NickServ password and email address) to be compromised and leaked. If your password is used elsewhere (tsk, tsk), change it everywhere.

Update: there's also another procedure, similar to the above, but with a different approach. Keep in mind that so-called freenode staff are actively hijacking channels for the mere act of mentioning libera in the channel topic, so thread carefully there.

Last words

This is a sad time for IRC in general, and freenode in particular. It's a real shame that the previous freenode staff have been kicked out, and it's especially horrible that if the new policies of the network are basically making the network open to nazis. I wish things would have gone out differently: now we have yet another fork in the IRC history. While it's not the first time freenode changes name (it was called OPN before), now the old freenode is still around and this will bring much confusion to the world, especially since the new freenode staff is still claiming to support FOSS.

I understand there are many sides to this story, and some people were deeply hurt by all this. But for me, it's completely unacceptable to keep pushing your staff so hard that they basically all (except one?) resign in protest. For me, that's leadership failure at the utmost, and a complete disgrace. And of course, I can't in good conscience support or join a network that allows hate speech.

Regardless of the fate of whatever we'll call what's left of freenode, maybe it's time for this old IRC thing to die already. It's still a sad day in internet history, but then again, maybe IRC will never die...

XMPP

XMPP/Jabber also still exists, if you're into that kind of stuff, but I don't think the "chat room" story is great there, at least not as good as Matrix

I am using XMPP daily (1-1 with friends and family, small private groupchats with friends and family, large public groupchats) and can't really follow why you consider the "chat room story" is not good there?

Also, as you mentioned the Matrix IRC bridges: Whenever I have to use an IRC chat room I do so by using an XMPP gateway (biboumi) which works great. ;-)

Comment by Martin
XMPP chat

[...] can't really follow why you consider the "chat room story" is not good there

Well, it's been a while since I have used chat rooms in XMPP, but I seem to recall the capabilities there were limited. As often is the case with XMPP, client support was not uniform and you had to use that special clients to do more advanced things like moderation and so on.

This is a problem on the Matrix side as well, of course: the ecosystem is maturing at variable speed and you have to use their Electron-based "Element" client to get all the shiny new features, but at least there's an "official" client which does it all.

Also, as you mentioned the Matrix IRC bridges: Whenever I have to use an IRC chat room I do so by using an XMPP gateway (biboumi) which works great. ;-)

Yeah well, let's just say my experience with that was definitely "not great". :) But it's been a while, maybe things have improved significantly in XMPP land since I last looked.

I am using XMPP daily (1-1 with friends and family, small private groupchats with friends and family, large public groupchats)

As I said in the article, it really depends: I basically never use XMPP, and my upstream provider is likely to discontinue its service some time this year. When that last happened, I migrated to a new one, but this time I'm thinking of just leaving since I have no use for it.

If you use it daily, then it might be good to move your stuff there, but keep in mind that people who don't use XMPP might have trouble connecting with you (which is less a problem with Matrix because of the web gateways).

Comment by anarcat
xmpp/matrix

I am a XMPP user who agreed not to tell publicly bad stuff about matrix anymore. I think we need some objectivism. The comparison you made between Matrix and XMPP is not objective. You're not into XMPP and are happy about Matrix, that's fine. But matrix isn't "the best and the newest". It may be the most recent, but the software ecosystem around XMPP is very active, if not more than Matrix one. I won't dissert about how XMPP is best than Matrix. That would be too subjective.

Also instead of choosing libera blindly without thinking, just use the network you're the most comfortable on, and if possible one which you know personally the staff. Going nuts about migrating on libera is stupid and makes no sense

Comment by raspbeguy
re: xmpp/matrix

objectivism

While I'm trying my best to be objective, in general, this here is my personal blog, and I don't have a strong requirement for objectivity as I would have when (say) I wrote for LWN.net. So while I welcome the feedback, I think it's misplaced.

But matrix isn't "the best and the newest".

I didn't actually use those words, so those quotes are also misplaced. What I actually used is pretty close: it's "latest and greatest", which is a common expression; I didn't really mean "greatest" in the literal sense here...

It may be the most recent, but the software ecosystem around XMPP is very active, if not more than Matrix one. I won't dissert about how XMPP is best than Matrix. That would be too subjective.

Well you're certainly hinting at that. I personally find both are actually quite similar at the technical level, and what I'm arguing is that there's a lot more inertia around Matrix than XMPP.

I was a big XMPP fan, in my days. I almost managed to switch away from IRC, with the bridges that were mentioned here before. I was talking with people on Google mail through it, it was great. But then Google (and Facebook) basically destroyed XMPP (from my perspective) by pulling the plug on interoperability. A classic case of "embrace and extinguish". And now I use bitlbee (over irc!) when I need such interoperability.

The main reason why I haven't switched to Matrix just yet is mostly because it's not a full bitlbee replacement (and nor is XMPP, last I checked).

Also instead of choosing libera blindly without thinking, just use the network you're the most comfortable on, and if possible one which you know personally the staff. Going nuts about migrating on libera is stupid and makes no sense

Well thanks for calling me, FOSDEM, Wikipedia, CentOS, Gentoo, and hundreds of free software project "stupid". I'm sure that's going to help you make a point here.

It's also strange to make this comment considering I explicitly made a decision tree that basically matches your algorithm. But text, you know, who reads that nowadays...

Finally, I should note that this is probably the last comment about XMPP that I approve here. It's kind of sad that the only comments I get here are from disgruntled XMPP users, upset that I don't recommend it higher in my list. Sorry folks, but we lost, and there's new stuff now. We'll be better off moving on now.

Comment by anarcat
XMPP chat

As often is the case with XMPP, client support was not uniform...

IMHO, Matrix shares this feature with Jabber. As a Debian user, I have the choice between nheko, spectral, and quaternion, which have pretty different feature sets. Element does not exist [in Debian] :-)

Federated, open protocols (IRC, Email, Jabber/XMPP, Matrix) always will have multiple clients with different feature sets. That's strength, not weakness, despite its downsides.

Btw. I'm using IRC (both libera.chat and oftc) via Jabber and Biboumi, too!

if you like XML

Note, that XML is an implementation detail invisible to Jabber users, as use of JSON is invisible to users of Matrix.

Comment by Martin
Bridging multiple IRC channels
It's possible to bridge multiple IRC channels on different networks with Matrix bridges as long as the IRC network permits it. If a network doesn't permit it, you can always use a bot like Matterbridge to relay messages between channels. The integration isn't as transparent as with a Matrix bridge because messages with be viewed as being sent by the bot but it's definitely better than nothing if you really need that functionality.
Comment by sdk
Thank You
Thank you very much for writing about this Freenode case. I am a Freenode member since many years I cannot remember anymore and I did not know about the noise until I read this. I am only a user who loved IRC. I am glad now the former Freenode existed as Libera.Chat.
Comment by Ade Malsasa Akbar
comment 8

if you like XML

one of the most irrelevant things to mention lol Being on IRC, Matrix, XMPP and other libre/open source messaging tools it's depressing that part of the discussions about the strength and weakness of them are still like this.

Anyway, thanks a lot for this post. Well documented resources are important to build a reliable opinion about what is going on. I was a lot worried to have everything wrong due to a party being good at misinformation. Thanks to the current so-called freenode staff to takeover channels. It would be hard to make that up from various project victims of this.

Comment by Anonymous
Created . Edited .