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 120 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.
  • 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
                                      • 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
                                          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