I wonder whether the July move prompted users to find other ways to connect to Libera.chat besides Matrix, killing usage of the bridge, leading us here.
Thanks to those involved for the efforts while they could be sustained!
I suspect many people _did_ find other ways to connect (indeed I fired my IRC Cloud subscription back up...), but that's not what ultimately brought us* to this decision. Really it came down to not having the funds or staff time to maintain and operate it to the level that was needed.
Echoing you, I am likewise really grateful for all the people who worked on it while it was doable!
* Speaking on behalf of the Matrix.org Foundation here as its Managing Director.
I wrote my own IRC + Matrix client to bridge the channels I operate. I've made the source code available under the terms of the MIT license here: https://github.com/susam/nimb
If you find any issues, bugs, etc. in this tool, please let me know. Although this tool works well for my modest requirements, someone else may find issues while using this tool that I have not encountered yet. In such a case, bug reports, pull requests, patches, etc. are very welcome!
Thank you for taking a close look at the source code and highlighting this issue.
> You need to split on (or sanitize) null bytes
Do you mean splitting on (or sanitising of) carriage returns (CR or 0xD) and newlines (LF or 0xA)? I read your security advisory and as far as I understand, the issue occurs due to improper handling of CR and LF characters. I don't see anything about null bytes there.
Your security advisory has been quite helpful and I could reproduce the issue involving CR. It is particularly enlightening to know that the null byte could also cause the same issue because some IRC servers may interpret the null byte too as a line ending.
It is late here but I have pushed a quick fix to plug this loophole: <https://github.com/susam/nimb/commit/1c02137>. Review comments, feedback, pull requests, patches, etc. are very welcome! Thank you for this comment thread which has been constructive as well as productive.
> I wonder whether the July move prompted users to find other ways to connect to Libera.chat besides Matrix, killing usage of the bridge, leading us here.
It certainly, did, I deployed Heisenbridge on my homeserver because I didn't want to go back to having two clients open.
After the deportling, I just stopped communicating with IRC, but there is a lot of lost there. One of my communities was basically split in half. Ah well...
I've been using heisenbridge[0] to do my Matrix to IRC bridging and I like it. Not a broader solution to the problem since most people don't want to run their own services, but it works well for me and is no different to a bouncer for IRC servers, noone knows it's actually Matrix on the other side.
Yes! And don't forget MASH [0], its a collection of Ansible roles that is compatible with the Matrix Docker Ansible Deploy playbook. In case you want to add more services to your Matrix server.
I'm so incredibly conflicted about whether to keep investing time and energy and hope around Matrix. I normally have good tech intuition and matrix is in this weird spot. I think the vision and direction and attitudes are amazing but they keep fking up badly.
I'm embarrassed at the thought that I would "soon" soft nudge my friends and family to matrix, years ago. With the state of synapse, matrix.org, and the project in general, I wouldn't consider trying that for another 12-18 months. Or more.
This current news just gives me more pause about leadership and vision. This is a huge "oopsie" to put it nicely. It feels like a massive loss for matrix (bad first impressions, negative impact on network effects, etc) and will undoubtedly be something that matrix detractors will point to for years.
I normally keep quiet about this and just huff more copium because I WANT matrix to succeed, but I wish using Element and matrix as it exists didn't make me feel so ... Idk. Normally by now a tech project with this transcripts hits a steady state but man, the protocol is lacking, element web is just passable at the most generous. Element on Android, I won't even speak about, refer to where I want element to succeed.
To balance this out - Element x has been pleasantly satisfying lately. I'm curious if the team is deliberately taking a different strategy. New Element is working on basically the intersection of what I think are going to be foundational future "stuff" but seem almost to eager. Meanwhile element x is missing for feature but is, still after months of using it, "blazingly fast".
Matrix, at this point, is effectively proprietary. It's fully controlled by one for-profit company (Element) and the blockchain protocol (yes, it uses a blockchain) is complicated enough to prevent independent reimplementations. And it doesn't even work that well.
Sorry I don't think anything you've written here is true:
> Matrix, at this point, is effectively proprietary.
Matrix is fully open [0] and fully spec'd by the MSCs [1], and stewarded by the Matrix Foundation [2].
> It's fully controlled by one for-profit company (Element).
2/5 people on the board work for Element [2].
> and the blockchain protocol (yes, it uses a blockchain)
It does not use a blockchain (there is no proof-of-anything). You might be confusing blockchains with Merkle Trees, but in that case you'd also have to think git is a blockchain.
> is complicated enough to prevent independent reimplementations
There are several independent client [3] and server [4] implementations.
> Matrix is fully open [0] and fully spec'd by the MSCs [1], and stewarded by the Matrix Foundation [2].
Technically correct, but in practice the spec is complex enough that there are only 2 more or less working server implementations, both of them developed by the same org. I tried to implement it myself, but in comparison to IRC and XMPP it's just too complex. That's what "effectively" means.
> There are several independent client [3] and server [4] implementations.
Only one non-Element server is there is "Production ready", and it's dead. The website is down and the last commit is from 2021. There were many spec changes since then, including the infamous "sliding window sync", which is necessary for the next gen clients.
> It does not use a blockchain (there is no proof-of-anything). You might be confusing blockchains with Merkle Trees, but in that case you'd also have to think git is a blockchain.
They probably mean the DAG-like structure of rooms, which is a horror to implement, and even more horrifying to implement efficiently. It's a blockchain of sorts, with room events being linked to parent events.
> there is no proof-of-anything
It does not need to be "proof-of-anything" to be a blockchain, that's not why there are words "block" and "chain" are there. There is a consensus protocol between home servers, and it fails terribly, leading to room resets.
Sometimes hard things are hard, and it turns out a distributed E2E messaging system is one of those things. Same goes for writing a fit-for-purpose C compiler. Doesn't make GCC or the C standard any less open.
> Only one non-Element server is there is "Production ready", and it's dead.
Yeah I think reasonably you're looking at Synapse, Dendrite, and Conduit -- all Element-written. I think the argument was "it's too hard to implement", but someone's done it three times, so it still seems like that's wrong.
> They probably mean the DAG-like structure of rooms, which is a horror to implement, and even more horrifying to implement efficiently.
Op used "blockchain" as a pejorative, which is why I was responding "if you think Merkle trees are blockchains (and I would argue you shouldn't), you think a lot of perfectly fine software is a blockchain." If the argument is that implementing a distributed database is hard, well yeah, it is.
> It does not need to be "proof-of-anything" to be a blockchain
Not strictly, but you need a way to suppress fraudulent chains. Blockchains are Merkle trees with the requirement that the deepest tree is authoritative. They attempt to ensure this by requiring proof-of-*, which makes the creation of a fraudulent tree very computationally intensive, and therefore unlikely to ever catch up to the "real" tree. Matrix has nothing like this.
> There is a consensus protocol between home servers, and it fails terribly, leading to room resets.
Yeah, I think probably a lot of this goes away w/ the switch to MLS. But not all of it, they chose AP out of CAP (correct IMO) so this is just gonna be the way it goes. Your other options are deal with the service being down while it becomes consistent--which would happen constantly--or welcome back IRCs netsplits.
The thing is, customers don't necessarily want a distributed messaging system, they might be perfectly fine with a decentralized one if it supports E2EE. Matrix went the way they did and it's far from obvious whether it was a good choice. I'm leaning towards no.
> but someone's done it three times
You can do it however times you want and it will be easy to do if you have access to one of the few domain experts of the protocol. It can be considered easy to implement once someone else successfully implements it and continues to support it for a significant period of time. Rewriting one thing three times inside a single org is not something of interest.
> Blockchains are Merkle trees
This is getting offtopic, but anyway. Blockchains are DAGs, they are not necessarily trees. The canonical chain and candidate blocks have only one genesis block, and non-genesis blocks could have multiple parents (e.g. one main parent and orphaned uncles), which by traverse still converge to the same genesis block.
Although Merkle trees are used in the underlying block data structure, this is orthogonal to the blockchain concept and any data structure could be stored there.
> The thing is, customers don't necessarily want a distributed messaging system, they might be perfectly fine with a decentralized one if it supports E2EE.
Maybe! You could argue that basically all the successful messaging systems except for email and IRC (if IRC still counts as successful) are centralized, so there's that.
> You can do it however times you want and it will be easy to do if you have access to one of the few domain experts of the protocol.
In fairness, I don't know how you implement a client/server for a protocol w/o being a domain expert in it. Try building an IRC server, an IMAP server, an ActivityPub server, etc. and remaining ignorant about the details about IRC, IMAP, ActivityPub, etc. This has felt like an odd benchmark to me this whole thread.
> Blockchains are DAGs, they are not necessarily trees.
Eh, I really think they're trees because they're Merkle trees. Each block contains the hash of the previous block, not some random other block as it would be if it were a graph. Even with uncle/orphan blocks, it's still a tree.
> Although Merkle trees are used in the underlying block data structure, this is orthogonal to the blockchain concept and any data structure could be stored there.
Definitely not, because the hashes prove the tree's correctness. You can verify any branch, which you want to do to ensure you're not getting scammed. The Merkle tree concept is essential to the verifiability of blockchains.
Sorry I was a little opaque. Matrix' handling of rooms is suboptimal for lots of reasons, but one is what you pointed out: they don't have great performance and thus desync a lot. MLS has a cool tree-based Ologn algorithm for fixing this. It's a process to get there [0], but I'm excited for when it happens.
Ridiculous. You joined a mere 6 months ago you didn't have any say in the decisions you are trying to defend now. You aren't even defending them you are just babbling and more emberassing playing personal attacked while deflecting. Matrix is dying and element killed it. Good riddance. I knew the stories were too good to be true but turns out you are just as corp as every other hired gun. There is a reason why they put a community manager in charge of matrix.
Tell us why your spec trails your implementation for months so you basically make sure no one can develop competing server/clients.
I think your vitriol is better directed at me (as Matrix project lead & founder) rather than Josh, whose role as MD for the Foundation is to ensure it gathers $ and distributes it as effectively as possible to support Matrix. The original post here is written by Josh because he took over diplomatics with Libera to give it a fresh start as an independent, given the breakdown in trust on both sides.
In terms of Matrix dying, killed by Element: I’m afraid rumours of Matrix's death are highly exaggerated. And Element spends its life helping Matrix come to life rather than death, for better or worse.
The reason the spec trails the implementation for months is precisely the same reason that the formal HTML5 spec trails the implementations for years. It's not some grand conspiracy that Mozilla ships CSS Flexbox behind a vendor prefix for years (decades?) ahead of the feature being finalised in the spec. Instead: the point is that you get to play with the spec change in the wild, prove that it works, iterate on the design, and then eventually propose it for merge into the spec itself.
Personally, I think this is one of the bits of Matrix that we've got right. The spec process doesn't evolve as fast as it could, but that might well be a feature (just like it's a feature that HTML5 moves slowly too, but doesn't stop folks experimenting all over the place on it). https://spec.matrix.org/proposals/ explains the full process and the workflow, in case you want to understand it.
If you're talking about Element switching its contributions to Synapse from Apache to AGPL, the rationale is that folks who want to commercialise Synapse will either have to a) opensource their changes, b) pay for an AGPL exception from Element, c) use a different server (e.g. Apache-licensed Conduit from https://conduit.rs) or d) write their own server.
I really appreciate you sharing your concerns, and for all the hope and energy you've put into Matrix to date. Very much to your point, we're not yet in a state where I recommend Matrix to friends and family. Right now I only use it with people in FOSS and other circles where folks are a little more patient with the tech.
Only time will tell, and of course I'm biased as the Matrix.org Foundation's Managing Director, but I think there's good reason to remain hopeful:
The spec continues to evolve with major improvements expected in feature set and performance in the next year as we get to the 2.0 spec release, the Foundation is staffing up and beginning to fundraise, we're on the cusp of holding our first ever community elections to seat a Governing Board, and adoption has continued doubling on an annual basis.
I invite you and anyone else who is invested and/or concerned to join us in the Foundation's new office room – it's a way to get a view into ongoing activities, ask questions, provide direct feedback, and celebrate all the little wins on our way to collective success: https://matrix.to/#/#foundation-office:matrix.org
Drop it. After all the shit they pulled last year (no oss server code anymore, killing bridges, bugged clients) and hiring a PR person you just know they are going for entshitification. I wonder if they will recognize that their commercial offerings are just not up to spec.
Check your facts. Matrix remains an open protocol, under open source license, with open governance, stewarded by a nonprofit. And there remain multiple open source server implementations and clients.
As useful as Cory Doctorow's concept of enshittification is, it has absolutely no utility in describing what is happening here.
Nobody is being locked in, the user experience is incrementally improving as the spec and the implementations evolve, and we're sure as hell not collecting ever more data and using recommendation algorithms to shove advertising down people's throats.
There are plenty of valid critiques. But what you're saying here is just patently absurd.
> with the state of synapse, matrix.org, and the project in general, I wouldn't consider trying that for another 12-18 months. Or more.
Synapse is very stable these days, and relatively resource efficient. Matrix.org (both the server, website, spec and foundation) is in a good place too, as is (from my biased pov as project lead) the project in general.
> This is a huge "oopsie" to put it nicely
We simply don't have the people to do a good job of maintaining the Libera bridge. We tried to jump forwards on it with persistent connections to improve the experience on the Libera side; this caused a tonne of instability; we couldn't move back (given it would have also been seen as a backwards step); we didn't have the manpower to fix it rapidly either; so this is not remotely our preferred outcome. We ran the bridge for almost 8 years; it wasn't perfect; it wasn't a total disaster either; but in the end we overstretched ourselves and Libera pulled the plug.
> It feels like a massive loss for matrix (bad first impressions, negative impact on network effects, etc) and will undoubtedly be something that matrix detractors will point to for years.
Matrix has around 5M native active users based on the phonehome stats, of which ~22k were using the libera bridge. I agree that it's awful for early adopter geeks who love IRC, and I despair that it has happened. But I don't think the sky is falling either.
> Element X has been pleasantly satisfying lately. I'm curious if the team is deliberately taking a different strategy.
Yes, it's a very different strategy. Element isn't working on the legacy mobile apps at all any more (other than for security updates), and rather than being spread too thin over too many projects and codebases (Element Web, Element iOS & Element Android all had zero code in common other than libolm) instead the intention is for Element to focus on one primary codebase (matrix-rust-sdk + Element X and Element Web 'R') and nail it. Meanwhile we don't have the manpower to do a good job of other projects (e.g. Libera bridge, P2P Matrix, Third Room etc.) and so they are on hold for now.
I agree that with 20:20 hindsight this hasn't been the most efficient route to get to where we are today.
Yeah, no. I run both a Matrix server (Synapse) and an XMPP server (Prosody). It is completely obvious when Synapse is running on my server. I don't need ps or systemctl status, I can tell if Synapse is running just by looking at the bars at the top of htop.
Meanwhile my XMPP stuff is as invisible as any other system service.
I appreciate the reply. I just want to repeat, since I feel I was so negative, I like what I know of the matrix folks and I've always appreciated your willingness to dive into these threads. I'll be rooting for y'all until it's clear once again that Matrix is the likely long term future of interoperable chat. If only the world cared to invest in y'all like well, lots of other things.
Re-reading my posts, I guess I could be more specific. Y'all seem like you have great technical vision but are having a hard time with success, growth, and revenue. While I can appreciate some technical bits of Matrix, I would never dare to think I could do better than anyone at those real challenges. It hurts to read about y'all struggling for dev funds, in spite of success. And I feel like that probably weighs on you, it would weigh on me. Godspeed, good luck, I look forward to tomorrow's TWIM :).
Did you solve the funding issues after that Christmas (?) post about not having enough funds? I assume probably not fully given you don't have enough manpower?
No, we didn’t - as the Libera mess demonstrates. We are stuck in a nightmare situation where Matrix is successful, but most commercial projects building on it don’t contribute back either financially or otherwise. We’re now trying to fix that via https://news.ycombinator.com/item?id=38162275.
Not a fan of IRC, but I agree. Bridges and multi protocol clients just suck. They never work flawlessly and result in a ton of annoyance for people on both sides.
Use the client for the group you are in rather than some bodged together bridge.
The exception there is Heisenbridge if you've got your own homeserver, supports certfp, and sasl auth too so it's really just like using znc or anything else.
That's an interesting perspective. For another try reading the multiple attempts the libera team made to accommodate the slow progress and security holes on the Matrix side before the decision was made to close the the bridge permanently.
It was sad to see a few matrix people drop away but most of the activity and users were/are on the IRC side. And of the active matrix users I considered friends most just decided to connect to IRC using a real client. Much like Slack started off with an IRC bridge to bootstrap itself with IRC communities the Riot.im/Element.io corporation no longer feels the need to maintain the bootstrapping and does not allocate resources for it.
Libera.Chat staff that used to work at Element departed the company due to budget cuts.
In combination with the budget cuts' wider effects on the matrix ecosystem, this meant there was little if any hope the issues with the bridge would get fixed.
Element employed quite a few IRC folk until the recent budget cuts. My experience as IRC client dev was actually what got me hired. (though I also departed Element during the latest round of budget cuts)
just read - sounds like some complaints from the libera chat side that are too much to fix (?) at the moment..
I'd like to see a post from libera about what they expect someone to do if they take the bridge and take it further to work on other servers..
I still dream of a trillium (sp?) manychat kind of thing that can bridge all things... I get that some want to prevent that - and others even if they want interoperability may have debates about how things should be implemented for various reasons.
maybe libera can make a bridge with options and defaults that make most people happy.. but a user of libera myself, but I want an all things work together future - I get that tech stuff can be hard, even without those who want walled gardens and barriers.
- fingers crossed for more options in the future instead of less.
There are a number of open source events, projects, and foundations that primarily communicate on Matrix, and no surprise it seems particularly common among projects that build on federated technologies (eg ActivityPub-based projects). That's what got me started on Matrix before I joined to lead the Matrix.org Foundation :)
The thing is even though not all communities were fully there, they were using the bridges. As far as I know almost all KDE and openSUSE channels were bridged. Now we ended up with a situation where there are still people in the matrix rooms with no connection to the irc users.
The bridge drop affected Fedora quite a bit - Fedora traditionally used to have their IRC rooms on freenode, then on libera.chat - including the "official" stuff like Special Interest Group meeting, bug triages, GO/NOGO meeting for release, releng, etc.
While it was decided to migrate to Matrix, still a lot of tooling was built for IRC & many users connected via IRC to the rooms, so the situation with bridges in place was ideal.
But wen the bridge stopped working, it effectively split some of these room in half, with some people being on Matrix and some only on IRC. Worse yet, some meeting still depend on IRC only tooling/bots & happen only on the "IRC side" until the tooling can be ported. Not the best situation. :)
You aren't. If you haven't heard of social media it lacks sociability: it's only feature. If you want information join mailing lists. Discord and IG is what I usually use; because and only because everyone else uses it.
IRC has some particular expectations of privacy, including that users that aren't in a room shouldn't be able to read what's going on in the room, and thus archived rooms are an exception rather than a rule.
That these issues haven't seen as much as even a reply since 2021 makes me understand Libera's point a lot better to be honest. Because it is indeed a serious issue.
The linked issue and the associated PR that fixed it haven't had a reply since 2021 because they were filed and fixed in 2021.
Separately, the original issue regressed in 2023 on the Libera instance, which was tracked as a security issue... but Libera shut down the bridge before we could fix it.
On the side note, are there anyone whose only using matrix for all the social media apps bridges?
I’ve been mucking away for months trying to integrate all social media apps together, and these bridges are obscure and hard to customize/configure for n00bs.
Soon, I can do away with the 10+ apps and just use 1
I run a few bridges. They're certainly a bit arcane to configure, but they mostly work fine once they're up and running. I run my own homeserver, it's not been too much trouble to deal with.
Though I try to move people into the "native Matrix" ecosystem. The bridges are just nice as a transition technology.
The quickest way to do a lot of bridges is this Ansible playbook: https://github.com/spantaleev/matrix-docker-ansible-deploy. I set up Discord, Telegram, Facebook, Instagtam, Slack, IRC without too much trouble. Though if you need a bridge not directly supported you'd be better off doing it manually'
One thing that Libera and its predecessors have that is impossible with element and discord and slack is: multiple overlapping communities on the same platform.
Maybe matrix/element has that, but I’m not very adept at finding it I guess. Old time original freenode had so many communities.
What they mean is you join an irc server with tons of communities all in one place. Discord requires you to join different "servers" where each switch between communities feels like you're at a totally different irc server (even though technically it's not). On irc you just have one name and that's what everybody knows you by. On discord you have one name per "server". There's not really a lot of cross pollination there.
Personally I would like to see a discord interface where there's not a jarring difference between each server. Something more like this hexchat screenshot (although hexchat itself isn't pretty) https://hexchat.github.io/screenshots.html but note the server and channel list on the left. I want something more like that.
It's not really the same thing, as far as I'm concerned. I use both Matrix and IRC, very extensively.
Matrix is, for me, a replacement (or a slightly less annoying way) to handle "person to person and local group" communications. And the bridges beat having to run a bunch of other clients for Google Chat, Signal, etc. However, my goal there is to move people onto Matrix, and I've done a decent job of it so far in my circles.
IRC is "professional technical chatter during work hours," and I use it as such - as I've used it for the bulk of three decades at this point. There's some social stuff there, but it's mostly "deeply technical conversations in the sort of chat rooms filled with people there for the same reasons." It's very much been a bit of a superpower - build relationships in the right IRC servers and you have a massive "external brain" of relationships you can query for weird questions. I worked at a small IT shop for a while, and people eventually figured out the correlation between "An absolutely off the walls question" and "the clattery keyboard," when I started discussing the problem in IRC.
I don't want IRC to be Matrix, any more than I want to bridge "professional chat rooms" into my evening hours (which more and more are simply hard analog, offline, etc).
When you move people onto Matrix, what homeserver do you have them use? I've set up a Matrix server for my immediate family and adoption rate has been good so far. I've set up both my parents, and one of my sisters and one of my brothers have signed up, one sibling is being a bit resistant since "I already use a gazillion other chat apps." But, not everyone has a me to set up and maintain a Matrix server, and I'm weary to tell people to just hop onto the main "matrix.org" server since I don't know what kind of experiences there are for people who don't know what they're doing (e.g. Should they put in PII or remain anonymous?)
Mine. Which, at least usually, has working federation...
I don't like the modern internet, and I go out of my way to find workarounds. One of those, currently, is having a physical server colo'd locally to host my internet presence.
Now that Synapse (and Conduit!) support registration tokens, it’s a lot easier to let people you know register on your server, without opening it up to the world.
I agree they are very different beasts. Which is probably why IRC has held its ground despite strong headwinds.
I question whether the Matrix team even wants to eclipse IRC. It probably won't earn them many beans.
IRC is "professional technical chatter during work hours," and I use it as such - as I've used it for the bulk of three decades at this point.
Indeed and the clients and servers certainly treat it as such. But remember that Matrix is a federated protocol... What if your employer also used it? Or if you wanted to participate in Nix or Rust or Mozilla discussions?
Certainly you wouldn't want to receive work/business/etc messages while off with your friends and family. Different device, different account on the device, different client on the account... Lots of options to get Matrix working for you in more than one way.
But the clients are so different compared to IRC. And there is no real home server for the FOSS world. Mozilla, Nix each run their own AIUI.
That is because matrix is federated and IRC simply is not.
There are plenty of "professional" development matrix rooms, the Fedora ones are an example of that. They often hold directions meetings etc and have their own bots for that there.
Matrix has one big thing that is missing from IRC - disconnecting and reconnecting without losing chat messages. This is extremely important with mobile clients - so important that idling in IRC with a phone is barely possible.
IRC is far from dead. My relatively unknown oss work has a channel on libera which is seeing ~100 message per month
Also Slack made the same move a couple years ago, first trying to appeal to IRC users at the beginning and then shut it all off when they had everyone else
I wouldn't be surprised if by the time Matrix is cold as ice, IRC will still see activity. Sufficiently simple protocols have some aura of immortality to them, and Matrix is the opposite of that.
Agreed, my friend group hosts a private Matrix server specifically for the E2EE (with encrypted history) chatrooms. Makes us all way more comfortable sharing or discussing anything involving PII because we aren't having to trust Discord's systems and employees.
Indeed. The only sane place on the internet to get answers to a range of deeply technical questions about modern tech (or, at least, a discussion that will get you closer to the answer) I've found is IRC. It's filled with a lot of "old tech guys who have been doing this forever." And, often enough, that's who you need to make sense of some bit of architectural manual arcana.
Discord is awful. It's most of the downsides of IRC, with all the downsides of a centralized company running it, with a very resource heavy client. You can run IRC on just about nothing (I ran an IRC network in college on a 16MHz 68030 with 8MB RAM just fine), and I know quite a few quiet little backwaters servers doing exactly that.
Could you please stop posting unsubstantive comments and flamebait? You've unfortunately been doing a ton of this. It's not what this site is for, and destroys what it is for.
Hosting images is a great way to waste a lot of money and have to hire a squad of lawyers. There's a reason free image hosts have well known short lifecycles. The strength of IRC is that it is mostly stateless. Just lists of IPs subscribed to sockets.
As beautiful as it is. You don't need to host anything.
Image capabilities are still possible as all you'll need to do is encode media in to base32 and then spew that to brother channel, #hn-images or something.
IRC is perfect for long blinding data dumps.
If the user opts in to imagery, let the client connect to that channel. Sure you'll loose out on the image if you were not available but irc is like that anyway.
Having your client throw [image:~hackernews_logo] to indicate that you've posted an image is no less spam than someone announcing that they've changed their nick to "doublerabbit|Zzz".
I pretty much only used Matrix as a glorified IRC bouncer that worked across my devices. When the libera.chat bridges went away, I just stopped using Matrix altogether.
Yeah, I am sure it is possible to set up my own appservice, but ERC has been convenient enough for my use case.
I instead stopped using IRC since the Matrix bridge was the by far best bouncer I have used to date. The other bouncers I have used have just been annoying.
IRC is the best place to go to find developers of a whole host of open source projects. If you work with open source software, not using IRC really limits what you can do and who you can reach.
That doesn't make a difference though? Not using IRC limits who you can reach. In some projects, all the interesting people are easily reachable through IRC (and less reachable through other channels).
Of course there are other projects where all the interesting people are reachable through matrix or gitter or zulip or slack, and if you're interacting with those projects, IRC won't do much to help you. That doesn't mean "not using IRC limits who you can reach" is false; it just means you may not have an interest of interacting with the people who you can't reach without IRC.
I was using it, but I kept getting kicked out of channels for idling too long. It wasn't a good experience, and I went back to just using IRC for IRC and Matrix for Matrix.
The whole thing with freenode-> libera and now this has been a shitshow to say the least. I am glad some communities are moving to discord where things are stable and reliable. Instead of implementing proper registration process for example, libera bans ip addresses from tor and vpns unless you auth first and you have to register with an email and an ip they like. I have many criticisms of matrix/element but in this case it looks like yet another libera complaint that is at issue, not really matrix's fault I think.
The only thing I'll say about matrix is they have a lot of cool features but a smooth/fast experience like discord is the only thing they are missing to compete there but aside from philosophy I see no reason to avoid discord unless I want to operare a server instance. To me it's like webmail, I don't care if gmail or proronmail are opensource as much as I care about their security and reliability. I mean, I gotta applaud all the folks that worked on matrix clients, but there is still much left to be desired, I wish I could help in some way.
The centralized mess of Discord is neither stable, nor reliable, nor lightweight to access, and it's going to bite a lot of communities in the rear end, very hard, at some point down the road. The history of "convenient, free to use tech" like Discord is "Someone buys it and tries to turn a profit, and squeezes the life out of it."
IRC is a "fully mature technology" at this point in the internet. It just works. I believe a number of tech companies keep IRC servers around for the "Everything but TCP/IP has gone down" emergency communications technology.
But it's fine. The filter of IRC is part of what makes it worth it these days to use. It's the anti-Reddit.
The majority of my life spent on IRC argues "It works just fine, the way it is."
I use a znc bouncer these days because my home ISP is less than reliable some months (I consider "cybering" a channel to be quite rude and try to avoid it at all costs), but I've run that on free tier VM instances before with no trouble, and if you don't have one, it's no big deal for the most part.
I'm connected to about half a dozen servers, some major, some "a dozen user backwaters servers," and it's easily the bulk of my "not with people I know directly" communications, just as it's been for literally the past few decades of my life.
I am with you with IRC experience, but the definition of "works well" is dynamic. These days it means secure and easily accesible from a browser and no "trust me bro" irc server ops lol. I love IRC, the mess that exists today is a result of e2ee being implemented at the application layer instead of transport or session. But much like email, you have to let go of nostalgia. If the horse been dead for 20 years, dismount!
I had the same opinion as you but for better or worse I find myself changing my opinion as a result of new experiences. I have a million things i need to do, fighting with a chat client for security or privacy or basic features isn't one of them.
Anecdotally, I have been burned by irc operators and clients in several ways over the years. Be wary when trusting strangers!
> But much like email, you have to let go of nostalgia. If the horse been dead for 20 years, dismount!
It's not nostalgia. It's quite literally the best way I've found to get deep, weird, technical details on the deep weeds I play in, because IRC has a lot of other people who are similarly skilled in the arts of wizarding at and below the kernel. I simply assume everything said on IRC is public, and act accordingly. I'll move sensitive conversations over to other platforms if needed, but it's not been a regular issue.
And, yeah, I ran an IRC server, I'm familiar with the power of the admins. I'm also familiar with the power of large tech companies, and don't find them more trustworthy.
... my Thunderbird client says "Email isn't dead either."
By "dead" I meant the tech is outdated. You can run and enjoy IRC and email and plenty of people will join you but that does not mean it's a good solution. Even SSL was not a thing when those techs came out and security was an afterthought. It's not just transport security but also your machine/network getting compromised.
IRCv3 sounds promising since you can finally see historical chat (no need for a znc). But the question I ask is how does it compare with alternatives like discord or matrix?
Also, you are right about finding a lot of smart people on IRC, I had the same experience but I can't even find many of the people I use to chat with in there anymore. Slack, discord, social media have taken over. The nice thing about matrix was you can bridge all these places, but as you can with this post, IRC folks cause drama over matrix all the time because they can't adapt to new stuff. I would have expected the opposite where libera would run a matrix home server!
These are just tools and tech, don't we all care more about the people and conversations we can have more than all this? I wouldn't even touch discord had so many not migrated to it already. And many of these communities had other spaces like on twitter and reddit and now they are fragmented all over the internet. I have no problem rallying around whatever the masses pick so long is it is actually good enough.
I don't care about tech philosophy. The software needs to work well. Show me an IRC network operated with the same ease of use and security as discord and I will use it provided others are on it as well.
You people like your lemmy, mastodon, peertube,etc... and it's not like I disagree with the idea but ideals are only good for academic discussions. They need to work well IRL, there is no replacement for that, period!
I will give you a good example: firefox! It's not just ideas, it works just as well as Chrome!
And you know what, back in the day when you could trust or be apathetic to server ops IRC was great. But not having e2ee encryption and server operators being anti-privacy like with libera means we have no modern day options.
You can downvote me all you want but these bullshit dramas have destroyed communities I liked and that is not f*cking ok! Downvote me a million times but I have not had unexpected disruptions on discord or crazy memory/performance issues.
I would love to use ircv3 that is full e2ee with no opportunistic crap or matrix with a decent well maintained lightweight web client and simple/good UX. But don't tell my the problems don't exist because youe ideology is nice and shiny.
Yeah, discord can be bought by some crappy company and they can start banning for bad reasons but guess what? So can matrix.org and it already happened with freenode (and reddit in a related manner). But today, discord is best.
I hold on to the hope of a better alternative as I point out the flaws in what exist today. It needs to work well first and foremost.
Talking about this in a nuanced way on HN these days is useless. Threads about IRC, Mastodon, Lemmy, etc don't attract pragmatists. They attract zealots that really want to pretend like their chosen ethical technology is the best and won all the wars and changed everything, and shhh you sheeple for suggesting otherwise let me downvote you.
I will say while Element (the flagship Matrix client) isn't as polished as I'd like it to be, it's good enough that Discord users can use it without thinking twice on any of the non-huge rooms and spaces out there. It's quite close and worth running in parallel to Discord and I'm hopeful that the teams at Element and Matrix will close the gap to get sufficiently close.
Except element does choke my browser/system (32g ram, many cores) even with rooms that aren't all that big. Slack does the same, discord doesn't even with large rooms and 100+ rooms open.
Hm I haven't had any issues like that. I do have room sync issues where it takes forever to join a large room, but nothing wrong with the app itself. I'm also using the Electron app across platforms and maybe it handles differently across browsers, but I use the Discord Electron app also.
FWIW, slack has this issue as well. It might because unlike IRC, every DM is a room and has similar resources, and 50 people messaging you is the same as joining 50 rooms and I don't have the patience to "leave" a DM.
Well, stable for now. Give Discord another two decades to figure itself out and see what happens. When it hits the fan, there won't be a "Discord 2" right next door that everyone can migrate to by changing a URL.
I am patiently waiting for Discord to be sold to some corporation such as Microsoft so we can all move on to the next big thing. I wonder what it will be. Probably not Matrix, but definitely something.
I watched your old, old SM3.9 videos as a child. I'm sitting in an Etterna Discord channel right now wishing I had the wherewithal to write a 3rd party Rust client. What serendipity. Hope you're well.
I don't think it is the Microsoft part or that anything becomes evil merely by changing hands. Just that the network effect of chat clients or social media platforms in general is so finicky that changing hands might be enough to cause some splintering of people off to the next thing.
I feel like it is getting longer and longer between the next biggest social media, but there has been a lot of chat clients over the past 2 decades. I don't think many people have any company loyalty in this market. The main thing people care about is that the people they want to chat with are already there. If people start moving to something new for whatever reason then everyone else will likely follow.
You say that as if MS buying GitHub, and the Copilot training data stuff hasn't driven all sorts of people to alternatives like Gitlab or self-hosted solutions like forgejo.
I literally have no idea what forgejo is, I do not think most people have heard of it.
Gitlab's reported growth numbers are down year-over-year. Meanwhile GitHub reached its user growth target of 100M developers an entire year ahead of schedule.
I do not believe that any large portion of people are migrating to GitHub alternatives. Most people like / are excited by Copilot, not the other way around.
Meanwhile, IRC remains there, working, independent of big companies, and low enough resourced that you can host it without too much trouble on very modest hardware and bandwidth requirements.
https://matrix.org/blog/2023/07/deportalling-libera-chat/
I wonder whether the July move prompted users to find other ways to connect to Libera.chat besides Matrix, killing usage of the bridge, leading us here.
Thanks to those involved for the efforts while they could be sustained!