Prav - A Free Software Challenger To WhatsApp
Do you care about Free Software but still end up using WhatsApp for your messaging needs? It is ironic that a large part of the Free Software community in India is still using a proprietary software — WhatsApp — for their everyday communications.
Some of these people are obliged to do so by their workplaces or other entities they interact with; for others, it is largely to do with lack of awareness and the inertia of moving to a different platform.
Those of us who are living without WhatsApp are forced at times to depend on family and friends in situations where WhatsApp is practically mandatory for an essential service, like sharing documents with government officials. (We sometimes manage to share them via email, but this is often a struggle and not always an option.)
What is Freedom-Respecting (Swatantra) Software?
For the uninitiated, Free Software is software that gives people the legal freedom to run, study, modify, and share the software. If you're new to Free Software, you may think these freedoms are very nice, but useful only to programmers. The truth is that these four software freedoms are important for everybody.
Easiest to understand is the freedom to run software with no restrictions on which devices you can use it on, or on how many, or—thanks to the related freedom to share—whether you can share that software with your friends. On a larger scale, this makes Free Software projects more resilient: even if the original creator stops publishing the program, others are legally permitted to share it, so the program can outlast its authors rather than disappearing overnight.
But what exactly is that software is doing? Is it really just an alarm clock or also listening in to send your conversations to advertisers? Such situations are where the freedom to study comes in. It allows anyone to read the program's source code and see what it does. We are not all going to read it, but if something shady is going on it's likely that someone will find out—thanks in part to companies and security researchers dedicated to reviewing and auditing code. And finally, once you know how the code works, the freedom to modify allows you to change it! Whether there's a feature you want to remove or a new one you'd like to add, anyone can change the code to work the way they want—or hire people to do so.
Scribus is a good example to illustrate the power of these freedoms. A Free Software desktop publishing solution (similar to proprietary products like Adobe Pagemaker or InDesign), Scribus originally, had support only for the Latin script—that's the one used by European languages like English, German, and French. In 2015, the Government of Oman funded developers to add support for Arabic languages to Scribus, and released the improvements as Free Software. This ended up benefiting all Indian languages too, since much of the logic to support Arabic was also needed for Indian languages.
As you can see, while Free Software is often modified by developers voluntarily contributing their time, governments, organizations, and user communities can (and do) also raise funds to pay developers to adapt a software to fit their needs. Funds? Yes! The "Free" in "Free Software" is about freedom, and not cost—it can involve money. English doesn't distinguish between the two kinds of "free", but fortunately most Indian languages do.
The magic of Free Software is that even if only a particular group is funding changes, those changes are released to the public so that everyone can benefit.
Free Software For Communication - A New Challenge
Unlike earlier campaigns by the Free Software community against proprietary operating systems like Microsoft Windows, a campaign against proprietary messengers like WhatsApp is inherently more difficult.
Replacing Windows with GNU/Linux is mostly a personal choice. The availability of most desktop software (or replacements) across various distributions makes it relatively easy to do. (Asahi Linux now offers a similar choice to owners of new Apple computers, although it is still very experimental and not for the faint of heart). The fact that many modern "applications" run on the browser makes changing operating systems even easier. Incidentally, this is a reminder that it's time to push back against proprietary online services too.
For messaging services, on the other hand, the decision is not merely a personal one. Changing over to a different service requires convincing all our contacts to do the same — and that could include people who have power over us, such as teachers, employers, or parents. Bringing people over to a platform more aligned with our goals needs a coordinated and long-term campaign, ideally coordinating with entire groups of people (a class, a campus, a residents' association) to switch over at the same time.
The Volkswagen Story of Cheating with Proprietary Software
The Volkswagen emissions scandal is a good reminder about what can happen when we blindly trust companies and proprietary software.
The United States of America has strict rules about the maximum amount of emissions a car can release. Since diesel cars were a new phenomenon, these were being heavily scrutinised. In 2013, a group of engineers realised that many Volkswagen cars being sold in the US had a "defeat device"—or software—in their diesel engines, that could detect when they were being tested, and could change the car's performance accordingly to improve results!
The German car giant has since admitted to cheating emissions tests in the US, and was ordered to recall 482,000 of their cars. The only reason this incident came to light is because some engineers decided to measure emissions not just in the testing centre but also directly on the road.
Like Volkswagen's drive-control software, WhatsApp is proprietary. Their source code is kept secret, which means we cannot audit their claims independently. We do not know if they insert backdoors (defeating their claims of end-to-end encryption) or are collecting data they claim not to be collecting; the only option we have, is to blindly trust their software. WhatsApp could engage in - or may already be engaged in - a similar kind of cheating as Volkswagen, whether willingly or through government coercion.
Private Data Collection and Centralisation
When the Volkswagen scandal broke, people at least had the option of choosing a different car brand. Unfortunately, the same cannot always be said of messaging apps. With WhatsApp being the dominant solution in most of the world—and definitely in India, this gives it an outsized influence on all our private communications.
All earlier communications methods like post, fax, telegrams, and the mobile phone allowed for multiple providers—or, at the very least, a different provider for every country—so that even if one broke down, another would continue. With phones and number portability the situation is even better: companies providing better services get rewarded with more customers whereas those with poor services are motivated to improve.
By contrast, you can talk to a WhatsApp user only through WhatsApp. This means that you are forced to use it to communicate with that WhatsApp user even if you don't agree with WhatsApp's policies, or hate its user interface, or just want to avoid having a single entity be harvesting data for the majority of the online population. On the flip side, when WhatsApp crashes—as has happened a few times in the past—then due to the lack of parallel alternatives it can cause disruptions across the entire globe.
What is Prav?
Prav is a Free Software messaging service using the open XMPP protocol. Many XMPP apps and services exist, but they often require investing time to learn how everything works. Prav aims to make the experience as user-friendly as well-known messaging apps. This makes it easier for people to leave WhatsApp for more free standards and services.
This process was already initiated by Quicksy, a Free Software project focused on easy signup and onboarding. Many of us at the Prav project recommend Quicksy to our friends, while we ourselves message them using other apps that need more manual steps. In fact, the Prav app and server are both based on the Quicksy code - we added support for message deletion and moderation to the app, and support for new Twilio SMS gateway API used to send SMS OTP was added to the server. Thus, Prav demonstrates how Free Software empowers users to take control of the software they use and customise it to fit their needs.
Prav aims to take Quicksy's mission further by actively promoting its approach to a wider audience — while at the same time working to improve the service and make it even more user-friendly. As described below, we are attempting to take a more democratic approach to this, rather than having a core team making all the decisions.
Free Software As A Guarantee Against Cheating
Since Prav and Quicksy are Free Software, the code we run can be audited to verify claims independently, rather than having to blindly trust them as in the case of WhatsApp.
Those of us who are more interested can also self-host the software — we can run our own version of the Prav service (or any XMPP software such as ejabberd or prosody), either as individuals or collectively. There's no trust as strong as trusting yourself (though it involves cost and/or effort in running the service)! Thanks to the federated nature of XMPP, the different instances are compatible - Prav users can communicate with Quicksy users and users of other XMPP servers like disroot.org or diasp.in without having to leave their own app and service.
It must be noted that Free Software and self-hosting can only protect you against mass surveillance. No software can offer foolproof protection from laws that compel you to provide access your personal devices - in such cases, you need to engage in political action to change your government's policies.
Cooperative for Democratic Control with Prav
Prav is in the process of being registered as a Multi State Cooperative Society and you can sign up to be a member of that cooperative.
This means Prav will be owned by its users, rather than being owned by investors or backed by another company. Decisions, such as what to include in the privacy policy, and terms of use, how to spend funds, what features to develop next, and so on - will be taken democratically by the users through the cooperative. (Not every Prav user is automatically a member of the cooperative, but any user is welcome to register and join, as are other interested members of the public.)
Our proposed cooperative society draws ideas from the Platform Cooperativism Consortium, which describes 'platform cooperatives' as "businesses that sell goods or services primarily through a website, mobile app, or protocol. They rely on democratic decision-making and shared platform ownership by workers and users." The Platform Cooperativism Consortium poses this as "an alternative to venture capital-funded and centralized platforms, putting stakeholders before shareholders".
Current Status of Prav
Prav is currently in Public Beta and you can install it from F-Droid ) (F-Droid is an app store for Android which only provides Free Software). Before we release the app for the general public, we want to release it on Google Play Store, setup up backups of the server, and hire a system administrator to manage the service. You can donate or pre-order an account (it is free of cost before we make a general release, but we will collect money directly from users to meet expenses of running the service and developing new features) to help us release sooner. If we manage to secure grants to meet the expenses, we could offer the service free of cost as well.
Users Improving the Software
To determine a priority list of features for Prav, we conducted a survey to find out which were the most widely-desired. Some of the top features like deleting own messages and moderating group messages have already been implemented.
We are also utilising the right to modify provided by Free Software to offer you the choice of hiding your phone number from other users Quicksy uses the phone number as the username, which in some cases allows others (like room admins or users of other networks like IRC or Matrix when using a bridge software that connects these networks with XMPP) to see your phone number. We want to change this, while still allowing users who have your phone number to discover you on Prav.
In the spirit of improving Free Software and sharing our improvements, we are raising funds and hiring a programmer to implement this feature. These efforts also demonstrate in practice that the right to modify is available to users without programming skills, nor limited to companies/governments with lots of money.
If you find this important, please contribute to the fund raising campaign. https://pages.razorpay.com/pl_NseNHjx2s9qd00/view?reason=Custom+Username+Support
The Apple Dilemma
Prav has raised funds for building Prav on iOS through a similar crowdfunding campaign, and have a developer working on it. Prav iOS is based on another Free Software messaging app, Monal.
Apple is not really a company we want to support, but through community discussions and polling we realised this is an important feature for many. If Prav does not support iOS, the presence of even one iOS contact makes it impossible for a group to migrate to Prav. The iOS user could still use an existing XMPP-based messenger, such as Monal itself, to join Prav group chats and conversations. But that would only work if they were motivated enough to learn more about XMPP in the first place.
This issue serves as a reminder for what we mentioned in the beginning of this article - moving to a new messenger is, unfortunately, not entirely a personal choice. We need to think about various strategies for addressing this challenge - the high social cost of replacing WhatsApp.
Spreading Awareness
Prav is not just about the technicalities of software, but also about effecting social change. We go to events and setup booths or stalls to promote Prav — but also, along the way, to spread awareness about issues like privacy, software freedom, and the ability to use your messenger of choice. We don't expect to convince everyone right away, but we believe that with active marketing and repeated exposure, awareness of these ideas will spread to more people.
While meeting people is more effective, we don't remain silent once the events are over, either. We also promote the project on social media like Mastodon, to spread the same ideas there.
We are able to challenge a big company like WhatsApp thanks to the freedoms offered by Free Software, as we had Quicksy readily available as a foundation for Prav. Now it's our job to pay it forward by building a community around it.
Getting Involved With Prav
- Install the Prav app from F-Droid and share your feedback to improve it.
- Join as a member of the proposed Prav cooperative.
- Promote Prav/Quicksy/XMPP among your friends and family.
- Donate to Prav, pre-order an account, or promote and participate in our fundraising campaigns.
- Talk to people about Prav, and volunteer for organizing Prav booths/stalls at events
- Volunteer to design posters and awareness aids, or to help out with programming and technical tasks.
You can learn more about the project at https://prav.app
Written collaboratively by Praveen, and Badri with feedback from Ravi, Benson and contrapunctus.