How the Signal messenger creates a lock-in effect

The Signal messenger (formerly TextSecure) is free software, licensed under the GPLv3. On the Android operating system however, it depends on Google Play Services, a proprietary background service. When a fork of Signal called LibreSignal removed the dependency on Google Play Services, Signal author Moxie Marlinspike commented I'm not OK with LibreSignal using our servers.

Marlinspike also rejected an offer to federate with other servers and openly opposed open and interoperable communication standards: I understand that federation and defined protocols that third parties can develop clients for are great and important ideas, but unfortunately they no longer have a place in the modern world.

Marlinspike wrote that he wants complete control over client software: Signal and LibreSignal work almost the same – only because the creators of Signal cannot push updates to LibreSignal users, Marlinspike rejects it. A Hacker News comment puts that into perspective:

I was using Signal, too. One day it phoned home, got some new instructions from its creators, refused to work any longer, and demanded that I download an upgrade. I was not excited about this, since upgrades generally break things, but after a few days of grumbling I knuckled under. Sure enough, the upgrade is broken: it insists that I have to upgrade Google Play Services, which I can't do, because I deleted it along with the rest of the Google code I don't want to use.

I can't use Signal anymore, by Open Whispersystems' choice, which means I can't easily communicate with a fair number of my friends anymore, and that's apparently just the way it is. Open Whispersystems demands that I let Google have a level of access to my phone I don't want them to have, or they won't let me use Signal. Their proprietary Signal software is the only way to use the Signal service, so I can't just switch to an app whose privacy characteristics might be a better fit for my needs, as no other apps exist.

My friend plomlompom encountered a similar problem with a broken TextSecure update on Android, after which he could access not old or new SMS messages as TextSecure had installed itself as a default SMS handler which could not easily be disabled.