A broad term for a person who uses programming skills and technical knowledge to create and modify computer software and hardware by finding weaknesses and exploiting them, including computer programming, administration, and security-related items. Hackers can be motivated by a number of reasons both positive and negative, such as profit, protest, or challenge. Criminal hackers create malware in order to commit crimes. In the early days of computing, hacker was a term used to describe a programmer who had a curiosity and appreciation of programs and systems and how they worked. Over time, however, the term gained a negative connotation and began to refer to someone who uses the knowledge to break into other people's systems to steal information and cause havoc. We also call programmers who use their skills for harm crackers.