The hacker culture is a subculture of individuals who enjoy the intellectual challenge of creatively overcoming limitations of software systems to achieve novel and clever outcomes. The act of engaging in activities (such as programming or other media) in a spirit of playfulness and exploration is termed "hacking." However, the defining characteristic of a hacker is not the activities performed themselves (e.g. programming), but how it is done and whether it is exciting and meaningful. Activities of playful cleverness can be said to have "hack value" and therefore the term "hacks" came about, with early examples including pranks at MIT done by students to demonstrate their technical aptitude and cleverness. Therefore, the hacker culture originally emerged in academia in the 1960s around the Massachusetts Institute of Technology (MIT)'s Tech Model Railroad Club (TMRC) and MIT Artificial Intelligence Laboratory. Hacking originally involved entering restricted areas in a clever way without causing any major damages. Some famous hacks at the Massachusetts Institute of Technology were placing of a campus police cruiser on the roof of the Great Dome and converting the Great Dome into R2-D2.
Richard Stallman explains about hackers who program:
What they had in common was mainly love of excellence and programming. They wanted to make their programs that they used be as good as they could. They also wanted to make them do neat things. They wanted to be able to do something in a more exciting way than anyone believed possible and show "Look how wonderful this is. I bet you didn't believe this could be done."
Hackers from this subculture tend to emphatically differentiate themselves from what they pejoratively call "crackers"; those who are generally referred to by media and members of the general public using the term "hacker", and whose primary focus—be it to malign or for malevolent purposes—lies in exploiting weaknesses in computer security.
The Jargon File, an influential but not universally accepted compendium of hacker slang, defines hacker as "A person who enjoys exploring the details of programmable systems and stretching their capabilities, as opposed to most users, who prefer to learn only the minimum necessary." The Request for Comments (RFC) 1392, the Internet Users' Glossary, amplifies this meaning as "A person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular."
As documented in the Jargon File, these hackers are disappointed by the mass media and general public's usage of the word hacker to refer to security breakers, calling them "crackers" instead. This includes both "good" crackers ("white hat hackers") who use their computer security related skills and knowledge to learn more about how systems and networks work and to help to discover and fix security holes, as well as those more "evil" crackers ("black hat hackers") who use the same skills to author harmful software (like viruses, trojans, etc.) and illegally infiltrate secure systems with the intention of doing harm to the system. The programmer subculture of hackers, in contrast to the cracker community, generally sees computer security related activities as contrary to the ideals of the original and true meaning of the hacker term that instead related to playful cleverness.
The word "hacker" derives from the seventeenth-century word of a "lusty laborer" who harvested fields by dogged and rough swings of his hoe. Although the idea of "hacking" has existed long before the term "hacker"—with the most notable example of Lightning Ellsworth, it was not a word that the first programmers used to describe themselves. In fact, many of the first programmers were from engineering or physics backgrounds.
"But from about 1945 onward (and especially during the creation of the first ENIAC computer) some programmers realized that their expertise in computer software and technology had evolved not just into a profession, but into a passion" (46).
There was a growing awareness of a style of programming different from the cut and dried methods employed at first, but it was not until the 1960s that the term hackers began to be used to describe proficient computer programmers. Therefore, the fundamental characteristic that links all who identify themselves as hackers are ones who enjoy "…the intellectual challenge of creatively overcoming and circumventing limitations of programming systems and who tries to extend their capabilities" (47). With this definition in mind, it can be clear where the negative implications of the word "hacker" and the subculture of "hackers" came from.
Some common nicknames among this culture include "crackers" who are unskilled thieves who mainly rely on luck. Others include "phreak"—which refers to a type of skilled crackers and "warez d00dz"—which is a kind of cracker that acquires reproductions of copyrighted software. Furthermore, there are other hackers who are hired to test security, they are called "pentesters" or "tiger teams".
Before communications between computers and computer users were as networked as they are now, there were multiple independent and parallel hacker subcultures, often unaware or only partially aware of each other's existence. All of these had certain important traits in common:
These sorts of subcultures were commonly found at academic settings such as college campuses. The MIT Artificial Intelligence Laboratory, the University of California, Berkeley and Carnegie Mellon University were particularly well-known hotbeds of early hacker culture. They evolved in parallel, and largely unconsciously, until the Internet, where a legendary PDP-10 machine at MIT, called AI, that was running ITS, provided an early meeting point of the hacker community. This and other developments such as the rise of the free software movement and community drew together a critically large population and encouraged the spread of a conscious, common, and systematic ethos. Symptomatic of this evolution were an increasing adoption of common slang and a shared view of history, similar to the way in which other occupational groups have professionalized themselves but without the formal credentialing process characteristic of most professional groups.
Over time, the academic hacker subculture has tended to become more conscious, more cohesive, and better organized. The most important consciousness-raising moments have included the composition of the first Jargon File in 1973, the promulgation of the GNU Manifesto in 1985, and the publication of Eric Raymond's The Cathedral and the Bazaar in 1997. Correlated with this has been the gradual recognition of a set of shared culture heroes, including: Bill Joy, Donald Knuth, Dennis Ritchie, Alan Kay, Ken Thompson, Richard M. Stallman, Linus Torvalds, Larry Wall, and Guido van Rossum.
The concentration of academic hacker subculture has paralleled and partly been driven by the commoditization of computer and networking technology, and has, in turn, accelerated that process. In 1975, hackerdom was scattered across several different families of operating systems and disparate networks; today it is largely a Unix and TCP/IP phenomenon, and is concentrated around various operating systems based on free software and open-source software development.
Main article: Hacker ethic
Many of the values and tenets of the free and open source software movement stem from the hacker ethics that originated at MIT and at the Homebrew Computer Club. The hacker ethics were chronicled by Steven Levy in Hackers: Heroes of the Computer Revolution and in other texts in which Levy formulates and summarizes general hacker attitudes:
Hacker ethics are concerned primarily with sharing, openness, collaboration, and engaging in the hands-on imperative.
Linus Torvalds, one of the leaders of the open source movement (known primarily for developing the Linux kernel), has noted in the book The Hacker Ethic that these principles have evolved from the known Protestant ethics and incorporates the spirits of capitalism, as introduced in the early 20th century by Max Weber.
Hack value is the notion used by hackers to express that something is worth doing or is interesting. This is something that hackers often feel intuitively about a problem or solution.
An aspect of hack value is performing feats for the sake of showing that they can be done, even if others think it is difficult. Using things in a unique way outside their intended purpose is often perceived as having hack value. Examples are using a dot matrix impact printer to produce musical notes, using a flatbed scanner to take ultra-high-resolution photographs or using an optical mouse as barcode reader.
A solution or feat has "hack value" if it is done in a way that has finesse, cleverness or brilliance, which makes creativity an essential part of the meaning. For example, picking a difficult lock has hack value; smashing it does not. As another example, proving Fermat's last theorem by linking together most of modern mathematics has hack value; solving a combinatorial problem by exhaustively trying all possibilities does not. Hacking is not using process of elimination to find a solution; it's the process of finding a clever solution to a problem.
While using hacker to refer to someone who enjoys playful cleverness is most often applied to computer programmers, it is sometimes used for people who apply the same attitude to other fields. For example, Richard Stallman describes the silent composition 4′33″ by John Cage and the 14th-century palindromic three-part piece "Ma Fin Est Mon Commencement" by Guillaume de Machaut as hacks. According to the Jargon File, the word hacker was used in a similar sense among radio amateurs in the 1950s, predating the software hacking community.
The Boston Globe in 1984 defined "hackers" as "computer nuts". In their programmer subculture, a hacker is a person who follows a spirit of playful cleverness and loves programming. It is found in an originally academic movement unrelated to computer security and most visibly associated with free software, open source and demoscene. It also has a hacker ethic, based on the idea that writing software and sharing the result on a voluntary basis is a good idea, and that information should be free, but that it's not up to the hacker to make it free by breaking into private computer systems. This hacker ethic was publicized and perhaps originated in Steven Levy's Hackers: Heroes of the Computer Revolution (1984). It contains a codification of its principles.
The programmer subculture of hackers disassociates from the mass media's pejorative use of the word 'hacker' referring to computer security, and usually prefer the term 'cracker' for that meaning. Complaints about supposed mainstream misuse started as early as 1983, when media used "hacker" to refer to the computer criminals involved in The 414s case.
In the programmer subculture of hackers, a computer hacker is a person who enjoys designing software and building programs with a sense for aesthetics and playful cleverness. The term hack in this sense can be traced back to "describe the elaborate college pranks that...students would regularly devise" (Levy, 1984 p. 10). To be considered a 'hack' was an honor among like-minded peers as "to qualify as a hack, the feat must be imbued with innovation, style and technical virtuosity" (Levy, 1984 p. 10) The MIT Tech Model Railroad Club Dictionary defined hack in 1959 (not yet in a computer context) as "1) an article or project without constructive end; 2) a project undertaken on bad self-advice; 3) an entropy booster; 4) to produce, or attempt to produce, a hack(3)", and "hacker" was defined as "one who hacks, or makes them". Much of TMRC's jargon was later imported into early computing culture, because the club started using a DEC PDP-1 and applied its local model railroad slang in this computing context. Initially incomprehensible to outsiders, the slang also became popular in MIT's computing environments beyond the club. Other examples of jargon imported from the club are 'losing' ("when a piece of equipment is not working") and 'munged' ("when a piece of equipment is ruined").
Others did not always view hackers with approval. MIT living groups in 1989 avoided advertising their sophisticated Project Athena workstations to prospective members because they wanted residents who were interested in people, not computers, with one fraternity member stating that "We were worried about the hacker subculture".
According to Eric S. Raymond, the Open Source and Free Software hacker subculture developed in the 1960s among 'academic hackers' working on early minicomputers in computer science environments in the United States.
Hackers were influenced by and absorbed many ideas of key technological developments and the people associated with them. Most notable is the technical culture of the pioneers of the Arpanet, starting in 1969. The PDP-10 AI machine at MIT, running the ITS operating system and connected to the Arpanet, provided an early hacker meeting point. After 1980 the subculture coalesced with the culture of Unix. Since the mid-1990s, it has been largely coincident with what is now called the free software and open source movement.
Many programmers have been labeled "great hackers", but the specifics of who that label applies to is a matter of opinion. Certainly major contributors to computer science such as Edsger Dijkstra and Donald Knuth, as well as the inventors of popular software such as Linus Torvalds (Linux), and Ken Thompson and Dennis Ritchie (Unix and C programming language) are likely to be included in any such list; see also List of programmers. People primarily known for their contributions to the consciousness of the programmer subculture of hackers include Richard Stallman, the founder of the free software movement and the GNU project, president of the Free Software Foundation and author of the famous Emacs text editor as well as the GNU Compiler Collection (GCC), and Eric S. Raymond, one of the founders of the Open Source Initiative and writer of the famous text The Cathedral and the Bazaar and many other essays, maintainer of the Jargon File (which was previously maintained by Guy L. Steele, Jr.).
Within the computer programmer subculture of hackers, the term hacker is also used for a programmer who reaches a goal by employing a series of modifications to extend existing code or resources. In this sense, it can have a negative connotation of using inelegant kludges to accomplish programming tasks that are quick, but ugly, inelegant, difficult to extend, hard to maintain and inefficient. This derogatory form of the noun "hack" derives from the everyday English sense "to cut or shape by or as if by crude or ruthless strokes" [Merriam-Webster] and is even used among users of the positive sense of "hacker" who produces "cool" or "neat" hacks. In other words, to "hack" at an original creation, as if with an axe, is to force-fit it into being usable for a task not intended by the original creator, and a "hacker" would be someone who does this habitually. (The original creator and the hacker may be the same person.) This usage is common in both programming, engineering and building. In programming, hacking in this sense appears to be tolerated and seen as a necessary compromise in many situations. Some argue that it should not be, due to this negative meaning; others argue that some kludges can, for all their ugliness and imperfection, still have "hack value".
In non-software engineering, the culture is less tolerant of unmaintainable solutions, even when intended to be temporary, and describing someone as a "hacker" might imply that they lack professionalism. In this sense, the term has no real positive connotations, except for the idea that the hacker is capable of doing modifications that allow a system to work in the short term, and so has some sort of marketable skills. However, there is always the understanding that a more skillful or technical logician could have produced successful modifications that would not be considered a "hack-job". The definition is similar to other, non-computer based uses of the term "hack-job". For instance, a professional modification of a production sports car into a racing machine would not be considered a hack-job, but a cobbled together backyard mechanic's result could be. Even though the outcome of a race of the two machines could not be assumed, a quick inspection would instantly reveal the difference in the level of professionalism of the designers. The adjective associated with hacker is "hackish" (see the Jargon file).
In a very universal sense, hacker also means someone who makes things work beyond perceived limits in a clever way in general, without necessarily referring to computers, especially at MIT. That is, people who apply the creative attitude of software hackers in fields other than computing. This includes even activities that predate computer hacking, for example reality hackers or urban spelunkers (exploring undocumented or unauthorized areas in buildings). One specific example is clever pranks traditionally perpetrated by MIT students, with the perpetrator being called hacker. For example, when MIT students surreptitiously put a fake police car atop the dome on MIT's Building 10, that was a hack in this sense, and the students involved were therefore hackers. Other types of hacking are reality hackers, wetware hackers ("hack your brain"), and media hackers ("hack your reputation"). In a similar vein, a "hack" may refer to a math hack, that is, a clever solution to a mathematical problem. All of these uses have spread beyond MIT.
Main article: Hacking of consumer electronics
In yet another context, a hacker is a computer hobbyist who pushes the limits of software or hardware. The home computer hacking subculture relates to the hobbyist home computing of the late 1970s, beginning with the availability of MITS Altair. An influential organization was the Homebrew Computer Club. However, its roots go back further to amateur radio enthusiasts. The amateur radio slang referred to creatively tinkering to improve performance as "hacking" already in the 1950s.
A large overlaps between hobbyist hackers and the programmer subculture hackers existed during the Homebrew Club's days, but the interests and values of both communities somewhat diverged. Today, the hobbyists focus on commercial computer and video games, software cracking and exceptional computer programming (demo scene). Also of interest to some members of this group is the modification of computer hardware and other electronic devices, see modding.
Electronics hobbyists working on machines other than computers also fall into this category. This includes people who do simple modifications to graphing calculators, video game consoles, electronic musical keyboards or other device (see CueCat for a notorious example) to expose or add functionality to a device that was unintended for use by end users by the company who created it. A number of techno musicians have modified 1980s-era Casio SK-1 sampling keyboards to create unusual sounds by doing circuit bending: connecting wires to different leads of the integrated circuit chips. The results of these DIY experiments range from opening up previously inaccessible features that were part of the chip design to producing the strange, dis-harmonic digital tones that became part of the techno music style. Companies take different attitudes towards such practices, ranging from open acceptance (such as Texas Instruments for its graphing calculators and Lego for its Lego Mindstorms robotics gear) to outright hostility (such as Microsoft's attempts to lock out Xbox hackers or the DRM routines on Blu-ray Disc players designed to sabotage compromised players.)
In this context, a "hack" refers to a program that (sometimes illegally) modifies another program, often a video game, giving the user access to features otherwise inaccessible to them. As an example of this use, for Palm OS users (until the 4th iteration of this operating system), a "hack" refers to an extension of the operating system which provides additional functionality. Term also refers to those people who cheat on video games using special software. This can also refer to the jailbreaking of iPhones.
Hacker artists create art by hacking on technology as an artistic medium. This has extended the definition of the term and what it means to be a hacker. Such artists may work with graphics, computer hardware, sculpture, music and other audio, animation, video, software, simulations, mathematics, reactive sensory systems, text, poetry, literature, or any combination thereof.
Dartmouth College musician Larry Polansky states:
Technology and art are inextricably related. Many musicians, video artists, graphic artists, and even poets who work with technology—whether designing it or using it—consider themselves to be part of the 'hacker community.' Computer artists, like non-art hackers, often find themselves on society's fringes, developing strange, innovative uses of existing technology. There is an empathetic relationship between those, for example, who design experimental music software and hackers who write communications freeware.
Another description is offered by Jenny Marketou:
Hacker artists operate as culture hackers who manipulate existing techno-semiotic structures towards a different end, to get inside cultural systems on the net and make them do things they were never intended to do.
A successful software and hardware hacker artist is Mark Lottor (mkl), who has created the 3-D light art projects entitled the Cubatron, and the Big Round Cubatron. This art is made using custom computer technology, with specially designed circuit boards and programming for microprocessor chips to manipulate the LED lights.
Don Hopkins is a software hacker artist well known for his artistic cellular automata. This art, created by a cellular automata computer program, generates objects which randomly bump into each other and in turn create more objects and designs, similar to a lava lamp, except that the parts change color and form through interaction. Hopkins Says:
Cellular automata are simple rules that are applied to a grid of cells, or the pixel values of an image. The same rule is applied to every cell, to determine its next state, based on the previous state of that cell and its neighboring cells. There are many interesting cellular automata rules, and they all look very different, with amazing animated dynamic effects. 'Life' is a widely known cellular automata rule, but many other lesser known rules are much more interesting.
Some hacker artists create art by writing computer code, and others, by developing hardware. Some create with existing software tools such as Adobe Photoshop or GIMP.
The creative process of hacker artists can be more abstract than artists using non-technological media. For example, mathematicians have produced visually stunning graphic presentations of fractals, which hackers have further enhanced, often producing detailed and intricate graphics and animations from simple mathematical formulas.
During the time one of these machines read a card, it could execute a sequence of up to forty-eight steps. More complex sequences-within-sequences were also possible. One computer scientist later noted that this method of programming demanded the kind of detailed design of parallel subsequencing that one sees nowadays at the microprogramming level of some computers.