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.
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.
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.
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.
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.
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.
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/
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.
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.
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.
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.
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.
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 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:
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...
> 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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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!
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.
Matrix/Riot has a lot of anti-abuse stuff fwiw - https://matrix.org/docs/guides/moderation has more details, and we're about to launch a shared blacklist feature in addition.
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.
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.
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?
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").
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."
esotericn|6 years ago
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
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 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
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
myself248|6 years ago
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
agumonkey|6 years ago
microcolonel|6 years ago
swalladge|6 years ago
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
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
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
triodan|6 years ago
[0]:https://gist.github.com/maxidorius/5736fd09c9194b7a6dc03b6b8...
EamonnMR|6 years ago
nitemice|6 years ago
TX-i|6 years ago
olah_1|6 years ago
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
techntoke|6 years ago
lima|6 years ago
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
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
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
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
silon42|6 years ago
shmerl|6 years ago
cwyers|6 years ago
Dowwie|6 years ago
nixpulvis|6 years ago
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
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
regnerba|6 years ago
bhhaskin|6 years ago
radus|6 years ago
- 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
Chlorus|6 years ago
fouc|6 years ago
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
regnerba|6 years ago
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
You keep justifying it. If it weren't broken, you wouldn't spend all that time justifying it.
jillesvangurp|6 years ago
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
floatingatoll|6 years ago
stjohnswarts|6 years ago
bregma|6 years ago
- 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
oehtXRwMkIs|6 years ago
buboard|6 years ago
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
bloopernova|6 years ago
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
emptysongglass|6 years ago
mxuribe|6 years ago
fouc|6 years ago
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|6 years ago
rbanffy|6 years ago
hendry|6 years ago
https://youtu.be/xJ2XUNvbJtg
lima|6 years ago
bloopernova|6 years ago
Nasreddin_Hodja|6 years ago
Personally I'd prefer XMPP.
dijit|6 years ago
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
aidenn0|6 years ago
floatingatoll|6 years ago
zomg|6 years ago
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
unknown|6 years ago
[deleted]
unknown|6 years ago
[deleted]
denton-scratch|6 years ago
floatingatoll|6 years ago
Melkie678|6 years ago
[deleted]
Melkie678|6 years ago
[deleted]
wetpaws|6 years ago
frenchy|6 years ago
robjan|6 years ago
unknown|6 years ago
[deleted]