Damn. I have been setting up an #irc bouncer for the last 3 hours and oh my god I hate this protocol so much.

IRC feels very much like "protocol from the 90s that is very broken and does not really work in the modern era but we bolted on many shitty extensions and built extra services that make sort of work"

I don't know how anyone copes with this. Maybe those 90s kids who've been doing this for long enough are now just so used to it but for folks who haven't been there from the start it's unusable.

There's so many weird usage patterns and small differences in servers which you need to just know because the documentation is lacking and nobody really tells you this stuff.

Please just make it go away.

IRC is big weird hurdle for people wanting to contribute to your project. Please provide alternatives.

@katzenmann ok actually let's be more constructive here. in order to embrace things designed in this era you have to understand the mindset exemplified by 90s unix, nowaydays mostly only surviving in older linux tools and the core systems of the BSDs.

IRC is basically a clunky but simple text protocol created with the mindset that parsing complicated things is scary because hand-rolling parser code in C is fragile, and maintaining lots of state is _very_ expensive in addition to the protocol overhead, like just the overhead of user connection state tables mattered to the self-hosters of the era, not to mention the overhead of running various services. using something like XML for the protocol would have been considered stupid levels of overhead.

people also made clunky shit up on the spot because CS knowledge was much more unevenly distributed: see PHP.

but the thing is you can just read RFC 1459 and completely understand the protocol because the design is very mechanical and simple, there's absolutely zero fancy architectures or algorithms involved and the bookkeeping is only as big as it has to be. if you find it complicated you are probably overthinking it or expecting the wall of text to be describing something much more complicated and modern than it actually is

@whiteline Sure. I love a simple chat protocol. It's also nice to know that I could easily implement my own IRC client.

It's probably a good chat protocol for things like gaming or so where you don't really care about missing messages.

The thing it's not a good protocol for is for international teams where I may just want to enter a chat to ask a quick question, go about my day and come back later to see if someone responded.

The irc of #NetworkManager even has this message as MOTD " Please be patient after asking a question, we might not be in your time zone."

So now you're expecting casual users to use something like a bouncer and figure out if their server supports SASL or TLS client certificates for authentication. Just for them to be able to meaningfully contribute to your project.

This is the thing I am criticizing.