Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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).

[1] always-on: https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....

[2] multiclient: https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....



As heavy Discord user, it's nice to see that IRC is still kicking and might be available if/when Discord ZIRP gas runs out.


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...


I did not realize IRC chats were archived on search engines.


IRC is also a walled garden.


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).


But in general IRC is not really archived etc? So just as throw-away as Discord imo.


However on IRC this is not for technical reasons, but limited interest.

Pre-LLM-GenAI gathering information from huge chat logs was quite limited.

But different extraction mechanisms always existed. Some people kept logs, some servers/channels had web-archives.

Discord tries to keep it exclusive to them.

(Focussing on technical side here, whether it's socially wanted is a different big question, which ends with a "it depends")


       grep/recoll. Fast even on ancient machines.


That's nice for finding Keywords, but dismantling a chat discussion, which probably consists of many parallel threads in a channel, isn't easy.


Any single client can upload their logs, since it's "archived" in plaintext on every users PC.

You can also log from the server; using a multitude of modules; https://docs.inspircd.org/4/modules/log_syslog/ or https://docs.inspircd.org/4/modules/log_json/ if you're using inspircd.


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.


You sure? There are loads. Have you tried looking?

Heres an archive searcher for #bitfighter on freenode: https://bitfighter.org/irclogs/search.php


That's the counter example?

A channel with one day logged in 2024, then nothing for two years, then nine days logged in 2022, five days logged in 2021, etc?

What about big tech channels like, say, nodejs and javascript?


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:

https://www.reddit.com/r/discordapp/comments/18d4tiv/inexpli...


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.


This is notably not the definition from the thread you’re responding to, though.

So…


Hm, for me the definition of the walled garden is "you have to have an account to see any discussions"


Which you don’t need for irc. Also pretty sure that’s not an accurate definition as you can be walked without needing an account technically.


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.


Search engines could crawl it if they wanted to.


IRC is not "walled off" - open protocol, open servers, open clients.


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.


explain ur definition of walled garden please


And if it's not, or you need something more secure, there's always Matrix.

https://matrix.org


Ehhhh, Not a fan of Matrix but I haven't investigated it a ton. What I'm looking for probably doesn't exist.

Central Login Server hosted by Foundation of Chat Program and servers authenticate via OAuth2.

Central Login Server keeps track of which Servers identity is in and their endpoints so people don't lose track of servers.

Central Mobile Notification Service because mobile app notification is so important AND SO PAINFUL TO RUN.

Federation NOT required.


fwiw Matrix does do this, although making the OIDC IdP track the right target homeserver might need a bit of config.


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!


your family and friends care enough to download and set this up?


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)."

https://github.com/Libera-Chat/gamja


https://codeberg.org/emersion/gamja is probably what you want, the repo above seems like a local branch and it's a few months behind.


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.


> Signal doesn't offer history for newly joining devices

This is a great feature for privacy though


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.


Exactly, matrix.org has this feature IIRC.


When you switch to a new phone, Signal can sync the history just fine.

When you add a new computer, Signal refuses to sync the history.


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.


Isn't it just: install app, enter myserver.net and username+password ?


yeah, this part itself. How easy it is to get them to do it?


Any app that requires a login will be exactly the same? What's exactly your point? That people can't login to phone apps?


> That people can't login to phone apps?

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.


Whatsapp wins because it doesn't require a username and password, that's too complex for many people


> wins because it doesn't require a username and password

And lose because you can't give it to a kid that doesn't have a mobile phone number.

I have shared custody of my daughter and we communicate via xmpp on a tablet they carry over there when they spend a week at their mother's.


True, but I mean wins in a global "it's now the default platform for most people in the world" sense.


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.


Your incredulous attitude is naive. Yes, people don’t want to have yet another increasingly niche chat app to communicate with just a few people.


yeah, people definitely don't want to switch to use another app to chat. Is that too hard to understand?


why would they need to download and setup a server? can't they just log in to OP's with the client of their choice?


i am asking about download the client and even registering and entering a password


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.


discord is totally different. I assure you they are not going to download Signal, Whatsapp. there is massive network effect involved and inertia

Even getting people to use a different messaging app (such as Facebook Messenger) already installed on their phones is difficult.


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.


>(like Goguma)(I use Gamja for this).

Is everything related to potatoes lol?


Yep, both are by the same author (emersion) and there is definitely a running theme in the project names.


I think ircd is the wrong layer to attach those features to.

You can run something like thelounge and have that on any server.


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.


Interesting, does push notification work? Will phones receive messages and notify while sleeping?


This explains the notification options with Goguma, the mobile client we use: https://codeberg.org/emersion/goguma/src/branch/master/doc/n...

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: