In reaction to the impending invasion of privacy #Discord wishes to force upon all of its userbase, along with a desire to use open source and community-run platforms over proprietary, VC-backed platforms, I have created an #OpenRGB guild on #Spacebar. If you don't know, Spacebar is an open source, self-hostable Discord alternative. Their intention is to replicate Discord's API and user experience.

https://fermi.chat/invite/36WvoE?instance=https%3A%2F%2Fspacebar.chat
Invite

Accept this invite for a Spacebar guild

@OpenRGB
> Spacebar is an open source, self-hostable Discord alternative. Their intention is to replicate Discord's API and user experience

Huh. Like Stoat.chat (formerly Revolt.chat).

Would be good if these projects federated in some way. But hard to say whether it would make more sense to use Matrix or XMPP/MUC to federate with other chat rooms, or ActivityPub to federate with the forumverse.

@strypey It sounds like the Spacebar devs aren't opposed to the idea of federation but it would be a challenge to implement it on a project aiming to 1:1 replicate Discord's API. I don't think Stoat/Revolt aims to reproduce Discord in a perfectly compatible way.

@OpenRGB
> it would be a challenge to implement it on a project aiming to 1:1 replicate Discord's API

Why's that?

> I don't think Stoat/Revolt aims to reproduce Discord in a perfectly compatible way

AFAICT they aim to completely clone its functionality. I get the feeling this isn't what you're getting at though. Maybe the answer to the question above might help me grok what you're saying here.

@strypey @OpenRGB Spacebar's goal is quite literally implementing Discord API, so with small adjustments to Discord bots you can use them on Spacebar. You can even point a Discord client at a Spacebar server if you know how to patch it.

@emergencygg
> Spacebar's goal is quite literally implementing Discord API

Good to know. Was that an answer the comment you're replying to, or just a general comment on the topic of the thread?

@OpenRGB

@strypey @OpenRGB To the comment, to answer how it's different from Stoat. Stoat has the functionality as Discord, but is not compatible with its APIs. Stoat is mainly developed to be its own competitive platform, while Spacebar is mainly developed to be a self-hostable Discord backend.

@emergencygg
> Spacebar is mainly developed to be a self-hostable Discord backend

Ok, so how would one use it? I doubt the standard Miscord apps allow a choice of server.

If you mean an app backend, I doubt Miscord will continue to let off-brand apps connect to their platform if a lot of people start doing that. We've been through this with Xitter, dReddit, YouTub, even Signal. We know exactly where this road leads.

@OpenRGB

@strypey @emergencygg There are clients designed for Spacebar like Fermi (the recommended web client) and a few others in development, but you can also modify the official Discord client to point to different servers or modify other unofficial Discord client. Fermi looks a lot like Discord UI-wise.

@OpenRGB
> There are clients designed for Spacebar like Fermi

If a community stops using both the Miscord servers and their apps, why is it helpful to implement the Miscord API? What am I missing?

> you can also modify the official Discord client to point to different servers or modify other unofficial Discord client

Good to know. But again, why would Miscord continue to allow this if people start doing it on a large scale, when other platforms haven't under similar conditions?

@emergencygg

@strypey @emergencygg There are plenty of precedents that APIs are not protected. Reimplementing an API is legal, Discord can't do anything about that, as it's not using any of their software directly, at least it isn't required to.

However, it means Discord bots will work on Spacebar and it provides a familiar user experience to what people already know from Discord, as the API does tend to guide user interface direction and Fermi looks a lot like Discord.

@emergencygg
> Discord cannot physically stop the reverse (people from connecting the official Discord client to a Spacebar backend server)

Is the Miscord client Free Code? If not, (EDIT) they can continually ship new versions of the app that break whatever is being used to connect to non-Miscord servers.

@OpenRGB
> Discord bots will work on Spacebar

OK, I see how that could be useful as a transitional thing.

> API does tend to guide user interface direction

As I understand it, an API (in this context) defines how clients can use server functions. An interface can't offer server-dependent features not offered by the API, true. But otherwise I can't see how it determines anything about the interface of the apps using that API.

@emergencygg

@strypey @OpenRGB It's possible for Discord to continuously update their API so that their newest clients can't be used to connect to Spacebar backends (in which case they would also break Discord bots). In such a case, it would still be possible to connect the old clients, and bots, to Spacebar. I'm not actually sure why that would be advantageous to Discord.

This isn't what Twitter and Reddit did either, they introduced/increased the pricing of connecting to their backend servers (the "connect Spacebar client to Discord backend" scenario). Similarly Signal does not allow other clients to connect to their own backend, but you can run your own separate backend.

@emergencygg
> It's possible for Discord to continuously update their API ... in which case they would also break Discord bots

There's all sorts of checks they can add to ensure their client can only connect to their servers. They don't need to change the API in a way that isn't backwards compatible with uses they approve of.

My point is that the Miscord client is a SPoF and it's unwise to rely on being able to use it with Spacebar. But I'm sure you know that, which is why Fermi.

@OpenRGB

@strypey @OpenRGB Alright, I don't know enough about patching clients so I'll take your word for it.

I think I may have misunderstood what you want to know as well since I thought you were overall trying to get an idea why the project would be able to exist without getting shut down. As you said just now, even if the newest official client could not be connected to Spacebar, any 3rd party clients and bots and older clients can, so it wouldn't be a death sentence for the project (and as mentioned most people are not using a patched client to begin with).