"Open Source" as a Way Fix Toyota's Problems
10 February 2010
BNet published an article today
suggesting that Toyota should use the Open Source model to fix their software problems.
Here's my reply.
Open Source is all too often seen as the silver bullet to fix a software problem. In some cases, as with Apache, the
Open Source model has worked quite well. And in Apple's OSX, the BSD kernel has proven to be stable and bug free.
However, I don't believe that Open Source is the right solution for this problem.
The author states, "Until Toyota opens this code up to mechanics and consumers, they'll be unable to detect and diagnose
problems as they arise."? Is it realistic to believe that a mechanic or even average consumer would be able to
diagnose/fix those software problems. And, could s/he do it without 1) creating an enormous liability issue, or 2)
violating all sorts of EPA emissions standards, especially in California.
I've developed several consumer products based on Open Source (Linux) code, and understand quite well both sides of the
issue -- the benefits (economic, rate of change) as well as the inherent risks (stability, control, unintended
consequences). In this case, I have a hard time understanding if those thousands of eyeballs would have caught the
purported error in Toyota's code, and more importantly how those well intentioned people would test the solution in a
safe manner.
I can see the scene unfolding. Pat, a fictional programmer decides to improve the code, loads it into the car's brain,
and takes it for a spin around the block. Oops! He fixed the acceleration bug, but inadvertently created a braking bug.
Wonder who'll take the heat for the person he rear ended? Fixing software bugs, especially in complex systems as
today's automobiles have become, is impractical using "visual code inspection" techniques. The real world throws too
much variability at such a system that can't be thought of or predicted within the walls of a computer lab. Real world
testing -- driving on real roads, in all sorts of weird conditions -- is the only way to thoroughly wring out the bugs
(software and other).
The car nut inside of me relishes the thought that one could "tweak" the code to get just a little bit more performance.
However, Toyota and the other car makers spend a huge amount of effort optimizing engine performance to meet emissions
standards using the car's electronic brain. Open Source will bring out those performance enthusiasts. In the
80's innovative people recoded the memory chip in BMW's electronic brain; they achieved Porsche like power at the
expense of fuel economy & emissions.
On the suggestion to use Open Source to resolve this and similar issues, I say let Toyota & the other car makers learn
from this mistake and focus on process improvement, namely how to eliminate such glitches before going to market with
their next vehicle.