Why I Will Avoid 'Speaking Out'

Fear Of The Consequences

11 November 2016

Today, many developers feel the need to express their non-technical political opinions online…in a wide variety of different, public forums (Twitter, Facebook, blog posts, comments on blog posts, etc). I can understand why people may feel the need to express their own views to random strangers on the Internet. After all, politics is an important aspect of a civil society, and it is essential to understand how a country is run. I, myself, have posted Tweets about non-technical issues (mostly condemning the growing national debt, the polarization of American society and the rise of extremist politics), and may have posted comments on popular blogs using dubious pseudonyms.

However, this tendency to “speak your mind to random strangers on the Internet” as being very…problematic. While some of these strangers are automated bots just crawling for text, many of these strangers are real, live human beings. These human beings may:

And these human beings may have different motives for even finding my article. They may:

There’s a lot that can go wrong when conveying information online to random strangers, and it is very hard to get feedback from these users on why they are reading my opinion and whether I successfully expressed the opinion correctly. As a result, it is very easy for you to make a mistake when expressing your political opinion, and to do lasting damage as a result of your carelessness.

And while having a political opinion is good, expressing it does seems to require a little more deftness that I don’t really know I have. If you argue a cause incorrectly, then you might end up damaging your cause (instead of helping it). If you are preaching to an echo chamber, you’re really just wasting your time. If your opinion is uninformed (or worse, just utterly wrong), then you’re causing real damage to society.

So if you have no feedback on the success of your writing, and no confidence that what you’re saying is even right…why bother speaking in public? Self-censorship seems more justified to me in this case (and sharing political opinions should be done in the semi-privacy of one’s own home or job).

In addition, as a developer, I build tools that can ideally be used by any random stranger…including by those who disagree with me. And I find that pretty odd. The tools that I build are probably much more impactful than the opinions I utter on the Internet…and in fact, can be used to undermine my opinions entirely. Consider this hypothetical example:

  1. I hate spam. I write excellent blog posts against spam, how to identify spam, what can be done to filter out spam, etc., etc., and they receive rave reviews from other people who read it.
  2. Concidentially, I am a contributor to Calyx - “[a] Ruby library for generating text with declarative recursive grammars”.
  3. Spammers download Calyx and uses it to generate unique spam emails.

Since I built the program that allowed people to send spam, does it really matter how many blog posts I written against spam? Yes, I didn’t intend for the program to be used in that fashion, but intent doesn’t really matter, does it? I share some responsibility for building the tool. I was indirectly responsible for the spam. And it means that my arguments against spam were unintentionally stupid.

This is not much of a problem if I decide to only work on proprietary projects that I have previously vetted as fitting my political opinions, but that would seem fairly limiting. Most proprietary projects today are dependent on “open source” programs, and it is generally accepted convention to ‘contribute back’ to the open source community.

“Open source”, that great buzzword of tech enthusiasts everwhere, spurn any limitations on how you use technology. Freedom 0 of FSF’s Four Freedoms is:

The freedom to run the program as you wish, for any purpose.

And the Open Source Definition has Clause 6, “No Discrimination Against Fields of Endeavor”:

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

The JSON License is considered a non-“open source” license simply because it demands “The Software shall be used for Good, not Evil.” It is a rather toothless and unenforcable limitation, because anyone can define what they are doing is as “Good, not Evil”, yet the fact that it even bothers to sugget that software should be used ethically has led to many arguments. Many programs must be rewritten so that they could then be relicensed to a ‘proper’ open source license.

I’m not saying that “open source” is bad. I’m just saying that it’s very absurd to publicly advocate for a policy position, and that the same time, gleefully create software for people who will use it against your policy position. I should either stop contributing to open source, or stop speaking. I chose the latter.

Therefore, I impose upon myself an indefinite moratorium on posting political opinions on non-technical issues in public settings (especially on Twitter and my personal blog). If I am to speak about non-technical issues within a public setting, I must first lift this moratorium – and explain why I feel the pressing need to do so, knowing that “speaking out” has a high chance of backfiring and that I am unable to control the users of the open-source projects that I contribute to.

Now, I am only limiting myself to commenting on non-technical issues. I can still write technical opinions on major issues such as “tabs versus spaces”, how to define clean code, the proper role of automation in society, etc. These technical opinions are probably just as heated an passionate as political opinions, but seem qualitatively different because they focus less on what you should do and more on how you should do it.

There’s less of a need to worry about convenying information wrongly to strangers. Most of the time, technical arguments tend to have objective answers, and it’s very easy to check if they are correct or not. Even on issues where subjectivity exists, there’s usually wide areas of agreement between content creators…and you can usually synthesize together your own truth about technology. Technical arguments have (so far) avoided the polarization that had infected most of American society, and so it is much easier to divorce feeling and emotion from the technical arguments being made (although it is still very difficult).

Worries about people using my works for goals I dislike has also been reduced: I may hate spammers, but I would also want them to perform their job effectively and ensure that their codebase is maintainable. It is reasonable to want people to succeed at their task while at the same time disliking the fact that they are doing the task in the first place.

The Internet is a revolutionary technology that enables communication with a wide variety of people…even people that I will never know or meet. These random strangers, the “silent majority”, that consumes the work that I produce (software and words), matters to a rather unhealthy degree. Perhaps, in the good old days, when it was hard to communicate your ideas to others, could you afford to take a strong moral stand without fear of your words backfiring or your actions hypocritically underming your moral stand. Today, we don’t have that luxury.

Technology is ruthlessly amoral. It is the humans that decide how to deal with it.

Return back to Blog Index