Very clearly cut down to the point where it's not feasible for anything outside of toy projects.
Very clearly cut down to the point where it's not feasible for anything outside of toy projects.
The open source version is fully functional and can definitely scale beyond toy projects. You don't get high availability, multi-instance clustering, auto-scaling, multi-region failover etc. built in, but if you put it on a beefy host it can easily handle a large number of users and a very high request rate.
The way I think of it is we give you the fully functional server, but charge for advanced infrastructure and a few advanced features (SSO/Teams).
It's comparable to the open source version of a tool like Vault where you get the server, but need to implement advanced stuff like HA, auto-scaling, networking, etc. yourself, or else use a paid version.
As far as I can see, this is fully available in the open-source version of Vault: https://learn.hashicorp.com/tutorials/vault/ha-with-consul
This is only true if I can be confident that I can replicate the hosted setup with the open-source version if I invested the necessary resources. Otherwise, the existence of an open-source option adds little value. In fact it can turn me off from a product since it'd seem like they're using open source as a marketing hook with no real intention of empowering users to be able to actually move off their hosted platforms.
This is why Vault requires another piece like Consul (plus a whole lot of tricky infra/networking work) to achieve HA.
That said, we could allow users of the Open Source version to specify a url via an env var to look up a host's internal IP so that clustering would work.
Auto-scaling is provider-specific though, so I don't see how that could be baked in. Same with secure networking.
I'll also just say that while we do want the open source version to be fully functional (if a bit more DIY), another motivation for us that I see as equally important for a security product is transparency.
While it's inarguably crucial for any clients implementing end-to-end encryption to be open source, I think there's a lot of value in open sourcing the server as well (regardless of how practical it is to actually run) so that users can know what's happening on the server-side, see that the code is high quality and tested, and so on.