
Candidates for Mozilla's IRC Successor - nature
http://exple.tive.org/blarg/2019/09/06/forward-motion/
======
esotericn
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.

~~~
jjcm
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.

~~~
zingmars
> We've gotten so used to phone notifications and a persistent history, that
> IRC has fallen behind purely from a convenience factor.

I have that with a bouncer (znc) and a plugin. I've not used it, but it is my
understanding that IRCCloud does this too. Problem is that there aren't many
easily usable options for this apart from IRCCloud and even IRCCloud itself
isn't all that well marketed.

Always seemed kind of weird how while IRC is full with FOSS people who are
willing to use their time on various projects they're not getting paid for,
most of whom also seem to worry about IRC dying out, nobody is really doing
anything about it. A lot of the conveniences we miss could mostly be solved by
making modern clients that are actually good.

~~~
Avamander
Quassel is being actively worked on and solves a lot of the woes for me.

~~~
Insequent
I've been using it for... around nine years. It used to have a lot of
performance issues, notably around synchronising initial state/backlog fetch
on first connection to the core/daemon, but those were eventually fixed.

It works very well now, and the Android client is pretty great too, but there
are still some gaps. Mainly, the surrounding ecosystem is quite sparse, e.g.:
\- There is basically only a single web client for it (node-based, which is a
con from my perspective) \- There are only a handful of semi-functional log
searching/browsing utilities around

------
swalladge
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
> 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](https://github.com/kamax-
matrix/mxisd)

~~~
Arathorn
there’s a successor fork to that identity server over at
[https://github.com/ma1uta/ma1sd](https://github.com/ma1uta/ma1sd) which is
being well maintained :)

sorry that setting up a homeserver was hard; we’ve been doing a lot of work
recently to improve this (eg [https://github.com/matrix-org/synapse-config-
generator/tree/...](https://github.com/matrix-org/synapse-config-
generator/tree/develop) is a graphical installer which should be released very
shortly).

~~~
buboard
This looks good. Will this become part of matrix in the future (also, does it
work /stable?)?

~~~
Arathorn
the config generator will ship in synapse by default in the near future. its
first release is due tomorrow.

ma1sd is considered stable and works afaik, and is already part of the matrix
ecosystem.

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

~~~
techntoke
You must really dislike GitHub then.

~~~
EamonnMR
I can more or less easily get my data out of github (I can host a repo
elsewhere, write a script to scrape the issues, etc.) I don't like using the
non-git parts of it for much (ie why write a wiki when you can just make a
repo full of markdown files?) Discord is a whole other level of walled garden.
It's a black hole of information, and that information isn't owned by you.
Discoverability is nonexistent.

~~~
woodrowbarlow
> why write a wiki when you can just make a repo full of markdown files?

fyi: github wikis _are_ just a repo full of markdown files. you can clone down
your wiki, make changes, write commits, etc.

~~~
techntoke
Except it is using Gollum, which isn't all that great. I think the only
positive is tab integration. I prefer the GitHub or GitLab Pages approach.

------
lima
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.

~~~
buboard
> 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.

~~~
dsr_
Mozilla is large enough that they could go over to the Zulip developers and
_ask nicely_ for what they need, and stand a good chance of getting it.

~~~
perlgeek
Even if it's just for a PoC with a 1/5th chance of being actually selected in
the end?

~~~
mkr-hn
What does PoC mean in this context?

~~~
packetlost
I'm going to guess 'Proof of Concept'

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

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

~~~
Arathorn
thunderbird has a primordial matrix plugin already, but it’s very much a proof
of concept. there are plans to make it much more :)

~~~
mxuribe
I didn't know about the matrix plugin for Thunderbird chat! Now _THIS_ would
be awesome! Beyond the regular, dedicated clients for matrix, this type of
partnership/integration is what Mozilla and (other FOSS) folks outside the
matrix/riot org. should try and advocate for. Sure, this brings increased
usage of matrix clients, platforms, but could also bring more eyes to the
overall matrix project - continuing a virtuous cycle!

------
shmerl
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
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.

~~~
shmerl
Non federated IMs are a major problem. So using them means proliferating this
issue, instead of fixing it. It's not solved, because major players refuse to
solve it even though they can. When Mozilla uses stuff like that, it gives
them endorsement.

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

~~~
nixpulvis
If I'm not mistaken, there's a fully functional Matrix server written in Rust
already (for example):
[https://github.com/ruma/ruma](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.

~~~
opencl
GNOME also has a Matrix client written in Rust:
[https://gitlab.gnome.org/GNOME/fractal](https://gitlab.gnome.org/GNOME/fractal)

------
mr_vile
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_
Huh? Matrix isn't a centralised model at all, quite the contrary. If anything,
it's _less_ centralised than IRC.

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

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

~~~
radus
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

~~~
partialrecall
Requiring a browser and requiring social media credentials are both
misfeatures in my book. Browsers are excellent tools.. for spying on users.
And for as benign as github in particular may seem, we shouldn't be replacing
standard internet protocols with products that promote and further normalize
the expectation that people have a social media account.

~~~
dpark
> _Requiring a browser_

You realize we’re talking about Mozilla, right?

> _requiring social media_

They’re explicitly choosing between social media platforms...

~~~
partialrecall
My point is that any social media platform is not an acceptable IRC
requirement, nor is requiring a social media account an acceptable requirement
for any IRC requirement.

And Mozilla, more than perhaps anybody else, should be aware that web browsers
facilitate surveillance of users.

~~~
dpark
IRC _is_ a social media platform. The fact that it predates Github by two
decades doesn’t mean it’s not social media. I don’t know know what you’re
actually opposed to. A blanket disapproval of “social media” isn’t
particularly meaningful, so there’s nothing of substance in your complaint to
respond to.

I have no idea why you think browsers are a tool to facilitate surveillance to
a greater extent than dedicated clients. If a nation state or corporation can
compromise your browser, they can realistically compromise your entire OS.

~~~
partialrecall
I think you know exactly what I'm referring to and are trying to drag the
conversation into the weeds of vocabulary pedantry. I am of course talking
about internet companies who turn user data into an asset. The facebooks,
twitters, linkedins (same owner as github) etc of the world. You know that's
what I'm talking about. Freenode is a far cry from facebook.

> _I have no idea why you think browsers are a tool to facilitate surveillance
> to a greater extent than dedicated clients._

Because that's simply factually the case? IRC networks do not give my IRC
client proprietary tracking scripts to run. With an IRC client if any third
party code execution occurs, it's due to an exploit in the client. On the
other hand with web browsers, servers sending malicious scripts for the
browser to run is par for the course.

Typical modern web browsers (even Mozilla's own) are total disasters,
particularly in their default configuration. Why the hell aren't they shipping
with resist-fingerprinting turned on by default? Because it would mildly
inconvenience some users, and despite all their good intentions and positive
words, they still prioritize user perception of convenience over privacy.

------
thom
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
They can make it a reality by backing the Matrix.org protocol, or even Ruma,
the Rust implementation.

~~~
thom
Interesting. Any good resources on Matrix? How has adoption been going until
now?

~~~
oehtXRwMkIs
France and KDE are probably the two most well known adopters rn last time I
heard. [https://matrix.org](https://matrix.org) explains the protocol, and if
you join the MatrixHQ room (#matrix:matrix.org) you can ask all you want, lots
of people around to answer, and even Matthew (project lead) is often on there
too.

------
buboard
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
Keybase Chat would make a solid choice as well. *I work for Keybase, but chose
to work here because I love the mission / product.

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

~~~
Avamander
Actually there's a bot available [https://github.com/keybase/bot-
sshca](https://github.com/keybase/bot-sshca) in addition to the regular CLI
API keybase has.

~~~
corndoge
What does this have to do with keybase chat?

~~~
Avamander
The link I posted is basically a headless server client, was that not what you
asked for?

------
mxuribe
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
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.

~~~
Arathorn
Matrix/Riot has a lot of anti-abuse stuff fwiw -
[https://matrix.org/docs/guides/moderation](https://matrix.org/docs/guides/moderation)
has more details, and we're about to launch a shared blacklist feature in
addition.

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

------
hendry
10 bucks on Slack

[https://youtu.be/xJ2XUNvbJtg](https://youtu.be/xJ2XUNvbJtg)

------
lima
Mirror:
[https://web.archive.org/web/20190912012052/https://exple.tiv...](https://web.archive.org/web/20190912012052/https://exple.tive.org/blarg/2019/09/06/forward-
motion/)

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

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

Personally I'd prefer XMPP.

~~~
dijit
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.

~~~
ptman
dendrite, the next-gen server written in go, made good progress this summer
thanks to GSoC, but contributions are always welcome

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

~~~
floatingatoll
Could you share more about why you are surprised?

------
zomg
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
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").

------
denton-scratch
Why does IRC need a successor?

~~~
floatingatoll
That is answered here: [http://exple.tive.org/blarg/2019/05/14/the-next-part-
of-the-...](http://exple.tive.org/blarg/2019/05/14/the-next-part-of-the-
process/)

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

~~~
frenchy
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."

~~~
Dylan16807
They even made customizing the Discord client in any way against the ToS. The
hostility toward interop is the one thing I really dislike about them. They do
so much else well.

