Hacker is a term that has been used to mean a variety of different things in computing. Depending on the context, the term could refer to a person in any one of several distinct (but not completely disjoint) communities and subcultures:
- A community of enthusiast computer programmers and systems designers, originated in the 1960s around the Massachusetts Institute of Technology's (MIT's) Tech Model Railroad Club (TMRC) and MIT Artificial Intelligence Laboratory. This community is notable for launching the free software movement. The World Wide Web and the Internet itself are also hacker artifacts. The Request for Comments RFC 1392 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." See Hacker (programmer subculture).
- The hobbyist home computing community, focusing on hardware in the late 1970s (e.g. the Homebrew Computer Club) and on software (computer games, software cracking, thedemoscene) in the 1980s/1990s. The community included Steve Jobs, Steve Wozniak and Bill Gates and created the personal computing industry. See Hacker (hobbyist).
- People committed to circumvention of computer security. This primarily concerns unauthorized remote computer break-ins via a communication networks such as the Internet (Black hats), but also includes those who debug or fix security problems (White hats), and the morally ambiguous Grey hats. See Hacker (computer security).
Today, mainstream usage of “hacker” mostly refers to computer criminals, due to the mass media usage of the word since the 1980s. This includes what hacker slang calls “script kiddies,” people breaking into computers using programs written by others, with very little knowledge about the way they work. This usage has become so predominant that the general public is unaware that different meanings exist. While the self-designation of hobbyists as hackers is acknowledged by all three kinds of hackers, and the computer security hackers accept all uses of the word, people from the programmer subculture consider the computer intrusion related usage incorrect, and emphasize the difference between the two by calling security breakers “crackers” (analogous to a safecracker).