Unexpected opposition to free software advocacy

The strongest man in the world is he who stands most alone.

Free software advocacy - why and how?

I've been boycotting proprietary software for roughly 14 years. Perhaps I was engaged in advocacy in my own noncommittal way in all this time. But in the past one year, largely inspired by Ravi Dwivedi, 1 The views expressed in this post are not his. Hell, he probably disapproves of most of it. I've dedicated myself more strongly to free software advocacy.

It's not enough to merely keep using free software quietly and to boycott proprietary software at a personal level. If we don't proactively inform and onboard others, sooner or later we will be forced to use proprietary software. 2 This really applies to any kind of activism. You could replace "free software" with "veganism" and the same would apply.

Not convinced? Perhaps you know somebody who caved in to social pressure and started using WhatsApp, Telegram, Facebook, GitHub, LinkedIn, or other proprietary platforms. Or perhaps they want to quit them, but social pressure keeps them there.

Creating social pressure

Those of us who truly understand the importance of free software - enough to boycott proprietary software - are a small minority in the world. Such people (myself included) will use free software even when it lacks features or has worse UX (even as we try to improve it).

But most do not understand it, no matter how well you explain it. They will choose between free and proprietary software based on features and UX. It should come as no surprise that free software, typically made by a handful of volunteers on a shoestring budget, is not as polished or featureful as proprietary software made by megacorps with teams of full-time developers and designers.

So, while it is necessary to raise awareness about free software and improve the software itself, we must also create social pressure - counteracting the social pressure we face ourselves, every day, to use proprietary software.

This applies to online platforms in particular, where network effect is especially pronounced. Let's take XMPP as an example. As I've written in my XMPP guide, if you want to create social pressure to join XMPP, you must -

  1. Make XMPP the primary way to reach you.

    Limit your activity on non-XMPP communities. Uninstall other messengers, use bridges to join foreign rooms…but limit such bridged non-XMPP rooms, too. Prefer unbridged, XMPP-only communities.

    Use email, phone, and SMS with strangers…but for people in regular contact with you, ask them to install Quicksy from Google Play Store, Apple App Store, or F-Droid. 3 Using phone numbers and proprietary app stores is, of course, not ideal. But this is the easiest way to get people into the free world. Over time, they may get deeper into free software. But each person who joins XMPP indirectly creates social pressure on others to do the same - overall, weakening (however slightly) the social pressure to use proprietary software, and strengthening (however slightly) the social pressure to use free software.

    Do all your messaging and calling through XMPP. If they accidentally send you (say) an SMS, quote it and respond on XMPP. If they accidentally make a cell call, hang up and call back on XMPP, or ask them to call on XMPP.

  1. Make XMPP-exclusive channels. Yes, that means no bridges. Make XMPP versions of communities on other networks and publicize these channels. This way, over time, you may even get existing communities to move to XMPP.
  2. Tell non-XMPP communities about XMPP and the communities on XMPP. This should be your only reason to be in non-XMPP communities.
  3. Don't promote non-XMPP channels, especially when speaking to people new to a community.

I've had much success with this approach. I've onboarded plenty of non-technical users to XMPP this way - family, friends, colleagues and students in the art field, and others. They don't need to be convinced about the benefits of free software (although I mentioned them sooner or later all the same) - they just need to install Quicksy from Google Play Store or Apple App Store. 4 Following the above steps has also resulted in my creating loads of XMPP rooms on subjects of my interest, radically enriching the XMPP public room ecosystem.

Color me surprised, then, that many people are hesitant to apply this strategy themselves, and have the gall to reply with feeble nonsense such as "it's not doable." It's like telling a bird, who has been flying all her life, that it is impossible to fly.

Does it sound extreme? Too bad! Free software is in an extremely disadvantaged position. Funding, awareness, culture - everything is stacked against us. We cannot hope to fight proprietary software with kid gloves - strong measures are necessary if we hope to survive, let alone win.

The more of us who stick to our principles, the stronger the social pressure, the faster we rid the world of proprietary software.

When allies turn against you

As free software advocates, we understand from the start that we will be at least somewhat isolated from society. We don't expect to receive understanding from laypeople, even if the goal of a world without proprietary software cannot be achieved without them.

But you do expect understanding and support from your allies. You expect free software communities and organizations, at least, to stay true to their free software foundations, to practice the principles they preach.

Birth of an XMPP room

I'm heavily involved with a free software project - let's call it "Fubar". 5 This pseudonym - which I have used for the purpose of this post - is admittedly a little silly. Not all Indian readers may be aware that FUBAR stands for "F***ed Up Beyond All Repair". As per tradition, Fubar has an IRC channel (let's call it #fubar), which I join through XMPP (via Biboumi).

The Fubar community also has numerous regional channels, including a Matrix-Telegram channel run by the Indian Fubar community. Not only is this channel bridged to a Telegram channel (which should be entirely unacceptable to any free software activist), it's also a royal pain to use as an XMPP user - the Matrix-XMPP bridge seems to crash or restart quite frequently, so your messages may be delayed and you may miss messages.

Some members of the Indian Fubar community are also on XMPP, and most of the Indian Fubar talk on XMPP used to take place in the Indians and Indophiles XMPP room ("india@" for short). Among these are two prominent Indian Fubar contributors - let's call them Debian Developer (DD) and Grabber. I used to think of them as friends and kindred spirits. DD in particular had been especially supportive of my contributions to Fubar.

Not everyone in india@ is a Fubar contributor, and the room was meant to be inclusive of non-geeks too. So I think to myself, "Let's make a separate XMPP room for Fubar India, and move the Fubar talk out of india@."

I made the room, thinking it would be welcomed. It would encourage people to join a free software platform, encouraging XMPP adoption. It would have better UX than bridged rooms (as I've written before, bridges are almost always a bad idea). It would have better privacy characteristics than Matrix and Telegram.

For most part, it was a success. The Fubar India XMPP room (fubar-in@ for short) is fairly popular and active by XMPP standards. We regularly onboard new Fubar contributors to XMPP and add them to fubar-in@. Later, I also created fubar@ (an XMPP room for Fubar users and contributors across the world), and it's one of the most populated and active XMPP-only rooms I'm in, rivaling the population and activity of the Lisp channel and the Emacs channel.

Imagine my disbelief and disappointment when both DD and Grabber declined to join both these rooms.

Feeble excuses

"It's dividing the community."

DD and Grabber's excuse was that fubar-in@ was "competing with" the Fubar Matrix-Telegram room. Similarly, fubar@ is "competing with" #fubar. It's "dividing the community."

This is, of course, quite nonsensical. Are all regional Fubar communities not already "competing" with #fubar, for instance? These sub-communities had their own (perfectly valid) reasons for existing, and we have ours.

The Fubar community also has channels on proprietary platforms like Discord and Slack. Were these not "competing" with #fubar too? But when someone makes an XMPP room, it's suddenly a problem.

"We have to meet people where they are."

Another excuse that I've heard from DD, and is generally quite a popular one, is "we have to meet people where they are." To phrase it differently, "If we don't use Telegram and Matrix, Fubar will lose out on users and contributors."

For starters, the majority of Fubar contribution (and a fair bit of collaboration) takes place on the Fubar website itself - it's a forge similar to Codeberg. So contribution has nothing to do with the chat platform.

That said, chat is one of the avenues for asking questions, especially when a quick response is desired. #fubar was instrumental in getting me to the level of Fubar expertise I have today, and continues to be a great resource. Still, the XMPP channels don't harm anybody…and I hope fubar@ and fubar-in@ can do for others what #fubar did for me.

Secondly, the "we have to meet people where they are" mentality is probably also to blame for…

  1. FOSS United 6 The organization behind India​FOSS, Delhi​FOSS, and many other FOSS events. The emphasis on "FOSS" is mine. using proprietary Telegram for their primary chat;
  2. Delhi​FOSS (one of the events hosted by FOSS United) inviting speakers to use proprietary WhatsApp;
  3. Software Freedom Law Center (India) using proprietary Zoom for video calls (even though Jitsi Meet and BigBlueButton both work just as well), and Twitter Spaces for other events.

Communities and organizations have great power to influence the adoption of free software. If XMPP was the sole chat platform for Fubar (or even Fubar India), anybody invested in Fubar would definitely join XMPP. The same goes for FOSS United and SFLC.in.

You can't even say that it's hard to onboard people. With Quicksy available on both Google Play Store and Apple App Store, and F-Droid, it takes just a minute or two. There's simply no excuse left.

Free software communities and organizations - grow a spine, stop caving in to network effect, and start standing up for your principles. Stop leaning on the popularity excuse. What you use is what you normalize and (indirectly) promote - this is Network Effect 101.

So if you're a free software community or organization -

  • Stop your unpaid promotion of Telegram, Discord, Zoom, Slack, GitHub, and all the rest.
  • Stop (indirectly) encouraging users to join and stay on them. It amounts to indirectly mistreating your users.
  • Stop strengthening the ill-gotten market dominance of proprietary and centralized platforms.

Your choices influence thousands!

Silent war

Coming back to DD and Grabber, they could at least join fubar-in@. Participate in both communities, as they already did back when the discussion took place in india@. But, oh no!

I was even willing to bridge fubar-in@ to the existing Matrix room, on the sole condition that they de-bridge Telegram and other proprietary services. This was not acceptable to them. So much for "dividing the community" - this was a division in the community they were seemingly totally fine with.

For my part, I stayed on in the Fubar India Matrix-Telegram room, minimizing my activity there. My infrequent messages there have the primary purpose of inviting and onboarding people to XMPP, fubar@, and fubar-in@. And if I saw anything of interest to fubar@ or fubar-in@, I'd forward the messages there - acting like a one-way bridge, basically.

I also started publicizing the Fubar XMPP channels elsewhere, including the Fubar wiki.

  1. I listed fubar-in@ on the Fubar India community page of the Fubar wiki.
  2. The Fubar wiki (somewhat surprisingly) has pages for IRC, Matrix, etc, documenting how to join these networks and what Fubar communities exist there. I noticed that no such page existed for XMPP, so I made one. The contents of that page would later become the general-purpose Quick and Easy Guide to XMPP.

But then Grabber began lying to the Matrix-Telegram room members - that the room is "bridged to XMPP".

"Accessible from XMPP"? Sure. But "bridged to XMPP" implies that there's a separate XMPP channel which would keep working even if the bridge or the Matrix channel or the Telegram channel were to go down. Which is not the case - there's no such XMPP channel.

"Bridged to XMPP" also implies that all is fine and dandy for XMPP users (it's not), and no more action need be taken - conveniently omitting the free software issues.

We can chalk that one up to bad English or something. But what happened next is harder to excuse.

  1. Grabber silently changed the target of the fubar-in@ link on the Fubar India community page…to a bridge address for the Matrix-Telegram room.

    A very deliberate attempt to hide the presence of fubar-in@. But we are as much part of the Fubar India community, and we will not allow ourselves to be hidden.

  2. Grabber silently changed the target of the fubar-in@ link…on the Fubar XMPP page…to a bridge address for the Matrix-Telegram room!

    So a reader of the XMPP page may click thinking they're visiting an XMPP room, but they are only really joining a Matrix-Telegram room over a bridge. The Lion, the Witch, and the Audacity of this…Bait-and-Switch!

Conclusion

A Debian Developer? Prominent free software contributors? A fellow free software activist? These were friends, people I considered allies. I thought we were on the same side in the war against proprietary data and software - the war to liberate people and to protect them from mistreatment.

It hasn't kept me from continuing to contribute to Fubar, but it stings. These are people who used XMPP before fubar@ and fubar-in@ existed, and some of them even operate XMPP servers. That they would side with proprietary software instead of free software, and even go as far as removing all mentions of it from the wiki…

Moving beyond the Indian Fubar community, the global Fubar community is mostly apathetic to software freedom issues. They use it where convenient, but refuse to, say, move away from proprietary forges like GitHub, citing similar excuses. Ideally they would take a strong stance against proprietary software, but they do not. So I haven't gotten them involved in this yet.

Some argue that Fubar is not an XMPP project (which is true, it's in a domain entirely unrelated to XMPP), so the choice of chat platforms is irrelevant. But whatever happened to solidarity and intersectionality? Have we forgotten all the lessons of recent history, all the user mistreatment perpetrated by Sourceforge, Reddit, StackOverflow, and other proprietary centralized platforms?

I feel incredibly alone. The situation seems hopeless.

But I'll be damned if I give up.