
Some time ago,
Karen Sandler (executive director at the GNOME Foundation) was diagnosed with
Hypertrophic cardiomyopathy , which, if you do not go into the medical details, significantly increases the likelihood of death from heart problems. She was recommended to install a pacemaker. Feeling legitimate curiosity, Karen asked what software works in it and whether she can look at his code before entrusting her life to him. After a lot of shrugs, embarrassed glances and translations of arrows, the cat was finally taken out of the bag.
It turned out that all medical devices (
in the US? )
Are certified by the
FDA (Food and Drug Administration) organization, which never reviews the source code until a device has a problem that is clearly related to software. Instead, the
FDA relies on the manufacturer's report, in which, of course, anything can be written. In addition to general text formatting standards, there are no special requirements for this document.
All this is explained in the following way: each medical device is unique, the
FDA is simply not able to work out some general requirements for all devices without missing something important, and creating such rules for each individual device is too long and expensive. Also, the
FDA , of course, is not familiar with the hardware device of the created equipment at the level of its manufacturer, which means he (and only he) can decide exactly how the software should be built, what tests it should pass and when to be recognized as suitable for installation into real devices.
We all know that any software contains bugs. Software Engineering Institute says an average of 1 bug for every 100 lines of code. How many lines in pacemaker software? Studies show that 98% of cases of failures of such devices, caused by software bugs, could easily have been avoided with proper code testing. The lack of necessary tests, code review and other quality assurance mechanisms leads to death of people and there is no (or almost no) legislative mechanism to combat this.
')
Thought Karen is simple. The role of software in our lives has changed. From simple tasks like text editing or games, modern software has grown to something that significantly affects all aspects of our life, right down to the fact of our presence. So, we must have freedom of access to the code of such software, so that in time it will not allow it to commit irreparable.