|Subject:||Three Laws of Computing.|
Recent posts about serious personal issues seem to have generated little response, so i'll try an abstract intellectual discussion topic instead.
Recall Isaac Asimov's Three Laws of Robotics:
- A robot must not injure a human being or, through inaction, allow a human being to come to harm.
- A robot must obey the orders given it by human beings except where those orders would conflict with the First Law.
- A robot must protect its own existence, except where such protection would conflict with the First or Second Law.
It occurred to me that these aren't a bad start at guiding principles for computer security and reliability.
- A program must not injure a human being, or, through inaction, allow a human being to come to harm.
- A program must obey the orders given it by human beings except where those orders would conflict with the First Law.
- A program must protect its own existence, except where such protection would conflict with the First or Second Law.
The first law concerns the protection of the user's interests, including the user's data. It obligates software to protect your secrets and sensitive real-world information, and to protect your work from damage by bugs, crashes, other programs, or human error.
The second law concerns the reliability of program functions. It constrains the design of user interfaces so as to minimize confusion and maximize the likelihood of the correct interpretation and fulfillment of user commands. It also motivates fault tolerance and recoverability.
The third law concerns the integrity of the software itself. It requires the operating system and applications to guard against corruption by malicious programs or by normal software installation procedures.
So how about a 3 Laws Safe seal of integrity on software packages we use? I'd prefer a 3-laws-safe computing experience.
(I know that Jef Raskin has carried over the first of these, and coined it the First Law of Computing, but i haven't heard of anyone applying the entire set. Have you?)9 comments | post a comment