- It's not a lot of times when Discord has a major outage. Most of the months have 100% uptime, and most of the outages are minor, and don't affect a lot of users. With self-hosted servers, it's unlikely you'll ever reach that high uptimes. Also, the Discord team can't guarantee the stability of the whole service if there are lurking self-hosted servers.
- You will lose a lot of the versatility of having a cloud-hosted server. You won't be able to change the region in less than a second if something goes wrong, you'll have to fix it yourself.
- Discord works on the rolling release model, which means they push a lot of code daily to make the service better. This means that, if you had a self-hosted servers, you'd have to upgrade the server pretty much daily, which will get annoying really quickly, and a lot of fragmentation between server versions will occur.
- By self-hosting servers, there is the possibility of a security breach. Some unscrupulous server owners could get their users' IPs and sell them, DDoS the users or worse. That would make bad reputation for the owner, the Discord team and everyone inbetween
- Even if you could possibly self-host your own server, what would be the point. Most of the times, it's the gateway/API that go down. And when that is down, well, your self-hosted server won't do much, since you are required to go through the gateway to authenticate and use the program. The only reason I could think of for having a self-hosted server would be for LAN parties and other things like that, and even then, it would only be useful for voice, not text.
-- Revision 2 --
- Discord (probably) has a very large and complex infrastructure that is not easy to maintain. It probably wouldn't be easy to make a binary that would be easy enough for normal users to run on their computers and be compatible with the existing infrastructure. Even if it was possible, it would cost an enormous amount of time and money which could be spent on expanding the platform and fixing bugs for everyone instead.
This is my opinion on why Discord will probably never get a self-hosted server binary. Feel free to contact me over on Discord (DoNotSpamPls#8787) if you think I can improve this, if I was wrong somewhere, or you just want to rant. idc
Mostly agree with @databoose, chances are that the only reason why self-hosted isn't a thing in Discord is that there is just not a market for it and they would probably not make any profit from it. It would require some development time to set up, write documentation, create server binary releases and so on. And in return - even if they monetize it somehow, I think people who would self-host Discord servers would be the extreme minority. Discord isn't Slack and there isn't some grand requirement for data location - it's mostly for gamers, and as long as it does its job, nobody gives a shit about the servers. They are better off spending development time on something else.
The more interesting question is why doesn't Slack or MS Teams have self-hosted servers, and I think the answer to that is that it would just be too unprofitable to decouple their infrastructure from the servers themselves in a way that lets you be in control of all your data as a server owner. There are already other self-hosted alternatives like Rocket.Chat anyway, so I'm not sure that this would be some profitable unexplored share of the market. Products like Jira and the rest of the Atlassian package offer self-hosting, because they have a lot of specialized functionality that is valuable even when you have to host it yourself. Chat applications like Discord or Slack don't really have that many interesting features aside from the fact that you don't have to host anything, so you're better off just using an existing open-source solution which allows self-hosting if you need it for any reason.