Internet blogger Saurav Sengupta has recently published an article titled: “The Distance Between a Hacker and a Criminal“, where he claims that hackers, specifically Eric S. Raymond, are living their lives with undiagnosed mental disorders that could lead to schizophrenia or criminal behavior. Seriously.
these people are mostly unknown outside their cocoons, although they take pride in being hackers and insulting others, but their ego is so high and mighty that their feet hardly ever touch the ground. More importantly, however, due to their mental disorder(s), they are incapable of properly interacting socially with people who are, in their eyes, “average.”
Saurav goes even farther with his diagnosis, and gives others advice on how to handle any hackers they may come into contact with:
What is interesting, though, is that the mental problems these hackers suffer from are similar to those found in some people who become criminals. There is the same lack of understanding and empathy that the affected person feels, the same urge to “get their own back,” the same phenomenon of thinking of themselves as invincible. So, how much of a distance is there between a hacker and a criminal? How much mental degradation is needed for a hacker to finally cross the line and become anti-social (given that they are unsocial from the beginning)? Personally, I don’t think it is too safe to get involved in any sort of discussion with a hacker and you really cannot be too careful around them. I believe a study in neurobiology will confirm this.
Cathedral of the Bizarre
Piecing the story together was an interesting half hour or so, but it basically seems to boil down to a comment Saurav left on a recent posting from Eric Raymond’s blog. The blog post discussed something that Raymond found annoying while working on a large software project (Battle for Wesnoth):
Raymond then goes on to explain that, aside from being a hindrance to readability, comments like this are a good indicator that your particular patch/commit is probably too complex. If it takes more than a line to explain what your change to the source code has done, it’s probably too large of a change to begin with. When working on a large project with many developers, code changes should be extremely modular so they can easily be managed without effecting the rest of the code base.
The less-obvious reason is that if you write a comment like this, your single commit is almost certainly doing too much. You should break it up into several commits, each with one topic that becomes a single (non-bullet) item in its own change comment.
The post was written in a relatively lighthearted tone, and didn’t specifically call out anyone, making it difficult to take any kind of offense to. Admittedly, the subject matter of this post would go over the heads of anyone without development experience, but most of us who have spent time working on open source projects with others will recommend Raymond’s advice (and frustration) as perfectly sound.
Everyone was having a nice discussion of the topic, until Saurav came in and dropped this logic bomb:
Right off the bat, it’s pretty obvious Saurav doesn’t understand the topic at hand. His first argument seems to indicate he believes the comments are being executed as some sort of code (and suggests the simple task of creating a new operating system that would solve this problem), and in his second point he makes the rather bold claim that small errors in programming are on par with grammatical errors in the written word.
To the largely programmer readership of the blog, these comments were taken as rather ludicrous.
Somebody commenting online about a topic they don’t have much practical knowledge on is hardly new, in fact, you could make the case that a good deal of traffic over the Internet is exactly that. But what makes this situation unique is the absolutely insane way Saurav proceeds to respond to the fairly level-headed responses from other commenters who tried to explain the differences between making a “grammatical error” in computer programming versus writing for human consumption.
Take this response:
Humans are better at understanding the true meaning of words despite errors in their usage, while computers are exceptionally poor at handling the same situation. How does our friend Saurav respond to this?
I do not consider that a mistake at some point means a mistake at every point. I do not know whether great programmers’ code compiles without errors the first time every time, but I am not as great a programmer as Eric or The Monster and code that I write does sometimes contain errors that either the compiler catches or that I examine and correct myself. I think that I too can safely say that if your brains are more like computers and less like those of humans to the extent that you find it hard to understand the meaning of comments containing small errors, then you do not have any business being human. I say “small errors” because the average human brain, which you seem to have fun in deriding, is infinitely more capable than a computer at sifting through text to decipher the meaning that the author intended to convey. It is no wonder that the “average” person finds everything from Unix to Linux difficult to approach. If the best programmers like you do not consider or never build for the average person, this is bound to happen. The irony of the matter is that Eric has himself acknowledged this in his book, “The Art Of UNIX Programming.” I believe that it is better to be a good human before or instead of being a great artist, which is why I stand by the “average” person.
Truth From The Troll?
Saurav continues on this line for quite some time, dropping more and more abstract responses and claims that the readers of Raymond’s blog are somehow sub-humans. He really reaches his apogee with the following rant:
Eric Steven Raymond. How many people have even heard your name outside the cocoon of “hacker” culture that you are a part of? You have made a website, this blog, which people like you visit and comment on your “anti-idiotarian” articles and that gives you as much pleasure as a narcotic gives an addict. I just happened to come across this particular article, but no doubt this type of “everyone other than us (hackers) is an idiot” philosophy is what you live by. Indeed, I do remember previously seeing similar stuff authored by you and the likes of you. I also happen to have read that you have been a fan of science fiction. Perhaps that is what inspired you to behave like a robot, but since that happened after you had come of age, when you should normally have had enough maturity to be able to sift through literature, it seems, from a neurobiological point of view, that it was you who lived a coddled and sheltered life where people used to mock you because you were “different,” and that is why you sought refuge in things that you thought or found to be uninteresting to or beyond the capabilities of “mere” humans.
You and hackers like you have always made the critical mistake of ignoring the world, the “average” person, at your own expense. Today, when Linus Torvalds publicly hurls insults at people, it angers them, and that is a natural reaction, not an idiotic one. You people have created a vast amount of open source and free software but what is happening now? The “average” person cares only about those parts of it that appeal to them by catering to their needs. Google makes Android user-friendly and the “average” person is happy to use it. Canonical makes Ubuntu user-friendly and the “average” person is happy to use it. But you know what? These companies, these people who build for the “average” person, may not be as clever as you but they don’t shout to the world, “Look at what we have built! You average people are so stupid that you are utterly incapable of even understanding what it is about! Look at you idiots!” This is what sets the average person apart from people like you. You have created and held on to your world of open source software but your pride, when it goes before a fall, is not likely to make you more well-known or friendly, or, worse yet, it may even let the better parts of what you have created slip from your grasp. Even scientists do better than you; at least they try to explain their theories to the layman in a way that the latter can understand. Until and unless you and your kind can understand the average person, until and unless you have empathy, you, sir, are not going anywhere outside your sheltered cocoon about which people don’t give a damn.
While it seems pretty clear from his unprovoked and increasingly hostile responses that Saurav is an expert Internet troll, he does bring up some valid points.
The sometimes obtuse nature of the open source world, especially on the side of development, has often been cited as a reason projects stagnate. New developers are not welcomed in as they should be, but instead can be mocked or pushed away by the “old guard” who simply want to continue doing things they same way they’ve always been done.
There’s also no debating that Ubuntu and Android have managed to push the usability of Linux-based operating systems well into the mainstream, a feat that many others had failed at previously. But while Android has remained more or less universally loved in the community, we are starting to see a backlash against Ubuntu and its derivatives for somehow being “too easy”. Ubuntu users are openly mocked in certain corners of the Internet, simply because they didn’t have the time or desire to learn “proper” Linux.
While it would be wonderful if every single person running a desktop Linux distribution knew how to build themselves a new kernel from source, the reality of it is that the vast majority of users don’t have the time, desire, or need to learn that much about the underlying system.
It would be a bit like saying that everyone who drives a car should know how to swap the engine out; it’s simply unreasonable. But more to the point, it’s unnecessary.
While Eric Raymond, and the commenters on his site, were certainly not wrong in their handling of this situation, it cannot be denied that some of the arguments put forward by Saurav have an element of truth to them. Even if they didn’t technically apply to this particular situation.
We as a community should stop infighting based on such arbitrary decisions as which GNU/Linux distribution you run. The whole idea of FOSS is to give the user the freedom to chose what they do with software, so it only stands to logic that the FOSS community as a whole should be supportive of the wishes of individual users, whatever they may be.
That said, from a development aspect, standards must be maintained. It is important to adhere to proper standards and practices, and not allow sloppy work to become to the norm simply because there are users which consider the kind of criticism Raymond was giving to be “nitpicking”.
As very clearly pointed out during this exchange on Raymond’s blog, humans may be very good at finding the hidden meaning in obscured data, but they are just as easily able to miss the things staring them right in the face.