Last week’s article discussed the main ethical motivation behind the distributed architecture of Jami, which is to protect users’ privacy and give them back full control over their data. While this is a noble cause, there are also practical advantages to this architecture that we leverage in order to gain a competitive edge.
Our business model for Jami relies mainly on the sell of our professional consulting services for integration, development and support to organizations who use Jami internally. This is what makes it possible for the development of Jami to be sustainable despite being a Free and Open Source Software that anyone can use at no cost and without having to collect and monetize user data or rely on donations.
This business model allows us to leverage Jami’s distributed architecture in several ways, which brings us to the practical motivations for this design, the first being scalability. Traditional communications applications need to cover the cost of maintaining a considerable server infrastructure in order to provide their services. Those costs are mainly driven by the bandwidth, performance and storage requirements of the application which grow with the number of users. Comparatively, the marginal cost of adding a user to the Jami network is zero, allowing us to expand it almost indefinitely without economic constraints and focus our resources on the development of the platform.
Another important advantage of Jami’s distributed architecture is resilience. Since there is no server necessary, there is no single point of failure and Jami users can continue to communicate with each other as long as they have an internet connection. Each user contributes to making the network more resilient by increasing the system’s redundancy and helping each other establish peer to peer connections with OpenDHT. Even if we completely stopped our operations the service would not be interrupted, which is important for our business customers and regular users alike.
The final major advantage of the distributed design is autonomy. Jami users can communicate even without the internet if they are connected to the same local network. This opens the door for many use cases that would not be possible otherwise and creates business opportunities for on premise communication requirements.
To conclude, the distributed architecture of Jami brings many advantages including privacy, scalability, resilience and autonomy. However if distributed architectures were without compromise, we would probably see them everywhere. They also have many drawbacks that we will discuss in the next article along with the solutions that we came up with to face them.
By François Naggar-Tremblay – Jami Product Manager