summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Fennell <matthew@fennell.dev>2025-01-12 23:35:46 +0000
committerMatthew Fennell <matthew@fennell.dev>2025-01-12 23:35:46 +0000
commitf4770b18285d87a3ca97c9271d53a7330edf925d (patch)
tree3dc6afcc44aad3d2cc8c359deff5dafaf312ccfd
parentbd8b8ea8931fa4dec135cb7eeee5398225ef01be (diff)
Add free software and open protocols article
-rw-r--r--content/why-open-instant-messaging-protocols-are-essential-for-software-freedom.md178
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.