New And Upcoming IRCv3 Features
53 points by eBPF
53 points by eBPF
Good timing with the Discord ID kerfuffle. It would be amazing to see flocks of Discord servers migrate to IRC.
Unlikely to happen. The daemon getting a sprinkle of more ircv3 stuff is nice, but chat history is the big one that keeps getting cited as a reason to pick other venues. And even once ircds have chat history (Libera is working on it in their future ircd), there's still the problem that the client landscape is in its twilight years.
In addition to the history thing, one really important feature of Discord is how rather than joining channels, you join communities, and then those communities can have multiple channels that you just automatically see.
Matrix getting the "Spaces" feature a few years ago is the only reason I can consider it as an alternative for a community I admin on Discord.
Yes, but...
We have a certain expectation of how IRC is used based on decades of usage.
But you could theoretically package IRC in a completely different way to resemble discord a lot more: Instead of running a globally available IRC server, you could spin up individual IRC daemons per community with auto-joining channels. If the goals of IRCv3 are reached and someone creates a well-polished modern client, you suddenly have something resembling Discord quite a lot.
I'm not saying that this is the right thing to do, but it's surely possible.
I think one of the biggest blockers for IRC is image/file hosting. It doesn't have to have a long retention policy, but I should be able to send an image to someone and have the server host it without having to manually go through whatever image host the cool kids are using.
There's some others like pinned messages (topics aren't enough) but I think file hosting is the hardest because it involves a bunch of questions around storage and how the image is served.
The soju bouncer has an IRCv3 extension for it, but the problem here isn't on a technical level. Discord can afford to host an unbounded number of 10MiB uploads for an unbounded number of users for free because they built enough of a platform effect through burning massive VC investments that they can now sell 100% margin avatar decorations and other stuff to their users.
IRC networks do not have that luxury. They don't get a pile of cash, and they cannot just assume that as long as they grow, they will find a way to make money eventually. They can barely afford lawyers.
I agree this is a problem for "normal" users, but if you're technical to run a soju, surely you're technical enough to have a directory that's hooked into a public-facing HTTPS server that you can scp stuff to? Surely that covers 90% of libera's user base, given libera is focused on developers?
Also, it's not just the cost of the storage, but the legal liability goes thru the roof once you start hosting files on behalf of a user. Even if the storage/bandwidth were free, I would imagine libera would be (wisely) very hesitant to do this. Discord is also spending a good chunk of that VC money on lawyers.
I agree this is a problem for "normal" users, but if you're technical to run a soju, surely you're technical enough to have a directory that's hooked into a public-facing HTTPS server that you can scp stuff to? Surely that covers 90% of libera's user base, given libera is focused on developers?
I don't know what you're on about. I pointed to soju as having a filehost extension, which makes file hosting part of the protocol, rather than having to "manually go through whatever image host the cool kids are using.", which is both being rejected by the premise of the comment I'm replying to and also precisely what you're describing.
You can't just throw out the premise and then pretend you've made a point.
Just because I can sftp a file, figure out the public URL equivalent, and paste that in a a channel doesn't mean that I want to do that. The friction, especially if I'm not at my desk, is incredible versus just... dragging the file over the window, or selecting it from a share sheet. It comes off as programmers in their bubble, ignorant of how the average person want to use (or is in this case, has been using for a decade) software.
There are solutions for normal people, and there are solutions for techies. Honestly, I kind of don't care what normal gamers do w.r.t Discord. I want a protocol that is easy to host and works well for techies to have a chat about FOSS, etc. Let someone else worry about shiny chat with pictures and problems caused by it. They can take VC money, hire moderation team, legal department, etc.
Yeah that's fine if you don't want any new members of your community who are born after 1990.
Yep, things as basic as sharing screenshots for bugs or helping answer questions. This is absolutely not about technical or non-technical.
Dear user: type imgur into google and send me the link after you upload your screenshot.
Look, I get it, there are all sorts of communities, different requirements for them. And maybe this won't work for what you're doing.
But this dumbing down everything for general public which is getting ridiculous sometimes is making everything absurdly complex and difficult by pilling up requirements on people who don't need them, as they are already overloaded by just trying to share their work for free.
If you can't upload a screenshot to imgur and share a link, then it's absolutely about being non-technical. And for that as a FOSS author and maintainer, I don't have time. Pay me, hire me, etc. and I'll bend over backwards no matter how lame you are, otherwise get lost.
In my mind an easy to host, lightweight, web-of-trust based (to limit abuse) global p2p/federated chat would be a desired solution. Needs to preserve recent history, should not have any file or media support. Even better if it is offputing for non-technical users.
I was once sitting in a NixOS Matrix channel, and some user joined and posted bunch of absolutely terrible content as images, and I'm not saying it lightly: I feel still somewhat traumatized to this day. And then consider the legal side if you are self-hosting this. Not worth it.
It causes friction and I was more talking from the perspective of a maintainer or co-author.
I think it's needless friction and I actually once patched my irc client to be able to drag images onto the input line to upload them to my own webspace and paste the link.
You can call me lazy and we may simply disagree on this but I will die on this hill that it's not about being technical.
No, what I'm saying is that it's very easy to solve client-side; you don't actually have to change the protocol. I added this functionality to the client I use in short order.
Ah, that's neat!
I don't think that IRC servers need to host every image forever, which is why I mentioned retention limits: age out images after 7 days on the assumption that very few people will ever scroll that far back, enforce max file size limits, and so on. There's a middle ground between what Discord lets you do and the bad old days of "find an image host and pray you don't burn through your 100MB of bandwidth immediately". This is especially true if you want to have a "friends and family" server (which is a pretty common use case for Discord servers) where the bandwidth will fit comfortably in the free bandwidth of a VPS host and you can yell at anyone uploading morbius.mp4.
I love to see IRC evolve, and I did end up also getting an annual subscription to IrcToday. But my most wished feature for IRC would be end-to-end encryption, I know OTR implementations exist but those don't play nice with some services.
It's good to see more modern features being deployed to IRC.
In the discussion about IRC as a possible replacement for Discord there is a strong conflation between protocol and product.
Discord is a product built on top of a proprietary suite of protocols providing a lot of convenience, some of which the IRC protocol itself is poorly suited to handle.
I suspect that IRC can be the basis of an open replacement for Discord, but it cannot be so on its own. Things like media hosting, streaming, chat history, community moderation and especially client usability must be built and added on top of IRC. To truly replace Discord, at least a comparable amount of ease of use should exist to be viable. This is true regardless of which protocol(s) lie beneath.