As Cars Get More Complicated, Maybe Open Source Is The Way

from the progress-is-good dept

Back in 1999, a well-circulated false press release made the rounds, supposedly written in response to Bill Gates’ jab at the auto industry at COMDEX that year. The memo joked:

If GM had developed technology like Microsoft, we would all be driving cars with the following characteristics:

    1. For no reason at all, your car would crash twice a day.

Of course, fast forward 10 years, and this is no longer really a joke anymore. Cars are now more complicated than ever, and now computers play a crucial part in the safe and efficient operation of modern automobiles. Today’s premium vehicles probably contain close to 100 million lines of software code. That fact, coupled with the recent massive Toyota recall, seems to have spurred Slate’s Farhad Manjoo to ask “Should we be worried that our cars are controlled by software?

Perhaps if you’re really into worrying for the sake of worrying, sure, I suppose the increasing complexity of the software in cars seems like a good reason to don a tinfoil hat. Certainly, compared to cars a quarter century ago, there’s a huge amount of new technology between you and the road. But, cars are also safer and more efficient than ever before. While it’s true that the software in cars may have bugs, that’s really nothing new to be that concerned about — car manufacturers issue recalls and maintenance updates all of the time to deal with not just software bugs, but mechanical problems as well. In the future, regular software updates may replace oil changes as regular maintenance for cars. But, the biggest Toyota recalls this year were still mechanical in nature: the floor mats and gas pedals, neither of which are remotely affected by any software in the car. Finally, as Manjoo points out, driver error is still the most common cause of accidents, so until we remove the human element from the driving equation (along with all of the driving distractions), recalled cars are really nothing to get worked up about.

That said, Michael A. Spiegel over at the Software Freedom Law Center makes an interesting point about this situation:

If Toyota truly wanted to repair its public image and reputation for quality, it would make its source code available to anyone interested, not just a single government regulator. The public is far more likely to discover bugs and suggest improvements than a relatively small number of overworked and potentially inexperienced government employees.

This is a intriguing proposition for a number of reasons. By releasing its software to the open source community, they could become key participants in the growing open source car ecosystem. By doing so, they could potentially benefit from the collective intelligence of that community looking at their code. Sure, Toyota may scoff at sharing what they consider to be proprietary IP with potential competitors, but in this case, Toyota could stand to gain more than it would potentially be giving away. After all, while software definitely is playing a critical part in automotive systems, by itself, it is not the selling point of a car. Even the e-voting industry is coming around to open source, after balking at the idea for years. For a variety of reasons, the automobile industry seems ripe for the exploration of new models right now. Programs like CityCarShare and ZipCar could be seen as “Automobiles As A Service” — so maybe we’ll start to see a Red Hat-like automobile company emerge in the near future.

Filed Under: , ,
Companies: toyota

Rate this comment as insightful
Rate this comment as funny
You have rated this comment as insightful
You have rated this comment as funny
Flag this comment as abusive/trolling/spam
You have flagged this comment
The first word has already been claimed
The last word has already been claimed
Insightful Lightbulb icon Funny Laughing icon Abusive/trolling/spam Flag icon Insightful badge Lightbulb icon Funny badge Laughing icon Comments icon

Comments on “As Cars Get More Complicated, Maybe Open Source Is The Way”

Subscribe: RSS Leave a comment
Modplan (profile) says:

This is where the classic car analogy in open source/Free software comes full circle.

It’s always been argued that you have the right in your car to fix, replace and maybe even improve parts, partially born out of being properly able to own the car, and that this is what free software wanted to return us to (in software form, obviously), especially in the freedom of information about how cars and their parts work to be able to do this in the first place.

Now the cars themselves have software, and the fact that they’re closed source makes us less able to fix our own cars or go to mechanics who can – instead we’ve become more dependant on the original car vendor for service (once again, bringing us to a situation that FOSS was intended to stop).

someone who actually knows what he's talking about says:

Re: Re:

this is exactly why open source will not be “the way”. when you’re a multi-billion dollar manufacturer and you can easily force all your consumers to come back to your licensed dealerships instead of going to the discounter in the warehouse district, you’re going to do it.

and it’s blatantly obvious why they do it… 10-15 years ago, it was the same with CD players. they’d charge $1k even though you could buy a better aftermarket CD player, amp, and speakers for $500.

CommonSense (profile) says:

Re: Re: Re:

And the courts decided way back then that it wasn’t right for these large corporations to ‘force’ consumers to use only their dealerships and their parts.

Just because they can, and they will to start, that doesn’t make it “the way” either. A couple of companies will use closed source I imagine, but the first one that open sources, get’s the bugs fixed, and offers it at a lower price, will be the winner.

ECA (profile) says:

Re: Re: Re: Re:

PART of the problem, is that Many of these computer Boxes, tend to restrict the motor and FORCE it to run certain ways.
If it was JUST to control the engine, it would be wonderful and simple to write a program that would monitor the engine and TELL it what to do.
EXCEPT, that every car has a different one. Each one costs different amounts, and EVEN if its a Plug connector to change the computer, I can NOT SEE why these things cost $200-1200.
AND if you truly wish to know..They DONT WORK that good in the first place. They work on a series. IF it says the ignition is bad, it could be 1 or 6 parts.
These computer control and monitor TO MUCH, some cars have more then 1 computer monitor. Its a BASIC computer, it shouldnt COST this much. SOMEONE could make a SIMPLE computer that works with ANY vehicle, and use it on ANY vehicle. And controls HOW your car runs and does everything.
To go to a mechanic and PLUG IN, it costs $50-200 to check your computer.

Defective By Design says:

If it's not needed - should you use it ?

It seems that drive by wire was put in place simply because they could, rather than because they should.

This differs from fly by wire in that some airframes (military, experimental, aerobatic, etc) require it in order to fly because their airframes are unstable. This is by design, and done intentionally in order to obtain desired flight characteristics.

There is a difference, obviously.

Anonymous Coward says:

Re: If it's not needed - should you use it ?

the savings in weight and space is also a benefit to the drive by wire system. That way they can place components where they are needed as opposed to where they fit. As emission standards get tighter and tighter the engines are requiring more sensors and control processors. All those units are going to need wires. Even the manual gearshift is going to the flappy paddles. Gone are the days of the shade tree mechanic.

Dennis Yang (profile) says:

Re: Re: Re:

Thanks Marcus.. Yes, we do have other writers here other than Mike, but he’s definitely the most prolific.

And yes.. the brake problem was definitely a software thing, but the unintended acceleration problem was attributed by Toyota to a purely mechnical issue as far as I can tell. The fixes that I’ve seen address the friction in the gas pedal and the fact that the pedal catches on the floor mat.

If you see anything otherwise, please point that out.

Marcus Carab (profile) says:

Re: Re: Re: Re:

Hehe no worries – my post was mistaken for Mike’s once too, and now I always remember to check the byline 🙂

Looks like you’re right about the accelerators though. It’s still frightening to me that brakes could fail because of a software error. I just picture myself trying to explain it to my grandfather who has been driving since the depression.

Haywood (profile) says:

Contrary belief

“But, the biggest Toyota recalls this year were still mechanical in nature: the floor mats and gas pedals, neither of which are remotely affected by any software in the car.”

I beg to differ, neither the floor mat nor the pedal is to blame for this and it will come out soon. The problem is in the software, hardware or wires, & they are still pursuing a mechanical fix. I saw a demo on TV last night where they set it off by crossing a couple of wires, & it threw no codes in the computer. They have a much bigger problem than a sticky pedal.

DesignSmith (user link) says:

Contrary Belief

I would have to agree that the sticky pedal design does not by itself create unintended acceleration that cannot be overcome by the driver and the brakes.

However, a sticky pedal combined with a sensor error for a not quite zero TPS value, and a small software glitch; could easily take the DFCO fuel saving cutoff mode and flip it the other way. Instead of cutting fuel back down to idle because the driver is preparing to stop, the computer is increasing fuel.

Granted the combination of errors involved affects a very small percentage of vehicles, it is still a deadly serious safety issue, and more eyes need to be reviewing the entire design, mechanism and all its modes of control.

MissingFrame says:

You don't need to read the source to test.

Right now anyone can test, you don’t need to read the source code. Testing, and the reporting of problems, is the critical path here. Nobody is going to read through code in their spare time and find all the errors, as most errors will only be caught by operating within the system.

Sure, it would be nice to hack your firmware, but that’s not what we’re talking about. We’re talking about safety. Do you really want some idiot who downloaded the “latest and greatest fix” from on the same road as you?

R. Miles (profile) says:

Re: You don't need to read the source to test.

“Right now anyone can test, you don’t need to read the source code.”
Says someone who never got a single error code which reported that one of SIX oxygen sensors was malfunctioning, but couldn’t tell them which one.

“Testing, and the reporting of problems, is the critical path here.”
Tell that to those who’ve died from these problems given they’ve never had a chance to report them.

“Nobody is going to read through code in their spare time and find all the errors.”
That’s an assumption on your part, but I can guarantee you people do read through code in their spare time.

Just ask several Honda Civic owners, who wrote software based on the instruction codes to modify their vehicles as they see fit.

You can download this software for free, because those that wrote it offer it as an open source.

“Do you really want some idiot who downloaded the ‘latest and greatest fix’ from on the same road as you?”
As compared to what, a Ford Explorer having improper Firestone tires in which several were involved in pile ups?

Your argument is moot, and anyone who’s tinkering with their vehicles obviously has some skills to know what they’re doing.

There’s a reason why there are millions of lines of code, as much of it is “checks and balances” to ensure one function doesn’t take priority unless other functions give it the okay.

That very “idiot” may inadvertently remove the function to control the brakes (as an example), but rest assured the other 12 functions will prevent the car from starting because of it.

Now, on topic. I believe the open source approach would benefit everyone in the automotive industry, not just a specific car company. Who knows, it may even lead to a standard coding system which all vehicles can use, rather than a mechanic trying to decipher “A0BB6” as a means to a problem which isn’t the true one.

I’m sure mechanics would be dumbfounded why a vehicle won’t start because an alternate safety light for an airbag system burned out while the system displayed a generic “system fault” code. The mechanic took to the internet to figure out the problem, and was quite stunned to discover this was the problem.

Anonymous Coward says:

Re: Re: You don't need to read the source to test.

“Says someone who never got a single error code which reported that one of SIX oxygen sensors was malfunctioning, but couldn’t tell them which one.”

Funny, I’ve solved problems exactly like that without source code, and I’ve debugged thousands of Windows problems without source code. Yet Linux is fully open source and it’s not yet bug-free. Open source isn’t a magic elf that fixes the problem.

“Your argument is moot, and anyone who’s tinkering with their vehicles obviously has some skills to know what they’re doing.”

I’d venture to say that you’re not thinking that statement through to completion ie. when upgrading your car’s firmware is as easy as upgrading your PC’s software.

Seriously, I work with “experts” with “skills” that upgrade their firmware all the time. It’s not pretty.

Ask any test engineer, nothing beats system-level environmental testing. Nothing.

R. Miles (profile) says:

Re: Re: Re: You don't need to read the source to test.

“Ask any test engineer, nothing beats system-level environmental testing. Nothing.”
System level testing has a finite audience, so if you were to ask those same engineers if they’d love a broader audience, most would say yes.

In addition, those same engineers would love to see real world results, not those canned to emulate potential errors.

Accidents are the results of these limited testing grounds, AC. Having more people on the project can reduce these accidents significantly.

Only a closed-minded engineer would think otherwise (or one who wants to protect their “IP”, thus removing the definition of “I”).

As a coder myself, the first valuable piece of teaching I received was give to give my program to as many people to test as possible. For the moment you underestimate a problem, the bigger it becomes when you have to explain why the problem existed in the first place.

How true that teaching has been.

Dennis Yang (profile) says:

Re: Re: You don't need to read the source to test.

Great points R. Miles..

It would be awesome to be able to drive a bmw-made vehicle, using honda software.. I mean, yes, I understand that there are a LOT of reasons why this is not simple, but at least in concept it’s a neat thing to think about.

After all, for better or worse, there is no Microsoft (software) equivalent in the automotive world.

CommonSense (profile) says:

Re: You don't need to read the source to test.

I was going to tell you how wrong you were, but R. Miles covered it all pretty well.

Although, I’d like emphasize the fact that yes, there are plenty of people out there that will read through code in their spare time…to fix errors if they find them as well as just to learn something…

You’ll never find a real truth basing it on an assumption.

DS78 (profile) says:

ABC Has More info on the issue

Basically this “expert” chalks it up to crappy design. Heads may roll in the end folks, so stay tuned.


“If there was this kind of fault, it will never set an error code,” said Gilbert. As a result, he said, there will be “no fingerprints, no trail” when Toyota engineers inspect a car after an accident or incident of sudden acceleration.

Ed says:

Open Source? ROTLMAO

But Congress, we shouldn’t be responsible for the car’s action because we didn’t write the software, the Open Source guys did!

Let’s see, how many vehicles would Toyota need to provide to open source programmers to test this? What about test tracks?

Plus in Toyota’s case, from what I’ve heard, the problem was electrical, more like a sensor problem than a software problems.

Open Source would help solve this problem just like a Congressional Investigation will!!!

Chris Maresca (profile) says:

Open source is not a solution to everything...

Developing cars requires significant capital investment, so open source works fine for software or things that can be built like race cars/one offs. It would be very, very hard to make it work on a wider scale.

Never mind the fact that, at one point, 70% of Mercedes warranty problems were due to electronics integration issues. And if there is one area where open source has been shown to be poor, it’s integration between complex, high-level systems.

However, Linux and open source will be the standard for telematics, there is no doubt about that. Both Android and Genivi are providing good base platforms for this, but that’s just a very small portion of the overall car.

On the ECU side, Ford’s ECC has been modified extensively by third-parties, so it’s not like there are huge barriers to accessing existing systems at some manufacturers.

In the end, what is probably going to happen is that open source will be used in telematics to provide an open platform for third parties to develop on, while the rest of the computing systems will have open interfaces to mitigate integration issues.


WammerJammer (profile) says:

As Cars Get More Complicated, Maybe Open Source Is The Way

Absolutely!!! A case in point is the difference between Linux (open source) and Windows (not open source). Linux runs flawlessly. I only shut it down to clean the computers. As to Windows it crashes just because. Who knows why? It’s a mystery. I can count on Flash (not open source) crashing any system I use it on. Yuck!!! But I digress.
My biggest concern is the code that is in the cars. I have been a programmer for over 30 years and it is true that we leave back doors in to whatever apps we work on. Especially the managers of a software product, they always leave a way in. But my main concern is that terrorists have been polluting the code for years. I mean do you trust anyone anymore? Be real! It seems everyone has an agenda and is pissed off about something. Call me paranoid but the idea of my car being controlled by software and now that we have internet access installed in that software allows hackers a scary platform. The idea of my car being controlled by another party and causing massive pileups all over the world is now a reality. The larger the codebase gets the easier it is to insert subroutines. Remember Jurassic Park? That was only 2 million lines of code Ha Ha.

Overcast (profile) says:

Well – M$ is ‘closed’ source – and the best uptime I’ve *EVER* seen, was three years solid. Compare to open source:

“The Uptime-Project, collected data on uptimes from users until 1 March 2007, and the current record for longest uptime is 11 years, 303 days, 20 hours and 57 minutes on a computer running OpenVMS. Rumours mention in January 2008 that Iarnród Éireann had an OpenVMS machine up for 18 years,[2] which was restarted just for Y2K tests.”

11 years? That would be ok I think – it’s stable, at least.

Capt Obvious says:

Re: Re:

It shouldn’t, but apparently this needs to be said …
uptime is a combination of the continuous operation of both software and hardware. Therefore one can not just compare one OS uptime to another without considering the platform upon which it operates. To be more precise, one should take into account the MTBF of the hardware.

That being said, I recall a M$ product that needed a reboot every month because of a memory leak.

Anonymous Coward says:

Re: Re: Re:

Great, so if this product is running my car that just means my car might fail on me only once a month while I’m in the middle of the freeway. Now I feel much safer.

For a computer to crash once a month is not necessarily that big of a deal, but for software running my car to crash once a month can be a huge deal.

Capt Obvious says:

Re: Re: Re: Re:

“…might fail on me only once a month …Now I feel much safer.”

– the comment was not intended to address a specific implementation

“For a computer to crash once a month is not necessarily that big of a deal”

– yes it is.

“for software running my car to crash once a month can be a huge deal.”

– absolutely

The point was intended to address the fact that attributing uptime to the software alone ignores a rather large part of the system.


BILL C61 ( ACTA attempt in canada )

LIke the leaked documents now PROVE the harper govt ( yes harper is there leaders name go figure ) technological protection measures come in all forms …even ON CARS , HOUSES ( i worked at a facotry that made steel doors for businesses , churches, jails, etc )

ONE thing just hit me as i wrote the word jail. IF th elocks become SOLE property of the manufacturer, they do realize that every issue in a jail lock failing now would require BY THIS LAW(if ever enacted), that the manufacturer be contacted then sent to rmeove and reinstall a new lock , not ANYONE else. AS to cars:
you car lock breaks or doesn’t function.
YOU would not BY law be able to simply goto Canadian tire and buy a lock to replace it. YOU need to go directly to manufacturer.In fact 90% of the car parts you find would be made illegal…ENJOY DRUG HEADS NO MORE CAR PARTS FOR YOU. and your house doors Same. SEE the burden these twits in America are doing SEE THE ECONOMIC TERRORSM THEY LEVY ON THE WORLD

Yakko Warner says:

Not that Toyota hasn't had software-related recalls

’04 Prius owner here. Mine was affected by a software bug that was the subject of a recall a few years ago. I was stopped at a light, the light turned green, I hit the gas, the engine shut down, and the dashboard lit up like a Christmas tree.

“Rebooted” the car, and aside from a large warning light that said I needed to take the car in for service (which I did the next day), everything was fine; but they did eventually issue a recall for that bug. That one wasn’t as big of an issue, since it shut down the car from a stopped condition.

Had another issue with the display panel about a year later, where it would go in “slow-motion” — any button press would take close to a minute to respond. Highly annoying, as it controlled the climate system and radio (as well as the GPS and phone). All secondary systems, so no recall was issued (and would’ve cost an obnoxious amount of money to replace if it wasn’t covered under the extended warranty).

Anonymous Coward says:


Thats what its about. If you let folks into the computer, they can tamper with the fuel and timing curves. Those curves are considered emmisions control devices. Its against federal law to tamper with emmisions control devices – regardless of whether or not your state checks. As an aside, so is replacing the exhaust with something non-factory, reflashing the computer, etc. Federal.

Two, it voids any sort of warranty program. All you need is little Johnny to take the rev limiter off his motor and scatter the engine. Or run it so rich or lean that it kills the cat. Etc etc.

R. Miles (profile) says:

Re: Re:

“Its against federal law to tamper with emmisions control devices.”
Care to back this up with proof? I believe you’re mistaking this with laws pertaining to auto manufactures, not consumers.

I’ve never seen a federal law banning people from modifying their cars. Hell, changing the standard tires on an SUV to off-road tires instantly affects these very emissions (gas mileage decreases, providing more emissions).

Sorry, not buying this one. But I will agree with #2, but given most warranties are crap anymore, people would rather fix it themselves than be greeted with “This isn’t a primary warranty issue, so you’ll be charged for this service.”

Also, note that most wiring issues aren’t covered under warranty unless an external fault caused the problem. Now imagine if the CPU inadvertently shoots a large surge of voltage through the onboard system because of a fault in the programming.

You’d be responsible for the repairs on that one. Try proving it was the software’s fault.

Anonymous Coward says:

Re: Re: Re:

Section 203 (a)(3)(b) of the Clean Air Act (CAA), 42 U.S.C. Sec. 7522(a)(3)(b), prohibits
the manufacture, selling, or installation of any device that bypasses, defeats, or renders inoperative a required element of the vehicle’s emissions control system.

Since the computer is likely to fall into the category of emission control system….. yea….

BearGriz72 (profile) says:

Re: Re: Re: Re:

Unfortunately this is correct, it is actually against federal law to “bypass, defeat, or render inoperative” the emission control system on the car as originally equipped. The enforcement of that law is very spotty; it is usually up to the Department of Motor Vehicles (or equivalent) and/or the Department of Environmental Quality (or equivalent) of each individual state. Here in Oregon the DEQ Check is part of the vehicle registration process. The OBDII Diagnostics Check will tell them if it has been modified and on cars that don’t have OBDII the actually look under the hood to check as well.

y8 says:

open source for cars

First, Defective by Design doesn’t seem to understand the auto industry, or the aerospace industry for that matter. Drive by wire reduces weight, which is the biggest inhibitor of fuel economy. So drive by wire isn’t just being applied as a geek feature. Fly by wire wasn’t developed for the F16 that can’t be flown without computer assistance, it was developed to save space and weight so the airplane didn’t need to have so many control cables running the length of the plane — quite a burden for a 747.

Second, Anonymous Coward was correct that most of the code is embedded in things like window switches and engine controllers. It’s not like there is 1 CPU running the whole car. Multi-stage airbags fire differently based on the speed and severity of a crash. That airbag is controlled by software that reads the sensors. Do you really want ‘do it yourselfers’ adjusting the airbag settings and then selling you their used car? And how many lawsuits do you think would be filed against the OEM from changes like that?

Because the software is embedded in each individual device, the OEM probably doesn’t control most of it. Do you think Toyota cares what lines of code are in the radio/navigation system? As long as it works the way Toyota specified to the supplier, the code is the supplier’s responsibility / property. That means Toyota can’t release it to you. And Alpine (or Panasonic, or Visteon or whomever) does have a competitive advantage by keeping their software proprietary.

Do you want Joe Blow at your local oil change place to have access to change your immobi registration or keyless entry system?

And FYI there are plenty of web sites out there that will teach you how to hack your car, and you can buy equipment that allows you to change your engine controller and many other software settings.

Anonymous Coward says:

Re: Re:

Oh, and just now I was watching a thing about why the Toyota break system or whatever got stuck and they were suggesting that the computer needs to reboot. REBOOT!! If I’m in the middle of the freeway and suddenly the computer running my car needs to reboot that doesn’t sound like a good thing. What, do I need to download the latest service pack too from Microsofts website? Is the problem that I don’t have the latest version of Windows installed on my car. Pretty soon I’m going to have to worry about getting spyware and I’m going to have to ensure I updated my antivirus or else I must reformat my engine. This can’t be good if all of this needs to happen while I’m doing 70 MPH on the freeway.

The Mad Hatter (profile) says:

Microsoft Software in cars

We were car hunting last summer. The Ford Fusion was one option, it looked pretty good in a lot of ways, but then we found out that the model we liked came with the Microsoft Sync software as standard. I asked about getting the model without it, and was told it was impossible. At which point I told the sales rep that having Microsoft software in the car was a deal breaker, and walked out.

I wrote a blog posting about this, and emailed the dealership to let them know. They never responded, and nor did Ford.

We bought a Honda.

cyang (user link) says:

It's about software complexity, not open or closed

What this post misses is the fact that automotive software is incredibly complex. Windows is a piece of cake in comparison.

But let’s look at Windows as a starting point. Software defects are one thing. Architecture is another. The Windows OS is a monolithic architecture where drivers (not of the human kind) are interdependent. One driver fails, it takes out the system. If you look at automotive software, you can say that it’s similar by way of analogy. The software that makes up a car comes from many suppliers (just like all the many parts). The software from each supplier may be great on its own, but once combined and interdependent with other subsystems, anything can happen — given the right condition (even if the odds are 1 in 10,000).

We love open source. But we also believe there is a limit to just what human eyeballs (no matter how many) can catch. You can see errors, but not always how code A will work with code B.

We talk a bit more about this on our blog if folks are interested: Open source and the auto software assembly line.

Add Your Comment

Your email address will not be published. Required fields are marked *

Have a Techdirt Account? Sign in now. Want one? Register here

Comment Options:

Make this the or (get credits or sign in to see balance) what's this?

What's this?

Techdirt community members with Techdirt Credits can spotlight a comment as either the "First Word" or "Last Word" on a particular comment thread. Credits can be purchased at the Techdirt Insider Shop »

Follow Techdirt

Techdirt Daily Newsletter

Techdirt Deals
Techdirt Insider Discord
The latest chatter on the Techdirt Insider Discord channel...