Shutting down the Matrix bridge to Libera chat
matrix.org
matrix.org
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!
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.
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!
Otherwise you may have a command injection vulnerability similar to what matrix-appservice-irc used to have: https://pktz.fr/matrix/security/2022-appservice-irc-command-... (though with carriage returns instead of null bytes)
> 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.
Some IRC servers (especially those written in C) may interpret it as a line end, so you would have a similar issue
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.
It certainly, did, I deployed Heisenbridge on my homeserver because I didn't want to go back to having two clients open.
The user drop is quite noticable here: https://netsplit.de/networks/top10.php
After that you can see Libre.Chat is actually growing in users again and at a very consistent pace.
[0]: https://github.com/mother-of-all-self-hosting/mash-playbook
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.
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.
> And it doesn't even work that well.
Maybe not, but it has pretty good adoption [5]
[0]: https://github.com/matrix-org
[2]: https://matrix.org/about/
[3]: https://en.wikipedia.org/wiki/Matrix_(protocol)#Clients
[4]: https://en.wikipedia.org/wiki/Matrix_(protocol)#Servers
[5]: https://en.wikipedia.org/wiki/Matrix_(protocol)#Adoption
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.
> MLS
Unless I'm missing something about MLS, you're mixing unrelated stuff here.
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.
> Unless I'm missing something about MLS, you're mixing unrelated stuff here.
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.
So, exercising all due restraint, I say this: your statement is unmoored from reality. I thank @camgunz for chiming in and citing sources.
Tell us why your spec trails your implementation for months so you basically make sure no one can develop competing server/clients.
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.
This hardly feels like suffocating competition.
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
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.
Actions speak loader than PR babble especially if it's not addressing the mentioned concerns.
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.
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 :).
I know I might be using a dying medium but I enjoy IRC the way it is.
Use the client for the group you are in rather than some bodged together bridge.
Updates on the matrix<>IRC bridge (Jun 7th) https://libera.chat/news/matrix-irc-bridge-updates
Disabling Matrix Portalling (July 3rd) https://libera.chat/news/matrix-deportalling
Delays in Disabling Matrix Portalling (July 28th) https://libera.chat/news/deportalling-delay
Temporarily disabling the Matrix Bridge (August 5th) https://libera.chat/news/temporarily-disabling-the-matrix-br...
Matrix Bridge Temporary Shutdown, a Retrospective (August 10th) https://libera.chat/news/matrix-bridge-disabled-retrospectiv...
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.
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.
Opensuse also has their own matrix server #space.opnensuse.org and archlinux does too #archlinux:archlinux.org
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. :)
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.
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.
PS: I thought I saw the issue listed as "New Issue" and thus open but apparently not. Weird.
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
Though I try to move people into the "native Matrix" ecosystem. The bridges are just nice as a transition technology.
Sounds like Beeper
Maybe matrix/element has that, but I’m not very adept at finding it I guess. Old time original freenode had so many communities.
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.
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).
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.
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.
I was thinking of making a matrix to matrix bridge so I could do that but I never really got around to it.
Wasn't anybody using the Matrix bridge to Libera Chat IRC?
Seems like IRC is really dead and only used by a very tiny small minority of people.
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
Some of the most deeply technical people in the world use IRC.
Being able to talk to them is a superpower.
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.
Discord got it right but wrong.
Channels are correct. Image / File sharing is correct
Closed gardens and gimmicks with paid subscriptions is where it falls.
But apart from that, it's still as good as it always was.
DCC works, if/when it wants.
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".
Yeah, I am sure it is possible to set up my own appservice, but ERC has been convenient enough for my use case.
No, I was responding to the highlighted line here, which is fundamentally wrong. ;P
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.
** There are 73 users and 33193 invisible on 28 servers
** 39 operator(s) online
** 75 unknown connection(s)
** 22136 channels formed
** I have 1884 clients and 1 servers
** Current local users 1884, max 2958
** Current global users 33266, max 34731
** Highest connection count: 2959 (2958 clients) (25302 connections received) ** - platinum.libera.chat Message of the Day -
** - This server provided by NORDUnet/SUNET
** - Welcome to Libera Chat, the IRC network for
** - free & open-source software and peer directed projects.
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.
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.
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 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!
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."
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.
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.
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.
..or are we all in this thread just not talking about GitHub, it's a necessary evil, etc.?
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.
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.
It's the turtle: https://xkcd.com/889/
IRC is a protocol.
Discord is a platform.
Platforms always die. Protocols can live forever.
- Reliable
Oh, dear fools...