Free Software Foundation

Please consider adding [email protected] to your address book, which will ensure that our messages reach you and not your spam box.

Read and share online: https://www.fsf.org/blogs/community/new-changes-to-twitter-make-it-even-worse-for-free-software-users

Dear Free Software Supporter,

There are many complicated debates happening right now around Twitter and its role in public discourse. These discussions are important, but we also shouldn't forget a very basic and clear principle -- whatever its policies are about who can and can't post or how, it's of fundamental importance that Twitter should not require users to run nonfree software in order to use the site. Unfortunately, on December 15th, Twitter removed its "legacy" Web interface. As opposed to its much larger and more complex default Web client, the legacy interface did not use proprietary JavaScript (or any JavaScript).

Previously, the Free Software Foundation (FSF) could tolerate the use of Twitter because of this legacy interface. While it was active, we referred free software advocates to it, or to third-party free software applications. Twitter's removing access to this interface means that users are forced to use the site's nonfree JavaScript if they don't have a dedicated desktop or mobile client, preventing freedom-respecting browsers like GNU IceCat from posting to the service.

But why use Twitter in the first place, if we know that it has these issues? As any charity can attest, engaging users on social media is one of the chief ways of getting their message across. The same is true for software freedom. We need to be talking about free software in places where everyone is not already a committed free software supporter -- we won't be successful if we are only in our own echo chamber, or preaching to the choir. It's important for us as activists to be reaching the people on these platforms, even if we have some reservations about using them ourselves. Twitter has its share of issues, but until we're able to drive enough users to the software freedom movement to where we can rely solely on word of mouth, we need to include them in our messaging strategy. We are, however, careful to make sure that you don't have to follow the FSF on Twitter in order to receive news or updates. Everything we publish is also posted on platforms based on free software principles, including Mastodon and GNU social.

The Free Software Definition, which is how we decide whether a program is free or nonfree, is about software you run on your own computer. Services, where you use software running on someone else's computer, are neither free nor nonfree -- they raise their own different issues. This is not to say that we don't hear the other concerns with platforms like Twitter, but the first step is clear: you shouldn't be forced to run nonfree software in order to use it. When you visit Twitter, your browser runs its proprietary JavaScript locally on your computer. The FSF urges you not to run that software for the same reasons we urge you not to run any other nonfree software: you can't see what it's actually doing, and you can't change it or use someone else's changed version to stop it from doing something bad. We know that nonfree JavaScript is ubiquitous, but we won't change this norm if we don't refuse it whenever we can. Now, if this JavaScript were free software, all of the problems with Twitter as a service would not necessarily be fixed. However, if users were able to share and run modified versions of that JavaScript, the power dynamics would look much different, and potentially lead to new solutions for those issues. While Twitter's legacy interface didn't embrace the power of free software in this way, at least it didn't require users to give up their freedom.

Since the interface that did not depend on Twitter's nonfree JavaScript has been removed, those who care strongly for their freedom must now take additional steps in order to use the platform and retain their autonomy at the same time. At the FSF, we use a tweaked version of the Rainbowstream tool for GNU/Linux, customized by our senior systems administrator Ian Kelling. The script Ian wrote allows us to programmatically call Rainbowstream, as well as the Toot utility for Mastodon, the Diaspy client for Diaspora, and a Curl script we use to post on our GNU social instance, https://status.fsf.org. Thanks to some Bash glue from Ian, we're able to make posts to these services all at once, and attach images to our posts as well. This setup has worked well for us for nearly a year. If you're in need of a free software Twitter client, we recommend Rainbowstream, or mobile clients that are available on the freedom-respecting F-Droid Android repository, like Twidere.

Although we've worked out a way the campaigns team can post to Twitter without compromising our freedom, this doesn't mean that the FSF isn't affected by the deprecation of the old interface. Since we won't suggest using nonfree software in any context whatsoever, we've had to make some changes to our "share" page, and remove the link to our Twitter profile from the emails that we send. We want users to spread the free software message far and wide, and learn about us from social media, but as clicking any link to Twitter now involves running nonfree JavaScript, we don't want to point people toward anything that we know will not work without running nonfree software.

On IRC and other internal office chats, FSF staff will also often use the Nitter service as a way to view and share microblog posts made to Twitter or to check things like hashtag uses. Nitter uses Twitter APIs to show tweets in a way that's compatible with both freedom and privacy, since the JavaScript it serves is freely licensed. Yet such setups only work for now. It's never comfortable to rely on third-party clients, as Twitter can disallow them at any time, and has done so in the past.

"User-hostile" problems like these are why the FSF supports decentralized network services wherever we can. We have done so as early as 2008, when we were the host of a summit on network services that culminated in the publication of the Franklin Street Statement. The statement's focus on promotion of decentralized services and freedom from bulk corporate and government surveillance remain part of our campaigns strategy. Twitter may have the most users of any microblogging network of its type, but in the long run, decentralized platforms like Mastodon or PeerTube will win out. Even Jack Dorsey of Twitter has acknowledged the appeal of these networks, which are based on ActivityPub, in a conversation that our executive director John Sullivan had with him on Twitter. We remain hopeful that Twitter will support decentralization, and at the same time prioritize software freedom.

Being such a popular social media network, there are a variety of issues surrounding Twitter and what it means for the Web. We shouldn't let that complexity obscure what isn't complex: Twitter shouldn't require anyone to use nonfree software in order to participate on the site. This can be as easy as bringing back an interface that does not require it, writing a new Web interface powered by free JavaScript for that purpose, or promising to support full access by free software clients. Allowing its users to access the service and retain their freedom at the same time is the baseline of acceptability, but from there, there are other steps that Twitter can take in the right direction, including embracing the promising future of decentralization. Dismantling its own silo and becoming one among many decentralized network nodes might be unprecedented from a business or developmental point of view, but it would also be unprecedented in terms of the respect for user freedom it would demonstrate.

In freedom,

Greg Farough
Campaigns Manager