top | item 20945551

Candidates for Mozilla's IRC Successor

182 points| nature | 6 years ago |exple.tive.org

211 comments

order

esotericn|6 years ago

I have full faith that, if I had left a computer running, in the corner of my home, with an IRC client open, it would have been able to maintain a connection to Freenode (not continuously, but just work) for fifteen or more years.

Personally I don't think IRC will ever be replaced. Well, it will, but it'll happen when my generation dies and gets fully replaced with the New Shiny.

I _hope_ that some sort of real, proper standard, that doesn't endlessly reinvent itself, that isn't subject to some for-profit bollocks, that on a very basic level, has like, a standard, has _clients_ (not just one wanky proprietary web frontend) that just sits and gets the job done like TCP, comes out of all of this.

Meanwhile, I'm fairly sure IRC will still be there in another fifteen.

Hell, at this point, IRC has been a constant in my life for longer than everything other than family. It actually feels like a friend. A portal to another quirky world, just as it did all those years ago.

I think it's almost two decades now since I first logged in. My my. The years are short, indeed.

rtpg|6 years ago

I feel like Matrix is basically the "real standard" here that supports a lot more than IRC. The question for me is about how easy it is to build a client for that (IRC is stupid easy, of course).

Ideally you should be able to build a Matrix client in something like a Python REPL and like 20 lines of code with an `input` loop at the end. I don't know if that's the case at the moment.

dngray|6 years ago

I am hoping they go with Matrix, least then I will be able to have the choice of having a client appropriate to my needs.

I do prefer my chat client to not be a part of my browser. That way I can close my browser, start my browser and chat client on login ie from i3/sway etc. A tab in a browser runs the risk of getting closed.

I love using weechat (weechat.org) and have used it for decades. The Matrix plugin for Weechat is really well done https://github.com/poljar/weechat-matrix

Other people who want to use Riot can if they want at the end of the day I think matrix is probably the best option as it will cater for many people's needs.

jjcm|6 years ago

Die? No, but it is slowly degrading. More and more the people in my old freenode chatrooms are idle or simply leaving. We've gotten so used to phone notifications and a persistent history, that IRC has fallen behind purely from a convenience factor.

It's rock solid in what it does, I have zero doubt about that or your 15 year claim. But even if the protocol works, if the user base isn't being added to it will die eventually.

zanny|6 years ago

I started reading up Ruma sources with the intent to start contributing when I'm done with my current work (and when async lands in stable). Hopefully it (and maybe Dendrite) will be able to provide your 15 years of uptime on the client side in the future.

myself248|6 years ago

Oh, yeah. A little longer than that, here

My freenode nick was registered in 2005, and I know that's the "new" registration since I accidentally confused the nickserv RELEASE and DROP commands once, and had to re-register the nick I had just mistakenly unregistered. It had a few years of history prior to 2005, but I don't know the details anymore.

And prior to Freenode, I was on a few other networks going back to '94 or so. But moving networks meant it wasn't a "constant" in terms of being the same environment, just the same interface.

We're not the only ones who feel that IRC will be around until we're gone... https://xkcd.com/1782/

hoseja|6 years ago

IRC is a pretty awful standard though. It works, through immense hacking effort but as (utterly under-) specified, it's a nightmare.

agumonkey|6 years ago

IRC is probably peak in its niche. Simple design, cheap to run, cruftless. Anything else added really lowers its value.

microcolonel|6 years ago

I've been on Freenode since my tweens. Maybe the long term thing is overlay protocols, to solve the issues with directly connecting to IRC on mobile, and with shelling into a client on the same.

swalladge|6 years ago

It's great to see 3/4 of the options are open source! Whatever happens, I really hope the community get behind the open source options and don't let more things get eaten up by commercial silos cough slack cough.

I'm partial towards Matrix/Riot.im - the progress made on those projects is awesome and they really have a highly usable product, with bonuses such as e2e encryption and federation.

22c|6 years ago

> they really have a highly usable product

Setting up a Matrix server is a lot harder than you might think, especially when you start talking about federation and identity management.

The mxisd[1] project has recently disbanded due to what I believe to be philosophical differences with the Matrix maintainers vision of identity management.

I like a lot of things about Riot/Synapse, but I would suggest you try setting up your own Matrix server if you haven't yet. It's not what I would call highly usable.

Mind you, I have only tried setting up the reference implementation (Synapse/Riot). I would be interested in seeing a write-up/comparison done by Mozilla as part of these trials.

[1] https://github.com/kamax-matrix/mxisd

dngray|6 years ago

> I really hope the community get behind the open source options and don't let more things get eaten up by commercial silos cough slack cough.

Don't forget Slack also bans people who they think are from sanctioned countries:

https://www.theverge.com/2018/12/20/18150129/slack-iran-deac...

I would like to see a neutral platform be chosen to be honest.

Ardon|6 years ago

There's a fair bit of weight getting behind Matrix too, with the french government starting to use it for internal communication.

EamonnMR|6 years ago

Really excited to see Discord rejected. Watching Discord take over open source and free culture communities has been disheartening to say the least.

nitemice|6 years ago

Conversly, I'm surpised that Slack made the list for similar reasons. I would've thought the would definitely want an open-source solution.

TX-i|6 years ago

Discord changed the communications of an entire generation, removed ideal low priority messaging and replaced it with a vulnerable and bloated service that now offers to sell you games and track your every move. Everything on Discord is unencrypted by design.

olah_1|6 years ago

I think people are moving to discord as a stop-gap because they place user experience above everything else.

There's a lot of alternatives, but until they provide a good user experience, I don't see a point in purposefully making peoples' lives suck.

I'm confident that alternative's to discord will get better with time, but they're really not there yet.

keyle|6 years ago

I've never heard of this but I'm not particularly in the field... Can you expand?

techntoke|6 years ago

You must really dislike GitHub then.

lima|6 years ago

I'm sad to see Zulip excluded from the list. It solves the #1 issue with large group chats - proper threading.

Nothing worse than waking up to a 1000 message backlog you have to sort through to filter out the information relevant to you. Except for Slack, all of their other choices have very poor threading.

They said they had trouble to get it working behind IAM, but Zulip is just a Django application. Surely there's a Django authenticator for Mozilla IAM? I would be very happy to help set it up.

tabbott|6 years ago

I lead the Zulip project, and am also super sad about this. There's a very active Zulip in the Rust community (https://rust-lang.zulipchat.com), and we love the great feedback we've gotten from them.

The "IAM problem" is apparently that Mozilla's IAM is based on SAML, which Zulip doesn't have native support for today. There are two possible technical solutions:

* One could use https://zulip.readthedocs.io/en/latest/production/authentica... with https://github.com/Uninett/mod_auth_mellon to integrate SAML authentication for Zulip without any code changes.

* One could add native support for it, using our `python-social-auth` integration. Generally adding an authentication provider supported by `python-social-auth` takes about 50 lines of mostly boilerplate code plus some tests -- not a big effort.

As I mentioned elsewhere in the thread, I sent OP an email yesterday offering for the Zulip core team to do any work required for Mozilla to evaluate Zulip over the next week so they can evaluate Zulip. He replied that it's too late to revisit their decision :(.

For other folks involved in open source projects, you should absolutely consider Zulip! We provide our paid plan completely free to open source projects, can import history from Slack and other tools, and are actively prioritizing features specifically for open source communities (like the ability to search the complete history of all public streams even as a user who just joined).

Open source projects that have switched consistently tell us that Zulip's topic-based threading is a way better model for a distributed community with a lot of volunteers than Slack/IRC/Gitter/etc., making it easier for maintainers to manage the community and helping more new contributors stick around. A few links:

* https://zulipchat.com/for/open-source/

* https://www.recurse.com/blog/112-how-rc-uses-zulip

olah_1|6 years ago

It's $7 per user per month unless you are a favored open source project that they want to bless.

Unless I'm reading the pricing info[1] incorrectly, it seems like the free plan wouldn't be even close to being usable for a project of more than 2 people...

[1]: https://zulipchat.com/plans/

buboard|6 years ago

> but Zulip is just a Django application.

Yet again:

> The installer expects Zulip to be the only thing running on the system; it will install system packages with apt (like nginx, postgresql, and redis) and configure them for its own use. We strongly recommend using either a fresh machine instance in a cloud provider, a fresh VM, or a dedicated machine. If you decide to disregard our advice and use a server that hosts other services, we can’t support you, but we do have some notes on issues you’ll encounter.

gtirloni|6 years ago

Maybe Mozilla can put its weight behind Matrix and create a decent client that grandparents can use.

silon42|6 years ago

Integrate it into Thunderbird Chat... when I used it for gtalk/XMPP it was completely acceptable for basic use.

shmerl|6 years ago

Why are they even considering Slack which is a proprietary IM service? Come on, they are Mozilla. Matrix which is federated and is proposed like a "better XMPP" is more like it.

cwyers|6 years ago

Why should federation play into anything here? This is specifically something for people to talk to each other under the auspices of Mozilla's work efforts.

Dowwie|6 years ago

Write the server you wish you had, in Rust. Everyone will help. It will be great. Open source all the way.

nixpulvis|6 years ago

If I'm not mistaken, there's a fully functional Matrix server written in Rust already (for example): https://github.com/ruma/ruma

Implementing a protocol in Rust is one thing, the choice in protocol is another. I for one hope they choose a standard that's backed by the OSS community (not slack), so we can all have fun with Rust implementations in peace.

mr_vile|6 years ago

I think there are three problems here: first is that the new generation of developers that Mozilla is trying to attract are not used to systems which do not persistently store data in an API-accessible database backend.

Second that there is a perception of plain text as an antiquated medium of communication (and yet we persistently reinvent markdown as a way of simplifying rich text).

Third and most importantly, the issue is not that IRC is old or is missing features, it is that IRC encodes a specific model for running a communication network (hubs, leafs, operators, etc). When we try and replace IRC with a system like Matrix we are giving up the old model of "owned" nodes and the decentralised nature of it to instead bow to a centralised model where certain people wield absolute power. Is this really the right way? what if I want to write a bot to perform some unusual administrative function? do I have keep updating it every time the API changes? that's why IRC is good, I don't need to do that.

joepie91_|6 years ago

Huh? Matrix isn't a centralised model at all, quite the contrary. If anything, it's less centralised than IRC.

regnerba|6 years ago

Excited to see what the results of their Matrix PoC. I have been a big fan of Matrix for a while.

bhhaskin|6 years ago

Why move away from IRC at all? If it ain't broken why "fix" it.

radus|6 years ago

My experiences as an infrequent IRC user over many years:

- hmm, I have to download a client? maybe I can access a web interface?

- okay, I have this connection string/url

- how do I join a channel?

- how do I set my nickname? is this persistent?

- oh someone else is using my name? is this for the channel or the server??

- what's the etiquette of this particular channel? (I realize this is probably the case for any chat, but it seems like etiquette is much more vaunted in IRC)

vs. zulip

- enter url in browser

- login with my github credentials

.... that's it

fouc|6 years ago

Lately I've been thinking about how amazingly successful IRC has been. I mean, it survived the "web" and smartphones as long as it did.

Up until slack appeared on the scene. I was a heavy IRCer from '96 to '13, and then switched almost immediately to slack.

Slack sucks in a lot of ways but it happens to hit the sweet point of convenience. It allows me to be a purely 'casual' chatter, I can close and open slack anytime. I don't have to keep irssi running in a screen in the background. I don't have to have a bouncer.

Anyways I think that if a new version of IRC came out with extra convenience for the pure 'casual' user, then we'd all go back to IRC.

partialrecall|6 years ago

IRC might be considered broken in a number of ways, but I find that every proposed replacement is broken in much more severe ways.

regnerba|6 years ago

For a lot of people IRC is "broken" when compared to modern alternatives.

I personally really dislike using IRC. I am in several IRC channels because some open source projects I use and upstream code to are on IRC. I dislike it very much.

scrollaway|6 years ago

At some point you have to stop saying IRC is not broken.

You keep justifying it. If it weren't broken, you wouldn't spend all that time justifying it.

jillesvangurp|6 years ago

I think the reason they are moving is that it is broken for them. IRC is fine if you are over forty and have been using IRC for the last few decades. I.e. it is not fine for most developers who are around 30 and have probably never encountered it professionally. The demographics of software development are such that people over forty are out numbered by an order of magnitude by younger people. There just aren't a lot of them.

I am over forty, I have used IRC professionally, and have not encountered it with any regularity in the last decade (that is to say exactly 0 times in the last six years). I can understand it's a non starter for younger developers as it is an unusable mess compared to other stuff they use. I suspect that part of the reason Mozilla is switching is that they realized people in their community were working around it already.

The real thing people should be asking about IRC is why attempts to fix, improve, or modernize it consistently get rejected by IRC users. It has not kept up and it isn't for a lack of trying. There have been many attempts to keep it alive and they all keep failing. E.g. slack had an IRC gateway for a while and this proved so unpopular that removing it was barely noticed by anyone. It was there but mostly unloved by IRC users. People voted with their feet by not using it. Now it's gone because apparently it was an unimportant/redundant/irrelevant feature with no commercial value whatsoever for Slack.

dontbenebby|6 years ago

Not everyone Mozilla hires is from a super technical background (ex: even though I now am a pentester, I actually did a UX research internship, wasn't hired to do software engineering at all). I wish they'd kept it around though, let the community die a natural death: slowly bleeding out as zoomers share memes in signal groups.

stjohnswarts|6 years ago

The young peeps like their icons and colors and gifs. Old people are always dying off and young people who turn into old people tend to bring their toys along with them, so I forsee something like slack/discord but OSS taking over in the next 10 years, at least in programming circles.

bregma|6 years ago

- not invented here

- difficult to monetize

- designed only as a communications medium, not a social medium

- doesn't work like other phone apps

- does not support multimedia or cat ears

thom|6 years ago

Clicked on this thinking Mozilla were backing a new, more secure and usable version of a protocol _like_ IRC, and disappointed with the reality.

oehtXRwMkIs|6 years ago

They can make it a reality by backing the Matrix.org protocol, or even Ruma, the Rust implementation.

buboard|6 years ago

Slack, really?

There should be a petition to get them to use ( and thus improve) an open source one, maybe matrix or even rocketchat.

client4|6 years ago

Keybase Chat would make a solid choice as well. *I work for Keybase, but chose to work here because I love the mission / product.

bloopernova|6 years ago

My choice would be Keybase, or at least something that uses Keybase as its back-end in some way.

Just want to say that I adore Keybase. I think it needs a password manager like bitwarden/lastpass/1password, but a lot of the features are compelling to me. I really hope it gets widespread adoption because the app and the company deserve it, in my opinion.

corndoge|6 years ago

Keybase chat doesn't have a server client available. It is nothing like IRC.

emptysongglass|6 years ago

I love Keybase. I wish it was fully open source though. And that group chats weren't slow as sin.

mxuribe|6 years ago

Man, i sure hope they go the route of matrix! Between the French government and Mozilla both potentially using matrix, would send a great and strong signal to the world, that matrix can work for everyone! Fingers crossed!

fouc|6 years ago

If the author of this blog post reads this:

Based on your earlier article, you mentioned the issue of spam. Slack is even worse than IRC for spam controls, I've seen spammers be hugely disruptive when the admins aren't around. It could be partially solved with bots, but that doesn't stop PM spam.

I looked at the docs for mattermost, riot.im, and rocket.chat.

Seems like rocket.chat has the best docs and lots of fine-grained control about permissions and also has rate limiting. Mattermost also has rate limiting (but API level only?) but their docs are horrible. Riot.im doesn't seem to have any controls.

rbanffy|6 years ago

Adoption of IRCv3 by someone like Mozilla could be the push it needs.

bloopernova|6 years ago

It's interesting to me that no-one here mentions Mattermost. Is it not in widespread use?

Nasreddin_Hodja|6 years ago

I've read somewhere that matrix server uses too much RAM due to bad design.

Personally I'd prefer XMPP.

dijit|6 years ago

It's not a bad design, it's just the reference implementation is python based, and, well, a reference implementation; so they don't do too much for optimisations and focus instead on readability.

When Matrix as a protocol settles more, we'll start seeing optimised versions of the server, I'm certain of it.

oehtXRwMkIs|6 years ago

The current reference implementation, Synapse (Python) seems to take up around 2GB of RAM, Dendrite (Golang) rn uses up to 100MB according to Matthew (project lead). Note that Dendrite is still a WIP. Currently I don't think anyone is too sure about how Ruma (Rust) would perform as it is still very early in development.

aidenn0|6 years ago

I'm surprised jabber wasn't even mentioned in the "also ran" section.

floatingatoll|6 years ago

Could you share more about why you are surprised?

zomg|6 years ago

thinking out loud here, but has anyone built a solution on top of IRC, effectively "extending" it?

to me (i'm not a developer, so pardon me while i speak out of turn here) it would make a lot of sense to take the solid, well known foundation of IRC and build upon it, instead of reinventing the wheel over and over again, no?

Lightkey|6 years ago

It's probably not a good example but that is what Twitch did, you can connect to their video channels with standard IRC clients (without the added "features" like paid subscription picture "emotes").

wetpaws|6 years ago

Why the hell they have slack and not discord eludes me.

frenchy|6 years ago

As per the article: "Discord’s terms of service, particularly with respect to the rights they assert over participants’ data, are expansive and very grabby, effectively giving them unlimited rights to do anything they want with anything we put into their service. Coupling that with their active hostility towards interoperability and alternative clients has disqualified them as a community platform."

robjan|6 years ago

You're right. Neither of them are good candidates.