Free software at the wheel
Developers are constantly at work extending the opportunity for full computer user freedom on multiple fronts, from smartphones to 3D printers, and we have written enough free software to use PCs with no proprietary programs. There is no question that we will be technically capable of building a functional autonomous car running only free software soon; efforts to do this already exist. The question is whether governments will allow these cars on the road. If we do not engage in a productive dialogue with policymakers and prototype new enforcement and accountability mechanisms for developers, we are likely to get only halfway to free-as-in-freedom autonomous cars.
The debate is likely to come down to reprogrammability. A lot of regulations will be written about the code that manufacturers load in autonomous cars and other robots, likely requiring them to drive safely, to drive in an energy-efficient way, and to pull over when signaled by a police officer (or autonomous police robot). Governments will be uncomfortable with the prospect of individuals overwriting legally compliant car software with something else, and they will be interested in creating meta-policy that makes it harder for owners to bring their cars out of compliance with regulations.
It will probably be impossible to stop governments from creating these meta-policies, but we will have a chance to influence the form they take. The most freedom-maintaining option is to reinforce the existing system of human accountability around cars -- for example, extending liability for a car’s autonomous behavior to the person that programmed it. The other end of the spectrum is a proprietary software mandate, policy that requires manufacturers to make cars resist users’ attempts to reprogram them in the first place, to minimize the possibility of faulty or malicious reprogramming.
As free software advocates and users, we hope to have a system of human accountability that preserves our same rights over car computers that we have when loading software on traditional computers. However, the promise of ex post facto accountability, or even mandatory code inspections, may not be enough to reassure those concerned with the very real possibility of a maliciously reprogrammed autonomous car. Such an atrocity could take many lives before its programmer could be brought to justice and its code taken out of use.
Under restrictions that prevent owner reprogramming, even companies that want to make free software cars would only be able to get halfway there. The most-free cars would echo the TiVo TV-recorder of the early 2000s, which ran programs compiled from free source code that users could copy, study, and modify, but were also hampered with hardware restrictions that prevented users from loading modified software onto the TiVo. Even though the source code for the TiVo’s software was free, the version running on the devices was not, because the owner could not exercise Freedom 1 and run a modified copy in its place.
A TiVoized car may be better than a car whose software was entirely opaque to the owner, because it would at least be possible to study the code and look for vulnerabilities or other bugs. But it would not empower car owners to fully control the behavior of their vehicles. It would not allow them to fix the vulnerabilities they found if manufacturers were uninterested in addressing them. It would not allow them to prevent their cars from listening to the manufacturer’s instructions before theirs, or sharing information about them. It would stop the healthy competition that comes from allowing third-party companies to service cars without manufacturer approval. There is even some risk that it could make matters worse, since malicious attackers could devise exploits based on reading the source code, and users would be unable to update the software to defend themselves. TiVoized cars would be missing some of the most important benefits that we get from free software.
If we want to protect these benefits in cars as with our other devices, we will have to be creative with novel mechanisms of human accountability that demonstrate that it is safe to modify our cars without prior approval -- just as a mechanic would. We can start to brainstorm now, drawing on the rich experience of the existing communities that reprogram consumer devices. In fact, if you have any ideas or want to connect with others working on free software cars, we encourage you to share them on the FSF’s libreplanet-discuss email list.
There is a real chance that we will be able to come up with something in time -- the free software community is known for legal as well as technical innovation. Fasten your seatbelts, it’s going to be bumpy ride.