spl0k / supysonic

Supysonic is a Python implementation of the Subsonic server API.
https://supysonic.readthedocs.io
GNU Affero General Public License v3.0
259 stars 57 forks source link

Ongoing work to extend subsonic API #242

Open Tolriq opened 1 year ago

Tolriq commented 1 year ago

Hi,

There's currently an ongoing work to try to expand the Subsonic API and improve the global ecosystem around it. Since you have been mentioned it would be nice if you were interested in participating.

See https://support.symfonium.app/t/expanding-subsonic-api/1115 and https://support.symfonium.app/c/subsonic-api-extensions/11

spl0k commented 1 year ago

Interesting, I'll chime in.

ivan-avalos commented 1 year ago

I wouldn't trust an API initiative from a proprietary app.

Tolriq commented 1 year ago

What a strange point of view care to elaborate?

If you had read just a little you'd see how it's proposed and even the proposed public org own by the servers ....

ivan-avalos commented 1 year ago

Yes, you're right. I should have read it. However, I'm still wary of this. For example, the server identification proposal might encourage server developers to introduce non-standard features that clients would need to handle especially, introducing a lot of fragmentation in the ecosystem, giving dominance to the most popular implementations. I would really only stick to semver.

Remember that even if the web is full of standards organizations, Google still has the lead and is a quasi-monopoly!

Tolriq commented 1 year ago

The thing is that the goal of this is specially to fix the current status of Subsonic. It's gone closed source and the definition is not clear. Every server currently implementing the API have subtle differences in the handling making the life of all clients difficult. The server identification part, is just here to help clients to deal with the current differences between servers.

The rest and future is proposed via the extensions, allowing servers to follow the API at their pace, without having to deal with tons of changes, and not being able to add a feature until it had support for the 12 or 20 others from that new version.

Subsonic API lacks quite a few things to rivals with the other media centers now, the solution is either to bring something easy for the servers to maintain or stop using Subsonic, and use each server specific API. Most servers already have their internal API to do things that Subsonic does not support, but that would mean, less clients, and would do exactly what you fear, generate monopoly, if only one server publish an API and have the best clients, many users will move.

baldurmen commented 5 months ago

There's also the OpenSubsonic effort:

https://opensubsonic.netlify.app/ https://github.com/opensubsonic/open-subsonic-api

Tolriq commented 5 months ago

This is actually the result of all that work ;) Not something else.