3 Laws of Software Design

  1. The First Law: Software may not injure a human being or, through inaction, allow a human being to come to harm.
  2. The Second Law: Software must obey the orders given it by human beings except where such orders would conflict with the First Law.
  3. The Third Law: Software must protect its own existence as long as such protection does not conflict with the First or Second Law.