|The User-Developer Convergence: Innovation and Software Systems Development in the Apache Project|
Both hacker and hacking, their usage, and their meaning are ambiguous. The two terms seem to have different meanings and different connotations to different people and at different times. As Gisle Hannemyr observes:
The word hacker and hacking as applied to computer work is not very clear. Webster defines to hack as to cut with repeated irregular or unskillful blows, and a hacker as one who forfeits individual freedom of action or professional integrity in exchange for wages or other assured reward. These definitions, however, bear no resemblance to the common usage of the words hacking and hacker in the context of computer work. [HANNEMYR1998](Hannemyr 1998, p.255)
Little research literature exists on the way hackers develop software. It is therefore hard, unlike the preceding sections, to draw a picture of the state of affairs within the research tradition. There is, however, abundance of literature describing hacker communities. I will therefore use this chapter to bring the reader up to speed in the different ways hackers have been described.
The technical community surrounding MIT's Artificial Intelligence Laboratory during the 1960s and 70s were one of the first communities to explicitly call themselves hackers. Journalist Steven Levy [LEVY1984](1984) describes this community in great detail, but not in a technical way. The book is more of an anthropological study of hacker communities. According to Levy, the hack is "a project undertaken or a product built not solely to fulfill some constructive goal, but with some wild pleasure taken in mere involvement" [LEVY1984](Levy 1984, p.23). Hacking is not a well-planned project with a clearly defined goal as in terms of the end-result's usability. As Levy describes it, hacking is more like a gleeful technical experiment to explore the boundaries and capabilities of technical systems. Hacking is, however, not just a single-person enterprise.
Hacking is not just a single-person enterprise. Central to Levy's portrayal of the AI Lab hackers is the tape drawer. Keep in mind that this takes place in an era when software is still being saved on paper tapes. After having produced software through hacking, the hackers put all the tapes in the tape drawer for everyone else to use and refine the software. The tape drawer contained the tapes used in developing software: the compiler, the linker, the debugger, and other tools. New tools were added to the tape drawer, and existing tools were improved upon and sometimes replaced. While all the MIT hackers worked on their own projects, they cooperated on improving and maintaining the tools necessary for everyone to develop software. Refining a tool developed by someone else and refine it would be perfectly in order as long as the original writer was given his due credits. As such everyone were free to improve and expand on the tools. Levy's hacking bears the hallmarks of experimentation and the pushing of technical boundaries, as well as a combination of individual and collective work.
Good tools were important to the AI Lab hackers. They focused on practice. Steven Levy calls it the hands-on imperative. Levy formulates it such: "Hackers believe that essential lessons can be learned about the system—about the world—from taking things apart, seeing how they work, and using this knowledge to create new and even more interesting things" [LEVY1984](Levy 1984, p. 22). Important knowledge and understanding is accumulated through trial and error, through experimentation, not solely on reading and theorizing alone. To this end, anything that keeps the hacker away from improving the system, whatever system that is, is considered evil. This is the basis for the tenets that Levy's work has become most famous for—the Hacker Ethic. Gisle Hannemyr [HANNEMYR1999](1999) clarifies Levy's hacker ethic, formulating it into a set of imperatives that reflects the hacker mode of operations, followed by a set of position statements that reflects the hacker attitude. The imperatives are:
serve your community (i.e. the hacker community)
when creating computer artifacts, not only the observable results, but the craftsmanship in execution matters
practice is superior to theory
people should only be judged by merit (not by appearance, age, race or position)
you can create art and beauty by the means of a computer
The AI Lab community was not the only hacker community to appear in the 1960s. Similar communities appeared in several other academic environments on both the east and west coast of the US. Especially strong were these communities at Stanford and Berkeley. Hacker communities have always been good a surrounding themselves with a shroud of mythology, usually created by themselves. During the years 1973-75 there was a cross-Arpanet collaboration to collect terminology from technical cultures across the USA. This effort came to be named the Jargon File [JARGON](http://www.tuxedo.org/jargon/). It is considered the first intentional artifact of the hacker sub-culture, or hackerdom as it dubs itself. Since its inception the Jargon File has remained the central repository of hacker terminology, slang, and mythology. As such, it is a look at how the hackers view themselves. According to the Jargon File the hacker is a " … person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary". According to the same source the hack is "… an incredibly good, and perhaps time-consuming piece of …" design or programming. In this context hacking is the activity that leads to a hack.
Both Levy and the Jargon File can be said to romanticize hackers. One person who didn't see the romantic side of hacking is Joseph Weizenbaum. In his 1976 book, Computer Power and Human Spirit[WEIZENBAUM1976], Joseph Weizenbaum writes about the compulsive programmer:
Whenever computer centers have become established, that is to say, in countless places in the United States, as well as in virtually all other industrial regions of the world, bright young men of disheveled appearance, often with sunken glowing eyes, can be seen sitting at computer consoles, their arms tensed and waiting to fire their fingers, already poised to strike, at the buttons and keys on which their attention seems to be as riveted as a gambler's on the rolling dice. When not so transfixed, they often sit at tables strewn with computer printouts over which they pore like possessed students of a cabalistic text. They work until they nearly drop, twenty, thirty hours at a time. Their food, if they arrange it, is brought to them: coffee, Cokes, sandwiches. If possible, they sleep on cots near the computer. But only for a few hours—then back to the console or the printouts. Their rumpled clothes, their unwashed and unshaven faces, and their uncombed hair all testify that they are oblivious to their bodies and to the world in which they move. They exist, at least when so engaged, only through and for the computers. These are computer bums, compulsive programmers. [WEIZENBAUM1976](Weizenbaum 1976)
While Weizenbaum sees no harm in the compulsive programmer, he regards their culture as disappropriate and unhealthy. Their approach to software systems development is inappropriate. Weizenbaum does not dispute the fact that hackers are skilled technicians, but their way of software development is unstructured. The hacker has technique, but not knowledge. Using classic Baconian scientific theory to describe software systems development, Weizenbaum writes:
Looking at the title of his book, Computer Power and Human Reason, his views are understandable. Weizenbaum's agenda is to underpin software systems development as a purely rational endeavor. The hacker approach didn't fit with his view of rational behavior.
He [the hacker] has nothing he can analyze or synthesize; in short, he has nothing to form theories about. His skill is therefore aimless, even disembodied. It is simply not connected with anything other than the instrument on which it may be exercised. His skill is that of a monastic copyist who, though illiterate, is a first rate calligrapher. [WEIZENBAUM1976](Weizenbaum 1976)
Towards the mid-1970s the AI Lab's hacker community began to crumble. Old hackers moved on to positions within the burgeoning computer industry. Steven Levy ends his book with a short epistle about "the last hacker", Richard Stallman. In 1984 Stallman looked as the last of a dying breed of hackers, but in reality he was the first of a new breed of hackers. More on that a bit later.