Earlier quoted context omitted.
Snap server is non-free software. Without reverse engineering the protocol, it is impossible to host your own snap repository.
This is not true. Other companies have and do most their own snap stores.
According to this Ubuntu documentation [3], the "dedicated snap stores" are just Canonical-hosted snap stores with more granular control, which isn't equal to hosting your own snap store.
There is an open-source implementation of snap store [4] which (assuming it works and someone is using it) would fall under "reverse engineering the protocol" part of my post, because the guy who wrote it reverse engineered the protocol [5]. Assuming that it works, this is the only part of my post that is not completely accurate - it is technically possible to host your own snap server without reverse engineering the protocol yourself, but that's only because someone else already did it. But Canonical could change the protocol any time and render this implementation obsolete, as they've done in the past [6].
[0] https://hackaday.com/2020/06/24/whats-the-deal-with-snap-pac...
[1] https://askubuntu.com/questions/1383583/is-it-true-that-snap...
[2] https://merlijn.sebrechts.be/blog/2020-08-02-why-one-snap-st...
[3] https://ubuntu.com/core/docs/dedicated-snap-stores
[4] https://github.com/freetocompute/kebe
[5] https://forum.snapcraft.io/t/announcing-project-kebe-open-so...