diff options
Diffstat (limited to 'content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md')
-rw-r--r-- | content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md b/content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md new file mode 100644 index 0000000..281a59e --- /dev/null +++ b/content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md @@ -0,0 +1,178 @@ +title: Why open instant messaging protocols are essential for software freedom +date: 2025-01-12 +tags: xmpp, free-software + +When I started learning about free software, I discovered that software freedom +gives you control over your devices. Over time, that feeling of control became +intoxicating and empowering; to an increasingly greater extent, I wanted a +computer that did exactly and exclusively what I wanted. + +As time went on, my experience using the few remaining proprietary packages +became jarring. I could feel the influence and control of the software's +authors restricting what I could do. + +I began to resent these remaining applications. While some software, such as +email clients and web browsers, had been trivial to replace, I found +substituting other programs, like instant messengers and banking apps, to be +much more difficult, even as my dislike of them grew. + +Through this experience, I learned that ease of replacement had very little to +do with the software itself, but instead their interaction with closed +protocols - existing outside of my device and my direct control. + +In this post, I examine these factors, and explain why I believe open instant +messaging protocols are the most important area to work on to enable widespread +software freedom. + +# Grouping software by ease of replacement + +Broadly speaking, proprietary software lies on a spectrum, from "easy to +replace", to "possible but painful to replace" and finally, to "essentially +impossible to replace". + +## Software that is "almost good enough" gets a lot of attention + +When someone tries to switch to free software, the "possible but painful" +collection is often where the focus of attention lies. "Yes, I can use GIMP" +goes the typical forum post, "but Photoshop makes it so much easier to create +this visual effect with only one or two clicks!" + +Such proprietary software tends to be complex and specialised, providing a +sufficiently superior user experience that's difficult to replace. Yet, the +existence of a free alternative, that is almost a sufficient replacement yet +nevertheless lacking some important qualities, draws much attention, discussion +and progress. + +## Software at either end of the spectrum is less visible + +However, on either side of the spectrum, there are two categories of software +that are less visible, for contrasting reasons. + +First, there is free software that is so easy to switch to and use, that it +becomes "invisible" to a regular user. For instance: web browsers, email +clients, calendars and todo lists. If you were to switch a non-technical user's +web browser for Firefox (preserving the Chrome icon, bookmarks etc), the +chances are that they would continue using it without necessarily realising +much had changed. + +Second, there is proprietary software, that is so entrenched, that it becomes +"invisible" in another way: most people don't consider switching from them a +realistic possibility. For instance: instant messaging apps, social networks +and banking apps. For this class of software, there is usually a force (such as +network effects, or heavy regulation) holding the status quo together, and +stemming the adoption of alternatives, even if the technology for such an +alternative has been built. + +# Closed protocols take away your agency + +There is an important similarity between both types of "invisible" software: +both interact with the outside world, via some kind of protocol. + +While the examples in the first group supports open standards and protocols, +that in the second is built around proprietary protocols that themselves +moderate access to something you care about (such as your friends, or your +money). + +Critically, it is hard to write and make use of free software software that +interacts with closed protocols. To implement or use a free software WhatsApp +client, or an alternative interface for your bank, is in the first instance +disallowed by the Terms of Service, and moreover leaves you forever beholden to +the whims and timescales of the developer, which has complete control of the +protocol, and the technical or legal means to intentionally or unintentionally +shut you from the network at any time. + +Since these closed protocols moderate your device's ability to communicate with +the outside world, they provide the entrypoint through which control of your +device can be ceded to someone else. By gating access to things you care about, +closed protocols are able to override your personal preferences, and force you +to use software you'd rather not use. + +This leaves users of these proprietary protocols with a series of choices: + +* "Want to message friends? You'll need Android or iOS" +* "Want to bank with us? You can't use a rooted phone" +* "Want to receive notifications? You'll need Google Play Services" + +These choices are particularly tricky, since they multiply the role of other +proprietary software in your life: such software often provides a substandard +experience on free software operating systems - either offering scant support, +or an application with poor integration with the system. + +This means you either have to accept being a second-class citizen in the +network, or to sacrifice your preferences and ideals to access the things you +care about. With each sacrifice, the proprietary software embeds itself, and +software freedom gets further away. + +# Open protocols commodify clients, allowing free software apps to shine + +While closed protocols restrict your choices, and increase switching costs by +tying access to something you care about to a specific set of software, open +networks actively reduce the cost of switching software, by explicitly enabling +a variety of clients to connect to the network. + +I believe it is no coincidence that the software I found easiest to replace all +supported open protocols. By specifying the interaction of a client with the +rest of the network, open standards commodify clients and make them more easily +interchangeable. + +This gives the user more confidence that a free software implementation will +act as a drop-in replacement for the proprietary one. In addition, by limiting +the scope for variation in clients, specifications give fewer opportunities for +R&D and investment to provide an advantage to the proprietary clients, as in +the case of Photoshop and other cases where proprietary software can retain a +long-term advantage. + +The greater the adoption of open protocols, the more free software is fighting +a battle on its own turf. When the protocol is closed, technology companies win +through network effects and control. When the protocol is open, free software +can win thanks to its integration with the surrounding environment, +customisability and flexibility. + +In this way, free software and open protocols are complementary - one begets +another. + +This is why I believe it's vital for us to tackle this class of closed +protocols, that are so difficult to replace that most people don't even try. +For most, it will be impossible to switch to a free operating system, until the +stranglehold of closed protocols is defeated. Meanwhile, while one stays on a +proprietary operating system, the most convenient course is to use proprietary +software. + +By pushing for the adoption of open protocols in areas where they are not +widespread, we can provide a level playing field on which free software can +compete and succeed. This will allow the software in the "almost impossible to +replace" bucket to become "possible but painful" at the very least. + +From there, it is a straightforward technical - rather than social and +political - fight, to make free software the best choice. Even then, in a world +of open protocols, there is no need for free software to be the universally +best choice: those who value software freedom could use it, while letting +others continue to use proprietary clients and without imposing their will on +the rest of the network. + +In this way, open protocols return agency to each individual user, allowing +them to express their priorities and make the decisions that align with their +values and preferences. + +# Why focus on instant messaging? + +Throughout the post, I've used examples of social media, instant messaging and +banking as being software that is particularly difficult to replace. While I +think all need focus and attention, I believe instant messaging is particularly +important. This is because: + +* For many, it is the most frequently used class of applications +* It is held back by network effects, not regulation. Network effects can be + fought at a local level, without requiring political engagement with + governments, etc. +* Many previously liberal governments are threatening the privacy of encrypted + chats, which is only feasible thanks to the chokeholds the big tech companies + hold +* Since technology determines the limits of expression, having control over the + technology you use to communicate is necessary to have complete freedom of + expression + +My hope is that, with enough investment of time and money into open instant +messaging protocols, we can remove one significant barrier to the adoption of +free software. Taking down WhatsApp and other instant messengers is a colossal +challenge, but I hope that one day, we will achieve it. |