SpectrumIM / spectrum2

Spectrum 2 IM transports
https://spectrum.im
408 stars 91 forks source link

Consider dropping libswiften backend #476

Closed ConiKost closed 1 year ago

ConiKost commented 1 year ago

I propose, that it should be considered to drop the libswiften backend in future. Problem is, libswiften hasn't received for years any updates and last commit was in 2020, while last release is even older. Also, it fails to compile against updated modern dependencies like boost. Debian, for example, already dropped libswiften from debian testing.

vitalyster commented 1 year ago

libswiften is a core library used for transport itself, not just backend. While I'm already started to minimize its usage (see https://github.com/SpectrumIM/spectrum2/pull/470) its near impossible to drop libswiften without dropping XMPP transport at all.

ConiKost commented 1 year ago

Hm, that doesn't sound good, as it's quite possible, that libswiften will be more and more dropped from distros in future.

While I'm already started to minimize its usage (see https://github.com/SpectrumIM/spectrum2/pull/470) its near impossible to drop libswiften without dropping XMPP transport at all.

I always thought, that could be replaced by the purple backend?

vitalyster commented 1 year ago

libswiften was not in "distros" since libswiften2, it was in maintenance mode for decade already. I'm not sure you are fully understand what frontend and backend means in Spectrum context. You are using it as XMPP transport? That part which communicates with your XMPP server is libswiften. You can replace it with another XMPP library but it is a full rewrite of Spectrum "frontend" code. Nobody will do that because XMPP is dead itself. The only correct way to remove libswiften dependency is writing new frontend, say ActivityPub frontend, to transport message from other networks on your Mastodon account, and drop XMPP frontend making XMPP fans cry.