I've often read the suggestion that people shouldn't complain so much on the Internet. That in fact, they are somehow wasting scarce resources and should get back to doing something productive and useful instead of wasting everyone's time with their counter productive griping. I would never say that every complaint has merit. In fact, lots of the crap that gets posted on the Internet is about as useful to as, ... well, crap. However, in the case of the Internet (perhaps in almost all aspects of life), we need to carefully consider the impact of arguments, gripes, complaints, and general nastiness before dismissing them as useless and wasteful. Is there no positive effect to venting one's frustration? Is there no benefit we as a "community" receive from the noise in the current signal?
I'm most interested in this question because of the article Robert X. Cringely wrote just after Eric S. Raymond revealed the so called "Halloween Memos." The major point of Cringely's piece, if I read it correctly, was that members of the Open Source community shouldn't waste so much energy and effort being horrified at Microsoft for openly plotting to destroy the movement. In fact, he seemed to feel that most members of the Open Source community, who he saw as gullible nerds, were being sucked into wasting effort on complaints that could have been used to advance the goals of various Open Source projects.
I have no desire to debate the merits of Cringely's point. Instead, I reject the notion that there is some finite resource that can be wasted by posting to forums such as Slashdot.org, the various mailing lists like linux-kernel, or any other forum you can name. In fact, I see this very activity as evidence that the Internet offers a powerful advantage to anyone who learns to exploit its freedom. Rather than inhibiting development, I see the free flow of ideas, criticisms, debate, and the usual silliness, as a source of knowledge and new ideas when at its best and, at worst, a source of entertainment that can be easily ignored.
I encourage anyone who hasn't recently, to think about how many computers (or more accurately, the people they represent) are connected to the network of networks called the Internet. I can't claim years of experience on the Internet. Yet, I know there are more people, places, ideas, and information available today than I will ever encounter in my lifetime. Even in the "small" subset of the Internet representing the Linux community, there are people from most nations, language groups, cultures, and occupations. In this one Open Source community, projects are created daily. People are using Linux for new things every day and the community reflects that diversity.
Thus, to believe that most members of just the Linux community visited Slashdot.org or some other such news source on October 31, 1998, and read the memos is absurd. Many Linux users did visit Eric S. Raymond's site and many from outside our community also heard about the site and visited.
But not everyone did. I try to keep up with the tone of the linux-kernel mailing list even if I'm not able to follow all the technical issues (I still have a ways to go in my studies). I read the fall out from Linus' moment of fury earlier this year. I read the message announcing kernel version 2.1.129 from that list. And all during the period prior to and after Halloween, there was little notice of the furor raging over the memos. A few comments showed up on that list, some even from key kernel programmers. However, there was no way I could believe that work on the kernel had halted. In the time I've been lurking on the linux-kernel list, I've never seen a time when development, debate, discussion, and argument came to a halt.
We must remember that people aren't monolithic. Nor are they mono-maniacal. They don't all think the same way and they don't think about the same thing all the time. Even when most of one's interests lie in a single area (i.e. geekdom), people don't think about the same idea each moment of their waking lives.
The point of this exposition is: some people who are part of the Linux "community" were angered and offended by the Memos from Microsoft. Some were moved to post comments on Slashdot, give interviews, and generally make plain their feelings. But it is absurd to believe that these individuals put the rest of their work and activities on hold because of their strong feelings. In fact, it is quite clear from examining the posts to the linux-kernel mailing list that some who were angry enough to comment on the Microsoft documents were still able to put their frustration and anger aside and continue to contribute to the kernel. And of course this says nothing about the activities of those who didn't say anything regarding Microsoft that week.
What did we lose as a community in this furor? Time? Certainly some individuals used some of their time to write out their thoughts and express their feelings, but is that really lost time if in the process of expressing themselves those individuals clarified their ideas or reduced their feelings of frustration? What about the time wasted by those who didn't want to read more about MS and its practices? Well, there are filtering technologies and techniques we use constantly to avoid being flooded with uninteresting and unimportant data. Waste of bandwidth? How can bandwidth be wasted except that which isn't used to its fullest every moment?
How about looking instead at what the community gained. People who were frustrated, angered got to be heard in a forum of their peers. Anyone who desired could voice an opinion that depending on its merit might influence the whole course of the discussion or be ignored. Anyone who didn't care, didn't have to bother in the slightest beyond choosing to skip to the next topic of discussion. Life went on for all. Those who were interested could read the collected wisdom of the various "communities" on the Internet and choose their own opinions in the knowledge that most sides of a discussion had been teased out and commented on. At only the cost of the time one spent reading others' commentary, an individual could gain a fairly full understanding of the issue with all of its ramifications in an hour or so.
Say a hypothetical programmer was concerned about what he had been hearing from friends about some "plot" by Microsoft to destroy Open Source systems like Linux. This programmer happens to depend on the existence of Linux for his livelihood and thus would be fundamentally impacted if Microsoft could kill Linux. So our programmer visits the various forums of like minded Linux lovers on the net. He reads the discussions, checks his email, maybe even sends some comments of his own. Our hero comes to understand that while Microsoft's greed is appalling, even they admit there isn't much they can do to affect Linux, let alone harm it. Problem solved, at least at the personal survival level. If he was a quick reader, he could have found all this out in an hour or two. Sure, he might follow the story later, even blow off some more steam by posting a scathing critique of one of the memos. But meanwhile, he is living his life, doing his job, attending his classes, playing with his kids.
The complaints and discussion benefited this hypothetical programmer in that he could gain a lot of knowledge rapidly from reading a few posts. Even more importantly, in the long run, by more carefully reading the flow of discussion, he could quickly figure out what were reasonable positions, which might be a little extreme, and those that were plain kooky. Our programmer thus has the benefit of being able to dismiss certain issues or concerns without wasting much time on them.
Doesn't this the sound like the basic benefit of Open Source code: numerous minds make eliminating bugs and adding refinements to a program a much more rapid process than if an individual or even a small group were doing the same job? Clearly, every patch of every Open Source program is not equally useful. Just as clearly, though, we have to have an open forum for these patches to be posted or else the underlying premise fails.
Just as assuredly, not every comment posted to Slashdot is useful (in fact, comments like the infamous "First Comment" are useless to the point of absurdity). But the collective refining process that occurs in any forum is based on the idea that each individual reads what he finds interesting, amusing, frustrating, or even infuriating. Thus the utility of such forums can not be evaluated in terms of something as clear cut as a signal to noise ratio but must instead be evaluated against the standard of whether any signal at all is present in all the noise.
The free flow of ideas and discussion is a concept that preceded the idea of Open Source code by centuries. Most historians attribute the rapid growth of science and technology in Europe during and after the Renesance to the increasing free flow of knowledge and ideas. Places that for whatever reason offered more freedom, tended to also develop more rapidly. Clearly, then the idea of everyone having a chance to express themselves is not new to Cyberspace. Implementing it on the Internet, however, represents a revolutionary reduction in the cost of entry into the world of ideas.
With this in mind, we must guard against anyone who would stifle debate, discussion, and argument so that we can get down to the "work" at hand. We must never submit to such a small conception of what our "community" is (i.e. a collection of individuals who share source code but nothing else). We must never allow debate to be devalued as a form of exploration and expression of ideas. We must preserve the right of all to post their thoughts and criticisms if we wish to preserve the dynamic power of this community.
What then of the programmer? Must he leave his code and become a philosopher? No!! In the Linux community, the "code" will nearly always trump "talk." But if discussion by those who have the time and the skill helps the programmer understand some idea or even simply inspires him to continue his lonely vigil then the debate must continue. If the issue doesn't "scratch some itch" for him, to barrow a phrase from Raymond, the programmer probably won't be participating in the discussion, anyway. If it helps anyone become a more productive member of the community, then we all benefit. And ultimately, as long as some are having fun, even if there is no other benefit, that is enough.
December 7, 1998
Copyright 1998, Robert G. Werner
robert@inreachtech.net
For fools rush in where angels fear to tread. -- Alexander Pope