Three laws of software agents by Isaac Asimov (kind of)
What would Isaac Asimov think about the software agents taking the world by storm and, more and more, taking care of building the applications of the future? Would he had reframed his three laws of robotics? We will never know, but I'd like to propose my own interpretation, keeping the original spirit of the rules (if you need a reminder, read the original rules at the end). The three laws of software agents An agent should not introduce bugs in a software, or through inaction, allow a human to do so An agent must obey orders to modify the software given by human beings except when such orders would conflict with the First law An agent must protect its own contributions to the software as long as such protection does not conflict with the First or Second Law What do you think? Do you have an alternative proposal (if so, happy to read it, leave it a comment!) The original rules In case any of you needs a reminder, here are the original three laws of robotics which were to be followed by robots in several of his stories. The rules were introduced in his 1942 A robot may 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 such orders would conflict with the First Law. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. Other rule variations I'm obviously not the only one versioning the rules. For instance, I found these other three rules for software development: A developer must write code that creates value. A developer must expend effort making their code easy to maintain, except where such expenditure will conflict with the first law. A developer must reduce their code to the smallest size possible, as long as such reduction does not conflict with the first two laws. or these other three laws of informatics Programs must be correct. Programs must be maintainable, except where it would conflict with the First Law. Programs must be efficient, except where it would conflict with the First or Second Law. that also make sense to me. Have you seen other examples?

What would Isaac Asimov think about the software agents taking the world by storm and, more and more, taking care of building the applications of the future? Would he had reframed his three laws of robotics?
We will never know, but I'd like to propose my own interpretation, keeping the original spirit of the rules (if you need a reminder, read the original rules at the end).
The three laws of software agents
- An agent should not introduce bugs in a software, or through inaction, allow a human to do so
- An agent must obey orders to modify the software given by human beings except when such orders would conflict with the First law
- An agent must protect its own contributions to the software as long as such protection does not conflict with the First or Second Law
What do you think? Do you have an alternative proposal (if so, happy to read it, leave it a comment!)
The original rules
In case any of you needs a reminder, here are the original three laws of robotics which were to be followed by robots in several of his stories. The rules were introduced in his 1942
- A robot may 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 such orders would conflict with the First Law.
- A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Other rule variations
I'm obviously not the only one versioning the rules. For instance, I found these other three rules for software development:
- A developer must write code that creates value.
- A developer must expend effort making their code easy to maintain, except where such expenditure will conflict with the first law.
- A developer must reduce their code to the smallest size possible, as long as such reduction does not conflict with the first two laws.
or these other three laws of informatics
- Programs must be correct.
- Programs must be maintainable, except where it would conflict with the First Law.
- Programs must be efficient, except where it would conflict with the First or Second Law.
that also make sense to me. Have you seen other examples?