I have recently noticed a growing problem in hacker culture, and I’m getting more concerned.
I would like to use a toy example before I bring out the flamey ones. (Although let's be honest: with this title, it may be a lost cause.) Close your eyes for a moment and imagine the 90s. (Evidently, we all wish to escape the present.) You just upgraded your computer from Windows 95 to Windows ME. It crashes a lot. Drowning in BSODs, you dial-in to the internet and post to Usenet about your problems. "This machine used to be so reliable!" you type with satisfying clicks on your mechanial-switch keyboard. "What is M$FT even doing?"
Several days later, when you bother to sign in, you start fielding replies. "This is because Windows ME is a real-mode OS. If you wanted stability you should have chosen an OS that has protected memory," says one. "Windows ME is designed for consumers. Next time try a business-class OS like NT" says another. “Linux doesn’t have this problem,” says another. "I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux."
Did these replies help you? Did you fix your BSODs? Are you more or less likely to post to Usenet after this experience?
It seems that of late, we have a tendency of turning conversations about human problems, into conversations that explain systems, as if we are typing "the manpage for the topic" into a comment box. We assume the system is correct. Problems can only arise because you do not understand the system, and once the system is explained to you, you will become enlightened. In fairness, many programming problems can be solved by a deeper understanding of some system, which is of course why manpages exist.
However, systems are only correct if they serve human goals. When a system fails to serve human goals, that’s a bug. Saying the system is designed to do this is equivalent to admitting that it's designed wrong.
Recently, there’s a story going around about about Apple rejecting a certain app for taking money outside the app store. Inevitably the conversation turns into wondering why people are surprised that the system works this way, as if the problem would be resolved by merely educating ignorant people about exactly how the system of "large companies moving in on your small business" operates. It’s as if someone had typed man appstore
at the terminal and wanted to know how all these newfangled gizmos work. Inevitably the conversation expands to explain the workings of more and more systems that the people involved have even fewer formal qualifications to talk about: man monopoly-power
, man antitrust
, man contracts
, man freedom-of-association
...
I am surprised that everyone is surprised why everyone is surprised.
In fact, what motivated the whole conversation is someone’s assertion that the system is bad. That it does not serve human interests. The real questions are these:
We are not having these conversations.
Actually, we sometimes have them in bad faith. For illustration, there’s a recent teapot controversy over submitting ethical licenses to the Open Source Initiative. (man ethical-licenses
: like the JSON license, which requires you to use software for good and not evil.) The ensuing drama caused an OSI founder (and Prominent Famous Hacker) to rejoin the list after many years and argue forcefully that these should be forbidden, making arguments such as:
You are mounting an ideological attack on our core principles of liberty and nondiscrimination. You will not succeed while I retain any ability to oppose this.
Somewhat surprisingly, he was banned. Less surprisingly, he continued to argue off-list:
The effect – the intended effect – is to diminish the prestige and autonomy of people who do the work – write the code – in favor of self-appointed tone-policers...We are being social-hacked from being a culture in which freedom is the highest value to one in which it is trumped by the suppression of wrongthink and wrongspeak. Our enemies – people like [name redacted] – do not even really bother to hide this objective.
I think this demonstrates an important principle. When explaining Why The System Is This Way doesn't adequately convince our audience, we sometimes resort to casting suspicion on the motives of Those Who Work For Change. Actually, I think examining motives in an evenhanded way is totally legitimate. But what is missing here is any examination of OSI’s motives. Who benefits from forbidding field-of-use restrictions? (Answer: Amazon and other cloud companies that compete with software writers.) Who funds the OSI? (Answer: The cloud companies). So, rather than reciting OSI Freedom 6 as a magic talisman that should ward off our “enemies”, the conversation should be about what we gain or lose by choosing to build and operate a Freedom 6 System.
We have the unique (mis)fortune of living in a time of unprecedented global change, and we are grappling with complex issues more quickly than in recent past. Is pressuring your employer to cancel contracts with the police a good idea? Is it an outrage that so-and-so was fired for their political view? Should git branches be named master
? What are the boundaries between work and politics? When we try to have a dialogue about these topics, we immediately reframe each of these controversies into mechanical discussions that explain different facts about the system. Free speech applies to the government, not to your employer. Private and public entities have certain differences. The etymology of this word is completely different than another offensive one.
In spite of whatever political affiliations you think you have gleaned from my examples, I do not actually know how to solve the Big Problems of our generation. I do know that the system of writing manpages at each other and calling it "discourse" will not scale to the questions we face. Mere explanation cannot reach to the question of What Should Be, it can only cement What Is Already.
I remember a time when hacker culture was more about the Limitless Possibility of Systems We Can Build. It seems as we have been building them, our dreams have grown small, and our conversations have become the Limitless Explanation of What We Built. Or, maybe we were just young and naive, and over the years, real life set in.
If so, I am naive still. But unlike the 90s, I can’t find the usenet group where all the naive people hang out and discuss building the new systems. If you happen to know where it is, please contact me.