Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. So You Want To Write An Open Source Discord Replacement

So You Want To Write An Open Source Discord Replacement

Scheduled Pinned Locked Moved Uncategorized
104 Posts 58 Posters 48 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • scunneen (he/him) πŸš‹S scunneen (he/him) πŸš‹

    @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.

    PhilI This user is from outside of this forum
    PhilI This user is from outside of this forum
    Phil
    wrote last edited by
    #91

    @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 (he/him) πŸš‹S 1 Reply Last reply
    0
    • PhilI Phil

      @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 (he/him) πŸš‹S This user is from outside of this forum
      scunneen (he/him) πŸš‹S This user is from outside of this forum
      scunneen (he/him) πŸš‹
      wrote last edited by
      #92

      @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.

      scunneen (he/him) πŸš‹S 1 Reply Last reply
      0
      • scunneen (he/him) πŸš‹S scunneen (he/him) πŸš‹

        @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.

        scunneen (he/him) πŸš‹S This user is from outside of this forum
        scunneen (he/him) πŸš‹S This user is from outside of this forum
        scunneen (he/him) πŸš‹
        wrote last edited by
        #93

        @Isofruit @krapp @0xabad1dea I might not include DMs as a feature and instead have people manually create a chat with a single person. This would be annoying but it would make it clear that the conversation is tied to a specific server.

        PhilI 1 Reply Last reply
        0
        • scunneen (he/him) πŸš‹S scunneen (he/him) πŸš‹

          @Isofruit @krapp @0xabad1dea I might not include DMs as a feature and instead have people manually create a chat with a single person. This would be annoying but it would make it clear that the conversation is tied to a specific server.

          PhilI This user is from outside of this forum
          PhilI This user is from outside of this forum
          Phil
          wrote last edited by
          #94

          @scunneen @krapp @0xabad1dea As someone that does use discord I'd say private chats make up about ~20-30% of my usage, the rest being VC and group chats. So I'd agree it's not the *main* use-case, just that it's also *a* major usecase.

          Another thing that might get lost would be server discovery.
          A client could still work if "add server" means pasting in a server-URL somewhere, you could even "mitigate" it by hard-coding the major server instances, it just adds a limitation to be aware of.

          scunneen (he/him) πŸš‹S 2 Replies Last reply
          0
          • PhilI Phil

            @scunneen @krapp @0xabad1dea As someone that does use discord I'd say private chats make up about ~20-30% of my usage, the rest being VC and group chats. So I'd agree it's not the *main* use-case, just that it's also *a* major usecase.

            Another thing that might get lost would be server discovery.
            A client could still work if "add server" means pasting in a server-URL somewhere, you could even "mitigate" it by hard-coding the major server instances, it just adds a limitation to be aware of.

            scunneen (he/him) πŸš‹S This user is from outside of this forum
            scunneen (he/him) πŸš‹S This user is from outside of this forum
            scunneen (he/him) πŸš‹
            wrote last edited by
            #95

            @Isofruit @krapp @0xabad1dea How do you discover discord servers other than someone already on the server giving you an invite link

            PhilI 1 Reply Last reply
            0
            • scunneen (he/him) πŸš‹S scunneen (he/him) πŸš‹

              @Isofruit @krapp @0xabad1dea How do you discover discord servers other than someone already on the server giving you an invite link

              PhilI This user is from outside of this forum
              PhilI This user is from outside of this forum
              Phil
              wrote last edited by
              #96

              @scunneen @krapp @0xabad1dea
              Have an interest and desire to join a community somewhere for that interest.

              With the discovery functionality such as that from matrix and discord I found:
              - Angular Discord Server
              - React Discord Server
              - Nim Discord Server
              - "Shape of Dreams" Discord Server (Gaming)
              - Nim Matrix channel
              - GTK Matrix channel
              - Accessibility Matrix Channels

              etc.

              These do actually have a fairly valid usecase.

              scunneen (he/him) πŸš‹S 1 Reply Last reply
              0
              • PhilI Phil

                @scunneen @krapp @0xabad1dea As someone that does use discord I'd say private chats make up about ~20-30% of my usage, the rest being VC and group chats. So I'd agree it's not the *main* use-case, just that it's also *a* major usecase.

                Another thing that might get lost would be server discovery.
                A client could still work if "add server" means pasting in a server-URL somewhere, you could even "mitigate" it by hard-coding the major server instances, it just adds a limitation to be aware of.

                scunneen (he/him) πŸš‹S This user is from outside of this forum
                scunneen (he/him) πŸš‹S This user is from outside of this forum
                scunneen (he/him) πŸš‹
                wrote last edited by
                #97

                @Isofruit @krapp @0xabad1dea Another option might be to do federation but a very simple form of federation where when using a chat on another server, your server simply acts as an intermediary between you and the other server, authenticating you and forwarding requests and responses between you, without storing any data from the other server.

                1 Reply Last reply
                0
                • PhilI Phil

                  @scunneen @krapp @0xabad1dea
                  Have an interest and desire to join a community somewhere for that interest.

                  With the discovery functionality such as that from matrix and discord I found:
                  - Angular Discord Server
                  - React Discord Server
                  - Nim Discord Server
                  - "Shape of Dreams" Discord Server (Gaming)
                  - Nim Matrix channel
                  - GTK Matrix channel
                  - Accessibility Matrix Channels

                  etc.

                  These do actually have a fairly valid usecase.

                  scunneen (he/him) πŸš‹S This user is from outside of this forum
                  scunneen (he/him) πŸš‹S This user is from outside of this forum
                  scunneen (he/him) πŸš‹
                  wrote last edited by
                  #98

                  @Isofruit @krapp @0xabad1dea Interesting.

                  1 Reply Last reply
                  0
                  • novemberN november

                    @0xabad1dea To clarify about federation, dozens if not hundreds of projects have tried federation, and there are only two that have actual federation and an actually decent UX.

                    Patrick Morris MillerK This user is from outside of this forum
                    Patrick Morris MillerK This user is from outside of this forum
                    Patrick Morris Miller
                    wrote last edited by
                    #99

                    @november @0xabad1dea Everybody wants federation until they get it.

                    1 Reply Last reply
                    0
                    • KrisI Kris

                      @enejjohhem @0xabad1dea

                      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.

                      Kaizo Hellhound :ms_pup_flag: :therian:P This user is from outside of this forum
                      Kaizo Hellhound :ms_pup_flag: :therian:P This user is from outside of this forum
                      Kaizo Hellhound :ms_pup_flag: :therian:
                      wrote last edited by
                      #100

                      @isotopp@infosec.exchange @enejjohhem@mastodon.social @0xabad1dea@infosec.exchange You could just... not enable encryption in your communities, then. But it should absolutely be an option for vulnerable groups where "no full text search :(" and "no automod :(" are less important than ensuring their own safety.

                      Kaizo Hellhound :ms_pup_flag: :therian:P 1 Reply Last reply
                      0
                      • Kaizo Hellhound :ms_pup_flag: :therian:P Kaizo Hellhound :ms_pup_flag: :therian:

                        @isotopp@infosec.exchange @enejjohhem@mastodon.social @0xabad1dea@infosec.exchange You could just... not enable encryption in your communities, then. But it should absolutely be an option for vulnerable groups where "no full text search :(" and "no automod :(" are less important than ensuring their own safety.

                        Kaizo Hellhound :ms_pup_flag: :therian:P This user is from outside of this forum
                        Kaizo Hellhound :ms_pup_flag: :therian:P This user is from outside of this forum
                        Kaizo Hellhound :ms_pup_flag: :therian:
                        wrote last edited by
                        #101

                        @0xabad1dea@infosec.exchange @isotopp@infosec.exchange @enejjohhem@mastodon.social like not to get all Politicalβ„’ but we are seeing attempts to backslide on LGBTQ+ rights and censor queer content in many countries around the world. we can't just design another messaging platform that easily hands over conversation logs from "Undesirable" communities to the authorities.

                        Avery (She/Her)S 1 Reply Last reply
                        0
                        • abadidea0 abadidea

                          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

                          McCovicanM This user is from outside of this forum
                          McCovicanM This user is from outside of this forum
                          McCovican
                          wrote last edited by
                          #102

                          Aye, federation is no silver-bullet against enshittification/EEE tbh (just ask *checks notes* oh, XMPP). Great (ish) if you have 50 niche projects and 10,000 servers on a shared protocol, but even the fediverse barely manages that (and certainly not well). But it also only really protects against the host going all πŸ€‘ – users can (in theory) flee the sinking ship (in theory – product finishes may differ from promotional images, terms & conditions apply, users may only seek redress through non-binding arbitration (while stocks last)). But if you're self-hosting and the project goes all "I think I'd prefer the 24ct trim on the next yacht", you're a bit fucked either way tbh (along with everyone else who uses that project/fork/spoon). And before that, you've got to get your 50 niche projects (and 1 or 2 not-niche projects to coalesce around, because let's be real) to agree to a single protocol. Which, at least when twitter went all goose-stepping, AP was already there.
                          But all we've got now is XMPP and, like, idk lads, we're probably asking a bit much of it to become an actual Discord replacement, even without voice/video. Don't get me wrong, I'd love it to happen, but we're kinda trying to build the runway here while we're already being flung down it at 500kts.
                          "But I don't want to have a bazillion different accounts on different sites!" tbh I don't give a shit. I have a password manager. What I absolutely do not want, however, is a bazillion different apps. That shit stacks up fast, and I don't really expect the vibe-coding crew to be too circumspect about resource efficiency. "Well then just use a web-browsURK *wheeze*" Any other questions? Not-stupid ones, I mean.
                          PS: People suggesting things with per-user pricing structures somewhat catastrophically fail to grasp the last point in the OP.

                          1 Reply Last reply
                          0
                          • Kaizo Hellhound :ms_pup_flag: :therian:P Kaizo Hellhound :ms_pup_flag: :therian:

                            @0xabad1dea@infosec.exchange @isotopp@infosec.exchange @enejjohhem@mastodon.social like not to get all Politicalβ„’ but we are seeing attempts to backslide on LGBTQ+ rights and censor queer content in many countries around the world. we can't just design another messaging platform that easily hands over conversation logs from "Undesirable" communities to the authorities.

                            Avery (She/Her)S This user is from outside of this forum
                            Avery (She/Her)S This user is from outside of this forum
                            Avery (She/Her)
                            wrote last edited by
                            #103

                            @pup @0xabad1dea @isotopp @enejjohhem is there precedent for governments subpoenaing chatroom servers in order to Get pseudonymous queers who aren't planning anything other then the continued existence of the specific community represented by that chatroom? serious question.

                            Avery (She/Her)S 1 Reply Last reply
                            0
                            • Avery (She/Her)S Avery (She/Her)

                              @pup @0xabad1dea @isotopp @enejjohhem is there precedent for governments subpoenaing chatroom servers in order to Get pseudonymous queers who aren't planning anything other then the continued existence of the specific community represented by that chatroom? serious question.

                              Avery (She/Her)S This user is from outside of this forum
                              Avery (She/Her)S This user is from outside of this forum
                              Avery (She/Her)
                              wrote last edited by
                              #104

                              @pup @0xabad1dea @isotopp @enejjohhem i'm not trying to like attack you with a rhetorical question, one of the communities i'm in is planning for what happens if they migrate to a different service and i need to know if this is something we should be preparing for.

                              1 Reply Last reply
                              0
                              • Ryan WildW Ryan Wild shared this topic
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              Powered by NodeBB Contributors
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups