First of all, meaning of term “hacker” has changed a lot in the past years. For now, hacker is a person who exploits weaknesses in a computer system or network security for his adventages. Motivation for hackers can be very various – they may hack for profit, protest, challenge, or to evaluate those weaknesses to assist in removing them. They may do so for their enjoyment too! This subculture has evolved and now is referred as the underground commuinty. In simplification hacker is also a very clever computer programmer and a smart internet user. He knows how the IT security works and also is into breaking them or finding gaps in it. A term “hacker” is often confused with a term “cracker” and it has to be explained. A cracker is also known as a “black hat hacker” and he breaks into someone else’s computer system, often on a network. A cracker may hack for his profit, maliciously, for some altruistic purpose or cause, or developping his hacking skills. Cracker just has his purpose to breach or bypass internet security or gain access to software without paying any royalties. The general view is that, while hackers build things, crackers break things. And that’s the difference.

Eric Raymond is a compiler of “The New Hacker’s Dictionary” and he defines a hacker as a clever programmer, a “good hack” is a clever solution to a programming problem and “hacking” is the act of doing it. Raymond lists five possible characteristics that qualify one as a hacker, which we paraphrase here:

  • A person who likes to study details of a programming language or system
  • A person who enjoys actually doing the programming rather than just talking about it
  • A person capable of appreciating someone else’s hacking
  • A person who’s smart enough to picks up programming very quickly
  • An expert at a programming language or system, as in UNIX hacker

Cracker is not to be confused with hacker, remember that. Hackers are deploring cracking.