So You Want To Write An Open Source Discord Replacement
-
@the_wub @0xabad1dea
Without giving it too much thought… yes.…after a couple seconds of thought, I’m thinking of a fun but balkanized ecosystem of apps built around the open protocol, and later someone coming uo with a very polished and elegant client app that becomes very popular, and then the developer“embracing and extending” the protocol to create yet another walled garden fueled by VC and insatiable greed.
Which brings me back to, how do we prevent this cycle from repeating?
@freediverx @0xabad1dea There is no app, no matter how polished and elegant that will be seen as "polished and elegant" by all users.
Who controls the protocols, how changes are defined is the way to keep control away from those with insatiable greed.
FOSS does allow for forks so as long as forking a protocol is possible then control can always be wrested from the greedy.
This is impossible with systems such as FaceBook and Twitter where one company controls everything.
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use it@0xabad1dea what is
- a user interface that is Normal
???
- Because #Windows-esque #UI & #UX is fucking atrocious brainrot and I refuse to accept such neurotypical, proven-to-be-wrong horseshite to begin with!
For anyone reasonable, there's @zulip, @RocketChat and #IRC + #Mumble & #JitsiMeet already...
Remember:
DUMMY THICC APP & CENTRALIZATION = BAD! -
note that I didn’t even touch on audio/video calls and screen sharing, which are HEAVILY used features of discord, but we can start with “a solid chatroom experience” as the minimum viable replacement; if you can’t get that part right, discussing the rest with a straight face is clownshoes
@0xabad1dea #Zulip & #RocketChat do that if you want to have logs like a fed and suffer from FOMO so you can't use #IRC...
-
@0xabad1dea things you need : enough furries on the team?
@archiloque @0xabad1dea transfem furries!
- They may also make reproduceable builds on #nixOS for all OSes whilst at it...
-
@0xabad1dea@infosec.exchange discord has multiparty end to end encryption so you do actually need this for voice and video data
@froge @0xabad1dea or you could just seperate #Chat and #Voice functionality into smaller tools...
-
@nojhan @0xabad1dea considering where we are and who you're replying to, maybe the source repo would be a better place to direct people?
(It's on github, but things could be worse)
@RandomDamage @nojhan @0xabad1dea Sadly, #Mattermost is only "open core" and thus #OpenWashing...
-
@maswan @0xabad1dea Two cats and a French cat? Heck yeah!
@catsalad @maswan @0xabad1dea meanwhile anyone who never used #discord is laughing in #IRC, #Mumble and #JitsiMeet...
-
@catsalad @maswan @0xabad1dea meanwhile anyone who never used #discord is laughing in #IRC, #Mumble and #JitsiMeet...
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use itQuasi-federation (each 'server' is controlled by a single instance that acts as the final authority on What Happened) is very useful to avoid lock-in, though;
-
@ury easy export and ability to self-host should handle these goals, or do you also want server/instance interoperability
-
@0xabad1dea as someone who uses discord mostly as IRC but with emojis and images... What *are* the main reasons people use discord? Like this seems like there should be so many open alternatives, but I'm obviously missing something.
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use it@0xabad1dea for a minimum viable replacement, sure you don’t need end to end encryption. But I hope that someone can design E2EE seamless enough that users barely notice, so we can avoid things like Discord selling users out to the feds for making fun of Charlie Kirk.
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use it@0xabad1dea You know what I would *really* like? A modernised Usenet.
-
@RandomDamage @nojhan @0xabad1dea Sadly, #Mattermost is only "open core" and thus #OpenWashing...
@kkarhan @nojhan @0xabad1dea charming.
-
A system with end-to-end encryption has no access to message content on the server because that is literally the definition of E2E encryption.
That means you will never have access to past content – you weren't in the receiver list of a channel when the message was sent, and you won't retroactively get it, because the server cannot add you. You are essentially joining an empty channel or even server.
That also means that the server cannot look into message content, for example to identify and autoban spammers, work on message moderation or otherwise do what anybody would reasonably expect a server to do in terms of safety and abuse control.
It also means that the server cannot provide you with a meaningful server based search at all. Instead the client has to download the content it has keys for and then search locally. That won't happen except on desktop devices, and even there it won't work well.
You could add a server machine user to every message so that search and automoderation would have access to message content. But that means effectively you don't have, and don't need end, and don't want to end-to-end encryption.
Which you don't.
It's not a cool feature, for anybody except the most limited set of users, and these will still hate every second of the experience they are forced to have by their circumstances.
@enejjohhem @0xabad1dea @isotopp
Aber bei WhatsApp klappt es doch auch...

-
@0xabad1dea @gabboman if you don't make it distributed, you also have to host the entire bloody thing - which gets expensive once you add video chat and/or screensharing at any meaningful scale
@ratsnakegames @0xabad1dea @gabboman I'm not sure it's true that adding video/screensharing would significantly increase cost. I think the centralized service could facilitate establishing the network link between the parties and have them send the feed more-or-less directly. But I may simply be mincing words here - that could be interpreted as making it distributed.
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use it@0xabad1dea (mute acknowledged; replying anyway) AFAICT, there are many jabber clients and servers that fulfill that checklist and have for ages. It's also got a bunch of the nice-to-haves, and options for most of the other features.
IMO, Pidgin did a terrific job as a client, and there is support for voice. Screen sharing is available but it seems there were some security issues with some of those plugins. FWIW, I'm not a fan of the large window interfaces used by Teams, Slack, etc...
-
So You Want To Write An Open Source Discord Replacement
Things you don’t need:
- federation/distributed systems
- multiparty end-to-end encryption
- an entirely new operating system kernel specially designed to—Things you DO need:
- a user interface that is Normal
- the ability to use languages other than English and writing systems other than Latin
- higher standards of user experience than how irc actually works in the real world
- any fucking clue how Discord works and why people use it@0xabad1dea @cadey oh..... so I do not need to write the Operating System.... that makes things a bit easier…..

The largest issue that overrules all technical work is marketing: you need users, you need the first several thousands to not pay, but you do not need to have ads so that they learn about it and have those ads everywhere so that people know that your tool exists.
PS: For those that do consider doing one with e2ee: MLS (RFC 9750) now exists

-
@krapp @0xabad1dea I think when she says no federation she means that each organization hosts its own server which functions completely independently of others. Since discord is divided into different "servers" which you have to switch between, its fine if its replacement makes you switch between different REAL servers in order to message different groups.
@scunneen @krapp @0xabad1dea So basically - The servers are fine if they do not communicate, the clients just need to be capable of swapping between server instances? Overall sounds like it could work.
That *does* open up a weird UX setup though that the DMs between User A and User B are bound to a specific server.
So suddenly you can have *multiple* DM conversations with the same User as long as you both share multiple servers. -
@scunneen @krapp @0xabad1dea So basically - The servers are fine if they do not communicate, the clients just need to be capable of swapping between server instances? Overall sounds like it could work.
That *does* open up a weird UX setup though that the DMs between User A and User B are bound to a specific server.
So suddenly you can have *multiple* DM conversations with the same User as long as you both share multiple servers.@Isofruit @krapp @0xabad1dea Yeah, that could be weird. However I don’t think person to person DMs are the main use case of Discord— signal works well enough for that. My impression of discord is that servers are generally created for some sort of social group— a college club, all the students in a specific class, a Minecraft server, etc— to be a place to talk about things relevant to that group or activity.