Many projects, e.g. GitLab, BitWarden, EasyRedmine, use open source software licenses. Their code is publicly available, and the services can be self-hosted. Of course they can charge users for providing the infrastructure and hosting the cloud service.
In the following I'll use BitWarden as an example.
BitWarden also charges users for self-hosting such a service, although with client and server code being open source, it can (at least partially) be hosted on-premise for free, and people do it.
The (A)GPL parts of the software seem to be sufficient for some users, so the non-cost-free parts rather seem to provide advanced features for enterprises.
As defined here, it is not allowed to charge royalties for the software under approved open source licenses such as GPL and AGPL, and BitWarden complies with that by publishing some modules (CommCore, Sso) with a different license.
How does that license model work in practice/technically?
The code under those non-cost-free folders Sso and CommCore seems still to be provided with sources. How can BitWarden prevent a company from running it for free if the code is available?
- if there is a license check in the provided source code, imho it could just be removed (*).Is BitWarden relying on users being honest (i.e. it's a business model based on trust, or on disproportionate costs for self-hosting)?
- or is there a way to enforce the usage of a license by some technical means (even if sources are available)?
(*) I have no intentions of doing so, this is just for the sake of understanding the business model and technology. It may be illegal to remove a license check if the code is published is under BitWarden license.