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 97 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.
  • Kevin Karhan :verified:K Kevin Karhan :verified:

    @catsalad @maswan @0xabad1dea meanwhile anyone who never used #discord is laughing in #IRC, #Mumble and #JitsiMeet...

    https://infosec.space/@kkarhan/116058411874869363

    Kevin Karhan :verified:K This user is from outside of this forum
    Kevin Karhan :verified:K This user is from outside of this forum
    Kevin Karhan :verified:
    wrote last edited by
    #80

    @catsalad @maswan @0xabad1dea also #Centralized big ass app / platform = bad!

    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

      R.O.S.I.E 5448R This user is from outside of this forum
      R.O.S.I.E 5448R This user is from outside of this forum
      R.O.S.I.E 5448
      wrote last edited by
      #81
      Quasi-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;
      1 Reply Last reply
      0
      • tshepangT This user is from outside of this forum
        tshepangT This user is from outside of this forum
        tshepang
        wrote last edited by
        #82

        @ury easy export and ability to self-host should handle these goals, or do you also want server/instance interoperability

        1 Reply Last reply
        0
        • VarxV Varx

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

          ? Offline
          ? Offline
          Guest
          wrote last edited by
          #83

          @varx @0xabad1dea its a very polished experience for the most part, also profile customisation and the cool bots discord already has

          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

            TheMagicalCC This user is from outside of this forum
            TheMagicalCC This user is from outside of this forum
            TheMagicalC
            wrote last edited by
            #84

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

            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

              Marco VillaltaV This user is from outside of this forum
              Marco VillaltaV This user is from outside of this forum
              Marco Villalta
              wrote last edited by
              #85

              @0xabad1dea You know what I would *really* like? A modernised Usenet.

              1 Reply Last reply
              0
              • Kevin Karhan :verified:K Kevin Karhan :verified:

                @RandomDamage @nojhan @0xabad1dea Sadly, #Mattermost is only "open core" and thus #OpenWashing...

                https://infosec.space/@kkarhan/116058411874869363

                Random Damage ๐ŸŒปR This user is from outside of this forum
                Random Damage ๐ŸŒปR This user is from outside of this forum
                Random Damage ๐ŸŒป
                wrote last edited by
                #86

                @kkarhan @nojhan @0xabad1dea charming.

                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.

                  cinuxC This user is from outside of this forum
                  cinuxC This user is from outside of this forum
                  cinux
                  wrote last edited by
                  #87

                  @enejjohhem @0xabad1dea @isotopp

                  Aber bei WhatsApp klappt es doch auch... ๐Ÿคก

                  1 Reply Last reply
                  0
                  • Ratsnake Games ๐Ÿ”žR Ratsnake Games ๐Ÿ”ž

                    @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

                    U This user is from outside of this forum
                    U This user is from outside of this forum
                    Joshua Miller
                    wrote last edited by
                    #88

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

                    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

                      U This user is from outside of this forum
                      U This user is from outside of this forum
                      Joshua Miller
                      wrote last edited by
                      #89

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

                      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

                        Jeroen MassarJ This user is from outside of this forum
                        Jeroen MassarJ This user is from outside of this forum
                        Jeroen Massar
                        wrote last edited by
                        #90

                        @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 ๐Ÿ˜‰

                        1 Reply Last reply
                        0
                        • 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
                                          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