I've been running Ergo for the past year for my friends/family chat. I went this route because of the ease of hosting, very low resource requirements and a protocol and codebase that I feel I can understand and debug if needed.
The v3 chathistory support and the always-on[1] multi-client[2] features paired with modern clients (like Goguma) go a long way at providing a modern chat environment. Most others on the server don't even know that they are using IRC.
The built-in websocket support is another key feature for me since it lets me to provide a web client just by serving some static files (I use Gamja for this).
Just think of all that information, stuck in the walled garden, away from the prying eyes of search engines or any other forms of public discoverability. Just waiting to get flushed down the drain or shoved into the training data of a future round of AI crapware...
IRC is pretty much the opposite of the definition of a walled garden. Its content is not discoverable by search engines by default, but that is not the definition of a walled garden, which is typically a synonym for closed platforms where you have no choice how to access their content (e.g. being forced to use a specific client software).
Many years ago at $WORK we had an in house IRC server (pre-Slack). It was well archived and logs were easily searchable. It was a pretty easy setup.
And for IRC, I think this is a good compromise between "everything is public at all times" and "everything is walled off and private at all times".
If you want to have a log of your use, it's possible. If the org running the server wants a log, they can do that too. Is that possible with something like Discord?
The point still stands. Regardless of how easy it might be to access logs, not a single popular Freenode (or otherwise) server I spent years chatting on has an archive online.
It might as well have all taken place on Discord.
Turns out what matters isn’t how easy it is to access logs but whether anyone cares to do it.
I’m not exactly sure why you think that matters. Everyone in those channels have logs that any program can read.
The point that I am making is that the capability and software exists, even for others to view, if you want. I mean: did you need an account or specialised client for these logs?
Thats the point.
Be the change you want to see if you want archives uploaded. Or, do what others do: grep your local files or znc logs.
Being knowingly throwaway meant that any long term knowledge got turned into a blog post, documentation, a forum thread, or a search engine indexable logs-to-html site in the worst case.
With discord the message might get pinned if a mod thinks it was useful and remains undiscoverable for the majority of people
> remains undiscoverable for the majority of people
IME it doesn't work very well. If you hang around a discord server long enough you see the same conversations happening over and over and over. And the app is not good at helping you finding old conversations (which is why they are repeated endlessly).
It's also very bad at resuming where you left off, so it's incredibly difficult to follow an active thread without missing anything:
Lots of people log channels, and that is another discussion when you see yourself online. They usually mention it in the topic though that the channel is logged.
For me, a "walled garden" is also something controlled and regulated by a party I have no influence over. They can arbitrarily make and change rules and decide who to let in or not, which feature to drop, how the UX looks like etc.
IRC is an open, community protocol, and as such not a walled garden. Even if I'm not involved, which I could be, I trust the composition of people there much more than any single commercial actor. The power dynamics are fundamentally different.
A single instance (an IRC network) may be a "walled garden", in control of the group that runs it. The incentives are different. Also because people can simply migrate to another network given the open protocol (and different, third party clients; the API cannot be shut down like with Twitter/X). Historical example e.g. Freenode ownership change.
It's not a website a search engine can crawl but anyone on the internet can log all the messages on IRC as long as they want without any restrictions. In fact if you are nice, you will never need to login and can have conversation for as long as you want with a guest login. It is not a walled garden.
A walled garden is a platform where auth is required to come in and user content is owned and stuck within.
IRC is not a walled garden. You will have a better time registering with Nickserv, but you can pull content and logs channels. So, more like a fenced meadow.
You must have a truly mind-boggling amount of social capital to be able to switch your family/friends off of a mega platform like Discord or WhatsApp. Do you just onboard every single person who wants to talk to any of them also? Or do they see your system as "how to reach donio"
You'd be surprised how easy it is to move a group chat to a new platform. Often you'll need to run a couple through, but people expect to be on multiple platforms.
Nobody is on a single messaging platform these days they also use other stuff of course. They look at it as a simple way to reach this group of people.
I'm in the process of switching over from ngircd to ergo and have contributed a FreeBSD initscript to ergo.
My little IRC community has been going on for what must be more than 15 years now.
There has been a noticeable slowdown this year. Maybe it will be the end of the line in a few years.
Nice to hear that at least there are others out there.
I have vivid memories of the first time I connected my Nokia to a laptop and used mobile dialup-internet from the passenger seat of a car to connect to the IRC server while going down the Autobahn.
Mobile internet was unheard of at the time, so it was totally exciting!
The last line of OP:
"The built-in websocket support is another key feature for me since it lets me to provide a web client just by serving some static files (I use Gamja for this)."
My fam chat is currently on Telegram, but there recently (Durov's arrest) was a long discussion about that; everyone is actually interested in switching to something E2EE and/or self-hosted. But we want to keep the core features: share photos/videos, keep a history, 1-on-1 voice/video calls, etc. So the main alternatives are WhatsApp, and (distant second) Signal - the latter doesn't offer history for newly joining devices.
If self-hosting in general wasn't such a PITA, I'd probably research the options and set something up. But honestly, I'm burnt out with trying to maintain even the most basic setups. I have a Raspberry Pi with NixOS under my desk that hosts Miniflux over Tailscale, and I can forget it exists 99.7% of the time - until I accidentally unplug it, and 6 hours later, wonder wtf happened again.
Now multiply the problem by the average funny cat video size and crappiness of my residential uplink. Won't happen.
This is not a feature, this is a limitation. It would've been a feature if Signal offered you a choice of whether the history should be synced up or not (perhaps with a default of "no" for existing users, to maintain the established expectation). As it is, this is a limitation.
In order for Signal to provide this history, said history would have to be stored on their servers, massively nerfing one of their core competitive advantages.
This “limitation” is the ultimate advantage from the perspective of Signal’s core competency.
It could be saved on devices and supplied as needed from that device history. They wouldn’t need to keep it on their servers. I don’t think you can fault signal for not wanting to do that, but it also means signal is a terrible communications platform if you want that sort of thing.
> It could be saved on devices and supplied as needed from that device history.
Then what if a new person joined the group convo? Do they have a right to see everything that everyone has said in that group convo, right back to the beginning? What if someone objects to sharing past conversations? What if sharing past conversations is a legitimate security concern to the group?
How does one filter out those past statements by someone who doesn’t want to share past statements? With security-state and foreign-state moles being a rather big issue in some groups, this is a legitimate rabbit’s hole that needs addressing. Some companies that standardize on Signal may not want any prior convos to become available to new entrants.
Personally, I see the lack of history to be a very real competitive advantage, and not any sort of a nerf.
Sure, your own history can be shared between installs on devices that you yourself own. But that is your chat history, meant for only you.
Does Signal, in fact, enjoy any competitive advantages?
Where I live (Canada) only a single person I know uses Signal. Everyone else is on Whatsapp and/or iMessage. As far as I am concerned, Signal is a wasteland.
I have received 400% more spam on Signal than I have received real messages.
Probably that they don't bother to have another chat app just for a few people.
A older family member has WhatsUp and Signal and gets sometimes confused. I have WhatsUp, signal, telegram, discord, meta messenger and would be .. hesitant to install an IRC client for like 3 people.
The reason that most people don't want another chat app is not just because of the initial work. Every chat app adds a mental overhead for some activities.
Want to find that recipe that you remember that some person shared with you a while back? Now you have to look through four different apps.
And the overhead grows quite fast as you add apps.
Yes. People install a handful of known apps and that's it. You would never convince any of my friends or family to install this. In fact, I wouldn't either.
Although I understand your point, and certainly have some friends that would feel like they're hacking the gibson connecting to an irc server, is Discord et. al really that much different?
It’s an inertia issue. I already have iMessage, FB Messenger, WhatsApp, and Signal as “primary” messaging apps, plus Instagram and LinkedIn and Teams as secondary— my tolerance would be basically zero for installing something else to connect with a specific person or friend group.
That is because you already have an absurd lots of them though.
I have whatsapp and conversations and that's it. I only use teams on my professional computer, you will never see me install "work" on my personal smartphone and nobody needs a linkedin app, the website is enough.
iMessage is needed for texting, Messenger for neighbours and FB Marketplace, WhatsApp for group chats, and Signal to have a non-meta option.
I agree about LinkedIn and will probably get rid of it; I mostly installed it as I was going to a conference and wanted the easy option for swapping contact details using camera codes.
Yes, they just download the app and enter the server name, username and pw. It's a private server and I manage the accounts so there is no registration step. And they only need to worry about any of this when they get a new phone.
I disagree. I run all comms for https://pico.sh through IRC on libera and people really struggle to onboard into IRC. People will pop-in ask a question, then leave because they arrive to a chat that is empty and didnt see any activity in 5mins and bounce.
We tried to offer a bouncer instance for users and even that had a barrier to entry because it requires creating 2 accounts: one for libera and one for pico.
I think about us switching to ergo every few months because I think the onboarding experience will be much nicer.
Logging into a channel for the first time and see the chat log will make people a lot more motivated to stay.
I agree. The reason IRC is so good is that it is mostly stateless and stores very little information beyond lists of IPs associated with each socket it's stuffing messages into.
Once a server starts hosting for people there are a huge set of problems and pressures. IRC is the text chat layer of the internet. It's not by itself, it's part of a larger network of open protocols. If you avail yourself to these it far exceeds the capabilities of even the most featureful walled corporate garden.
I didn't bother setting up proper push notification so we use the "Servers supporting chathistory" mode. This means that when the app is not in the foreground a workmanager task polls every few minutes. So in this mode notifications can be delayed by a few minutes which is fine for our use case.
The v3 chathistory support and the always-on[1] multi-client[2] features paired with modern clients (like Goguma) go a long way at providing a modern chat environment. Most others on the server don't even know that they are using IRC.
The built-in websocket support is another key feature for me since it lets me to provide a web client just by serving some static files (I use Gamja for this).
[1] always-on: https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....
[2] multiclient: https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....