4 ms·
Turns out I wrote one a few months ago. This is its first outing. I just put it there without accompanying explanations, so it may seem a bit obscure. And it is
by jerome-jh 6y ago
Turns out I wrote one a few months ago. This is its first outing. I just put it there without accompanying explanations, so it may seem a bit obscure. And it is clearly unfinished, if finishable. It is more a moral code in the sense of the ten commandments. And I am not native english speaker. So here it is:
Do not make computer programs that force humans into repetitive tasks. Computers are made for automating tasks, not enslaving humans.
Do not pass onto users a responsibility that is on the program side.
When the user has a responsibility, make it clear. The computer program must warn users when their input could cause a valid output for which they would be held responsible.
Programs must never silently fail.
Once users have used a computer program, you must not remove it from them, render it useless or make it available at a price higher than agreed beforehand. Once users have used a feature of a computer program, you must not remove it, hide it from them or make it available at a price higher than agreed beforehand.
Programs must not override users inputs solely based on a probability of them being wrong.
Users can always override program outputs that are based on probability or incomplete information.
You must document all the features of the computer program accurately and make the documentation available to all users. Documentation is written in good faith.
Documentation must at a minimum describe the program inputs and the valid program outputs. If the output is based on probability, the documentation must explicit the probability for the program giving a valid output, and the probabilities of giving whatever invalid output.
When the program performance varies between users, any user can obtain the program performance in his/her particular case.
Every citizen is a user of a computer program used for law enforcement. Every citizen is a user of a computer program operating in the public space. Every citizen is a user of a program collecting its inputs.
- jerome-jh 6y agoHere is the V2 with short rationales in quotes: No program shall force a human into repetitive tasks. "Computers are made for automating tasks, not enslaving humans." A program must not require inputs from a user, that have no effect on the output. "No deceptive programs." A program must warn the user when its inputs are ignored. "Split of responsibility." A Program must never silently fail. A program is provided to a user at a predetermined price. It cannot subsequently be removed from the user without its consent, made to produce invalid outputs, rendered useless or less valuable. "Programs do not wear and cannot be used to extort money from users." Programs must not ignore users inputs solely based on a probability of them being wrong. "Unusual input is not necessarily invalid" Users can always override program outputs that are based on probability or incomplete information. "In autonomous vehicles, justice, profiling" Documentation for the program must be provided to the user. It is written in good faith, describes all the features, the program inputs, and the valid outputs. If the program output is based on probabilities, the documentation must explicit the probability for the program to give a valid output. When program performance varies between users, a user can know the probability of a valid output in its case. A human providing inputs to a program, voluntarily or involuntarily, is a user of said program. "And as such has access to documentation".