[HN Gopher] XMPP and Metadata
___________________________________________________________________
XMPP and Metadata
Author : todsacerdoti
Score : 70 points
Date : 2026-01-07 06:25 UTC (5 days ago)
(HTM) web link (blog.mathieui.net)
(TXT) w3m dump (blog.mathieui.net)
| buttocks wrote:
| I always liked XMPP and SIP as messaging protocols. So easy to
| read and understand and implement. Both are extensible and can be
| made secure.
| rootnod3 wrote:
| Yes. Unfortunately it seems that Matrix is the winner, but I
| think Matrix is over-engineered.
|
| XMPP was nice. Especially in the old times when Google Hangouts
| and Facebook Chat were also XMPP based. Being able to talk to
| people on another service without needing an account there was
| a nice thing to have for a few months.
| ge0rg wrote:
| The interop was a nice feature implemented by their
| engineers, but it violated the lock-in operational principles
| of the gatekeeper services, so it had to be abandoned. Let's
| see if the EU Digital Markets Act will bring back XMPP
| interfaces to the big ones... ;)
| tcfhgj wrote:
| So far it looks more like walled gardens are the real
| winners.
|
| What you maybe see as overengineering, I see as a
| prerequisite for wider adoption.
|
| These days aren't the old days any more, when you only ever
| used a native app without e2ee on a computer.
| syhol wrote:
| My main problem with matrix is that it feels sluggish. I'm
| told the experience can be improved by running your own
| homeserver so I'll be trying that sometime this year.
| jszymborski wrote:
| In my limited experience, running a homeserver sucked.
| Really hard to do on limited resources. Then again, that
| was a long time ago so maybe things have improved and
| perhaps Dendrite has come along. But Synapse sucked to run
| IME.
| Arathorn wrote:
| Synapse has improved; Dendrite has stagnated due to lack
| of funding; meanwhile there are also rust-native
| homeservers like Conduit which are beta but smaller
| footprint. The plan on the Element side is to keep
| optimising Synapse - the main win to be had is https://do
| cs.google.com/presentation/d/1pKtLl4vCV3-8xz8crvxW...
| jszymborski wrote:
| Those slides were interesting! And I use Claude
| similarly... kinda like Rubber Duck debugging except it's
| like Rubber Human debugging.
| ekjhgkejhgk wrote:
| LOL if using a chat app requires running a server maybe
| better just use something that doesn't suck like XMPP?
| Lammy wrote:
| Pardon my pedantry, but Facebook Chat was never XMPP-
| _based_. They ran an XMPP gateway into their proprietary
| messaging system, but there was no S2S.
| ekjhgkejhgk wrote:
| Watch the most popular clients[1] gain traction as countries
| (e.g. UK) pass laws mandating that tech companies backdoor their
| apps/encryption.
|
| [1] Conversations for Android and Gajim for Debian.
| giancarlostoro wrote:
| I'm slowly building my own XMPP client, one key thing I'm running
| into trouble with is there seems to be no standard library for
| End to End Encryption other than Signal's own, I don't want to
| have to relicense my entire project for one dependency, I would
| rather keep my project Apache licensed. The other problem is
| voice and video options seem to be married to some Java specific
| library (Jingle) which is fine if you're using Java, but I'm not,
| seems nobody has implemented a solution to this in other
| languages that I'm interested in as well.
|
| For the End to End I could try my best to implement it using
| existing libraries as pieces I can use, but I'm not comfortable
| doing that.
| F3nd0 wrote:
| I'm not 100% sure on this in the case of AGPL, but I think you
| don't need to relicense your project if you include AGPL code;
| you only need to make sure your project respects all the
| freedoms the AGPL requires it to (in a suitable way).
|
| So your own code would still be under Apache, and people could
| follow only the Apache conditions if they only use your code.
| But combined with the APGL part, the project as a whole would
| of course have to follow the APGL conditions.
| giancarlostoro wrote:
| GPL and AGPL typically imply that your entire project is
| licensed under those conditions is my understanding. I find
| it silly to licensed something MIT or BSD but pull in some
| GPL code, since now the entire thing needs to comply. GPL is
| about end-user freedom by force against the developer. Don't
| get me wrong I love the GPL, but if I want to use a specific
| license I rather stick to that license.
| singpolyma3 wrote:
| > you don't need to relicense your project if you include
| AGPL code; you only need to make sure your project respects
| all the freedoms the AGPL requires it to (in a suitable way).
|
| correct
| MarsIronPI wrote:
| Maybe someday the Snikket SDK[0] will be ready for use. I
| suppose you could look at it now anyway. Honeybee[1] is already
| using it for voice.
|
| [0]: https://github.com/snikket-im/snikket-sdk [1]:
| https://git.sr.ht/~anjan/honeybee
| giancarlostoro wrote:
| Funnily enough honeybee is AGPL, but snikket is not, I will
| take a peek at Snikket, its interesting that it is in fact
| coded in Haxe. I am always fascinated with the capabilities
| of Haxe.
| singpolyma3 wrote:
| Let me know if you have any questions about the SDK (now
| called https://borogove.dev )
|
| It doesn't have OMEMO in the native builds yet, but that
| will be happening this year.
|
| We do have voice in the native builds but not video yet.
| giancarlostoro wrote:
| Honestly getting voice first would be a good stand out
| feature, even the glorious Pidgin struggles with it.
| tcfhgj wrote:
| https://github.com/matrix-org/vodozemac
|
| seems like to contain a reimplementation of the Signal Protocol
| in Rust - apache licensed.
| giancarlostoro wrote:
| Curious how they managed that, if its 'clean room' its fine,
| if they're looking at the source for Signal, that could be
| bad. Funnily enough, my client is in Rust.
| Arathorn wrote:
| it's clean room.
| jszymborski wrote:
| You might be interested in this article by soatok [0] which
| discusses OMEMO and XMPP. Soatok has many reservations but I
| think if you use the most recent OMEMO version I think it
| should probably be fine.
|
| Also of interest, OpenMLS [1]
|
| [0] https://soatok.blog/2024/08/04/against-xmppomemo/
|
| [1] https://github.com/openmls/openmls
| rlpb wrote:
| It's your choice of course, but in the messaging world of
| gatekeepers and walled gardens, I think AGPL makes the most
| sense. It's a key tool we're going to need if we want to be
| successful at having a federated network.
___________________________________________________________________
(page generated 2026-01-12 23:01 UTC)