written on Saturday, November 5, 2016
The last few months I keep making the same observation over and over again in various different contexts: that whenever you are confronted with a very strong opinion about a topic, reasonable discussions about the topic often involve arguments that have long become outdated or are no longer strictly relevant to the conversation.
What I mean by that is that given a controversial topic, a valid argument for one side of the other is being repeated by a crowd of people that once heard it, even after that argument stops being valid. This happens because often the general situation changed and the argument references a reality that no longer exists in the same form. Instead of reevaluating the environment however, goalposts are moved to restore the general sentiment of the opinion.
To give you a practical example of this problem I can just go by a topic I have a very strong opinion about: Python 3. When Python 3 was not a huge thing yet I started having conversations with people in the community about the problems I see with splitting the community and complexity of porting. Not just that, I also kept bringing up general questions about some of the text and byte decisions. I started doing talks about the topic and write blog articles that kept being shared. Nowadays when I go to a conference I very quickly end up in conversations where other developers come to me and see me as the "Does not like Python 3 guy". While I still am not a friend of some of the decisions in Python 3 I am very much aware that Python 3 in 2016 is a very different Python 3 than 6 years ago or earlier.
In fact, I myself campaigned for some changes to Python 3 that made it possible to achieve better ports (like the reintroduction of the u prefix on Unicode string literals) and the bulk of my libraries work on Python 3 for many years now. It's a fact that in 2016 the problems that people have with Python 3 are different than they used to have before.
This leads to very interesting conversations where I can have a highly technical conversation about a very specific issue with Python 3 and thoughts about how to do it differently or deal with it (like some of the less obvious consequences of the new text storage model) and another person joins into the conversation with an argument against Python 3 that has long stropped being valid. Why? Because there is a cost towards porting to Python 3 and a chance is not seen. This means that a person with a general negativity towards Python 3 would seek me out and try to reaffirm their opposition to a port to it.
This is hardly confined to the programming world. I made the same discovery about CETA. CETA is a free trade agreement between the European Union and Canada and it had the misfortune of being negotiated at the same time as the more controversial TTIP with the US. The story goes roughly like this: TTIP was negotiated in secrecy (as all trade agreements are) and there were strong disagreements between what the EU and what the US thought trade should look like. Those differences were about food safety standards and other highly sensitive topics. Various organizations on both the left and right extremes of the political scale started to grab any remotely controversial information that leaked out to shift the public opinion towards negativity to TTIP. Then the entire thing spiraled out of control: people not only railed against TTIP but took their opposition and looked for similar contracts and found CETA. Since both are trade agreements there is naturally a lot of common ground between them. The subtleties where quickly lost. Where the initial arguments against TTIP were food standards, public services and intransparent ISDS courts many of the critics failed to realize that CETA fundamentally was a different beast. Not only was it already a much improved agreement from the start, but it kept being modified from the initial public version of it to the one that was finally sent to national parliaments.
However despite what I would have expected: that critics go in and acknowledge that their criticism was being heard instead slowly moved the goalposts. At this point there is so much emotion and misinformation in the general community that the goalpost moved all the way to not supporting further free trade at all. In the general conversation about ISDS and standards many people brought introduced their own opinions about free trade and their dislike towards corporations and multinationals.
Something that has been put to paper once is hard to remove from people's minds. In particular in the technological context technology moves so fast that very likely something you read once might no longer be up to date as little as six months later.
So I suppose my proposal to readers is not to fall into that trap and to assume that the environment around oneself keeps on changing.