RFC: IRC bouncer
Motivation
Many FDO projects use the OFTC IRC network to chat. OFTC has many upsides (reliability, many clients to pick from, etc), but also many downsides. Some contributors find IRC difficult to work with because:
- You don't get chat history when you're away.
- People who want to interact with you need to wait for you to come online.
- IRC clients can be difficult to use for the uninitiated.
- Getting an account and authenticating requires talking to NickServ.
There are probably more reasons. Feel free to add a comment.
Proposal
My proposal is to setup an IRC bouncer for FDO contributors. Any IRC bouncer can address (1) and (2).
I have experience with IRC: I maintain soju (IRC bouncer), gamja (web client, used by Libera Chat) and goguma (Android client).
I have experience maintaining IRC bouncers at scale: I maintain chat.sr.ht. It hosts 1k+ users. It uses little resources.
I believe the soju+gamja+goguma combo can be pretty user-friendly, so I'd suggest using that (would address (3) in the list above). I will allocate time to add any missing features as necessary.
Open questions
- Yay/nay?
- Abuse: some sysadmins may be concerned with abuse. I'd suggest restricting the bouncer to OFTC. There are multiple ways we could handle bouncer account registrations: e.g. manually created by a sysadmin on-demand, or tied to a GitLab account, or tied to a GitLab account and manually validated, etc.
- Logs: on-disk message logs can take up some space. We can easily automatically delete old logs, and let users back them up if they want to (e.g. via chathistorysync.
- Docs: proper documentation for both users and sysadmins is very important. Users need to have clear, simple instructions to hop in and start chatting with the community. Sysadmins need to know how everything is set up in case something goes wrong.
- NickServ: point (4) above. OFTC has old IRC servers which don't support SASL. This makes it extra annoying to register or login, as you need to talk to NickServ instead of filling a username/password field. The OFTC staff would like to upgrade, but none of the staff people is available for that. The gamja web interface could be improved to handle everything behind the scenes. Alternatively, we could add the steps to the documentation (at the cost of decreased user-friendliness).