This Hacker News discussion post is a technical query about XMPP servers that exercises and demonstrates freedom of expression and community participation. The post's content is neutral regarding human rights, but the platform's structural features—open posting without prior approval, global participation, pseudonymity, and moderation balancing free speech with civility—create measurable alignment with UDHR Articles 19-21 on expression, assembly, and participation.
I was I heavy XMPP user back in the 00s. But on the whole it never really took off, and when Google killed XMPP support in their chat it was a severe blow. As for why it didn’t reach a larger userbase, I think the reasons that Moxie described in The ecosystem is moving[0] are spot on.
Last week I selfhosted Snikket: https://snikket.org, me and my partner use it to text. It has been smooth, everything works without issue: read receipts, audio/video calls, status.
I use JMP.chat[0] for my primary phone number. Being able to text from my PC with a real keyboard is very convenient. If I ever bite the bullet and use Discord I want to set up Slidcord[1] so that I don't have to use a separate app. I'm still figuring out how to migrate people to XMPP natively.
Several years ago I put up an XMPP server (Prosody) to chat with some friends in a private group, and it's still going strong. Years ago we used to have a mailing-list to keep in touch, but that eventually went quiet. I had run an XMPP server ~10 years ago (ejabberd), but that was before mobile chat utterly displaced everything else, it never took hold among my friends, and I stopped using it when Google Talk stopped federating, cutting me off from most of the people I had been occassionally chatting with.
The modern chat experience is all about the clients, and the mobile clients in particular, especially push notification support and seamless setup, so direct comparisons with XMPP to Matrix, et al, kinda misses the point, IMO. Conversations is a really amazing Android client. Our one iPhone member is content with Modal (I use the desktop version sometimes, but it's clearly designed for the iPhone). A new member uses, I think, Gajim on Windows; they don't want the distraction of chatting on their phone.
I host a bunch of other services on OpenBSD, all using the integrated base daemons--httpd, OpenSMTPD, NSD, etc--that sandbox themselves. I was hesitant to run a daemon like Prosody that didn't integrate OpenBSD security features, so I wrote my own module (mod_unveil) that uses pledge and unveil to sandbox Prosody: https://github.com/wahern/prosody-openbsd Most Prosody users host on Linux, and many of them seem to use Docker containers, which presumably offers some isolation, but I can't really speak to it.
The only non-private, large group chat I've joined recently has been the Prosody support MUC. I'm not a chat power user, but it seems to work just as well as any large chatroom. I've was content with ntalk and IRC back in the day, so I don't really get all the chat protocol bike shedding. In any event, I expect XMPP momentum (such as it is) to outlast all the interest in Discord, Matrix, etc.
Doesn't Discord require every user to create a new account, even if they're already using Discord in some other community? So when they say "a Discord server", they really mean it--they're like droplets running independent deployments or whatever (albeit managed/hosted instances run by and upgraded by Discord the company); not like subreddits, right?
So isn't the best way to migrate people to XMPP to prop up a Discord clone that's as close a copy as the Discord-clone community can manage, and then tell all the people "Join my Discord server", with the trick being that it's really your server, not Discord's, and that server is powered by XMPP?
Post does not address interpretation or limitation of rights.
FW Ratio: 50%
Observable Facts
Community guidelines prohibit certain categories of speech (spam, hateful content).
Inferences
Prohibition of harmful speech demonstrates that platform recognizes some limitation of absolute free expression, consistent with Article 30 principle of balance.
Platform structure explicitly enables free speech: open posting without prior approval, voting mechanisms amplify speech, global reach without censorship barriers.
Community guidelines and moderation enforce duties to respect others, maintain civility, and follow platform rules; structure explicitly balances rights with responsibilities.
Community moderation prohibits discrimination; however, structure is not specifically designed to address discrimination and enforcement visibility is limited.
Platform provides pseudonymous discussion space reducing some physical safety risks associated with public speech; however, this is incidental to the post's purpose.
Community rules apply equally to all members; moderation enforces rules regardless of status, creating structural equality before the platform's rules.
Platform allows pseudonymous posting, reducing privacy exposure; however, IP addresses and engagement data are collected. Structure provides modest privacy protection.
Platform's pseudonymity and global access model create space for users in restrictive environments; however, no explicit asylum protections are stated.
Community platform enables free expression of diverse ideas and perspectives without ideological gatekeeping; structure supports conscience-driven speech.
Community provides information-sharing and peer support mechanisms that offer indirect social benefits; however, no formal social security functions exist.
Platform's terms of service implicitly limit rights (e.g., spam prohibition); however, URL-level access does not show explicit limitations of UDHR rights.
Supplementary Signals
How this content communicates, beyond directional lean. Learn more
build 1ad9551+j7zs · deployed 2026-03-02 09:09 UTC · evaluated 2026-03-02 10:41:39 UTC
Support HN HRCB
Each evaluation uses real API credits. HN HRCB runs on donations — no ads, no paywalls.
If you find it useful, please consider helping keep it running.