The Hacker Ethic

     One day, Borja Sotomayor lent me a book named "Hackers, heroes of the computer revolution", written by Steven Levy. Reading through it, I discovered chapter 2, titled "The Hacker Ethic". Feeling myself a hacker, I avidly read through the chapter usually nodding to myself, thinking "been there, done that". It was a pleasure for me to verify that I shared the aims of the first hackers of the world, principles which will last forever, which started around the year 1960, at the MIT.

     However, nowadays the media bomb everybody with wrong terminology, usually asociating the term hacker with a criminal. Have you ever noticed that when you watch news, there are alleged murderers, but there are not alleged hackers? They are directly sentenced criminals without even a trial! Usually being in posession of a computer is enough for everybody to know you were doing something bad. People still ignore that it was hackers who brought the world the base for computer science, without which we could still consider ourselves being in the stone age. Have you ever thought what it would be for you to calculate manually your taxes? Or try to land a man on the moon? Or be able to read this page from your home, while it's probably stored thousands of kilometers away?

     You can learn more about true hackers and their goals, just don't follow the biased media, read directly the Hacker HOWTO. Or participate with the GNU free software project. Or check nice sources for a hacker definition. Here's a summary of the Hacker Ethic taken from the book I mentioned previusly. I've copied some bits, rewriten some, and added my own thoughts where appropiated. Note that commercial monopolies are trying to pass laws which will prohibit most of the following:

Access to computers, and anything which might teach you something about the way the world works, should be unlimited and total. Always yield to the Hands-On Imperative!

     We hackers believe that essential lessons can be learned about the systems, about the world, from taking things apart, seeing how they work, and using this knowledge to create new and even more interesting things. We resent any person, physical barrier, or law that tries to keep them from doing this.

     This is especially true when a hacker wants to fix something that (from his point of view) is broken or needs improvement. Imperfect systems infuriate hackers, whose primal instinct is to debug them. This is one reason why hackers generally hate driving cars: the system of randomly programmed red lights and oddly laid out one-way streets causes delays which are so goddamned unnecessary that the impulse is to rearrange signs, open up traffic-light control boxes... redesign the entire system.

All information should be free.

     If you don't have access to the information you need to improve things, how can you fix them? A free exchange of information, particularly when the information was in the form of a computer program, allows for greater overall creativity.

     The belief, sometimes taken unconditionally, that information should be free was a direct tribute to the way a splendid computer, or computer program, works: the binary bits moving in the most straightforward, logical path necessary to do their complex job. What was a computer but something which benefited from a free flow of information? If, say, the CPU found itself unable to get information from the input/output (I/O) devices, the whole system would collapse. In the hacker viewpoint, any system could benefit from that easy flow of information.

     In 1961, the MIT recieved for free the first PDP-1 computer prototype. It's assembler was average, and group of hackers led by Alan Kotok suggested to Jack Dennis, the person who was in charge of the PDP-1, to improve the assembler, which looked like a bad idea to Jack. Kotok, willing to have the perfect tool asked: "If we write this program over the weekend and have it working, would you pay us for the time?". Jack accepted, and thus six hackers worked around two hundred and fifty man-hours that weekend, writing code, debugging, and washing down take-out Chinese food with massive quantities of Coca-Cola. It was a programming orgy, and when Jack Dennis came in that Monday he was astonished to find an assembler loaded into the PDP-1, which as a demonstration was assembling its own code into binary.

     By sheer dint of hacking, the PDP-1 hackers had turned out a program in a weekend that it would have taken the computer industry weeks, maybe even months to pull off. It was a project that would probably not be undertaken by the computer industry without a long and tedious process of requisitions, studies, meetings, and executive vacillating, most likely with considerable compromise along the way. It might never have been done at all. The project was a triumph for the Hacker Ethic.

     Hacking for yourself is also productive, when your work can benefit others. This is what Philip Greenspun thinks, extracted from the web Philip and Alex's Guide to Web Publishing: "I've been immersed in the MIT programming culture since 1976. One of the most painful things in our culture is to watch other people repeat one's mistakes. We're not fond of Bill Gates, but it still hurts to see Microsoft struggle with problems that IBM solved in the 1960s. Thus, we share our source code with others in the hopes that programmers overall can make more progress by building on each other's works than by trying blindly to replicate what was done decades ago. If I learn something about the publishing industry, about cameras, about computers, or about life, I want to share it with as many people as possible so that they can benefit from my experience. Wasting time isn't wasteful anymore if you can write it up and keep other people from wasting time." Certainly a person with common sense. By the way, I recommend you to visit his magnific web page if you are bored of spectacular and empty designs.

Mistrust authority: promote decentralization.

     The best way to promote this free exchange of information is to have an open system, something which presents no boundaries between a hacker and a piece of information or an item of equipment that he needs in his quest for knowledge, improvement, and time on-line. The last thing you need is a bureaucracy. Bureaucracies, whether corporate, government, or university, are flawed systems, dangerous in that they cannot accommodate the exploratory impulse of true hackers. Bureacurats hide behind arbitrary rules (as opposed to the logigal algorithms by which machines and computer programs operate): they invoke those rules to consolidate power, and perceive the constructive impulse of hackers as a threat.

Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.

     People who trot in with seemingly impressive credentials are not taken seriously until they prove themselves at the console of a computer. This meritocratic trait is not necessarily rooted in the inherent goodness of hacker hearts: it is mainly that we care less about someon's superficial characteristics than they do about his potential to advance the general state of hacking, to create new programs to admire, to talk about that new feature in the system.

You can create art and beauty on a computer.

     To hackers, the art of the program does not reside in the pleasing output emanating from the machine. The code of the program helds a beauty of its own: a certain esthetic of programming. Because of the limited memory of computers, we deeply appreciate innovative techniques which allow programs to do complicated tasks with very few instructions. The shorter a program is, the faster it runs. Sometimes when you don't need speed or space much, and you aren't thinking about art and beauty, you can hack together an ugly program, attacking the problem with "brute force" methods. But by carefully thinking of algorithms which have the same effect, and are shorter and more efficient, fellow hackers will admire your code.

Computers can change your life for the better.

     Rarely will a hacker try to impose a view of the myriad advantages of the computer way of knowledge to an outsider. Yet this premise dominated the behaviour of the first TX-0 hackers, and will dominate the behaviour of the generations of hackers that come after them. The computer has changed our lives, enriched our lives, given our lives a focus, made our lives adventurous. It has made us masters of a certain slice of fate. If everyone could interact with computers with the same innocent, productive, creative impulse that we hackers do, the Hacker Ethic might spread through society like a benevolent ripple, and computers would indeed change the world for better.

     In the last chapters of Steven Levy's book you can read: "Ken [Williams, co-founder of Sierra On-Line with his wife, Roberta] had seen people totally ignorant about computers work with them and gain in confidence, so that their whole outlook in life had changed. By manipulating a world inside a computer, people realized that they were capable of making things happen by their own creativity. Once you had that power, you could do anything.". A cleary example of how computers can change your life for better. And that's just the tip of the iceberg...