Your car is packed with microprocessors, between 60 and 80 of them, running all manner of systems to keep you on the road and out of harm’s way. Yet not one of those processors is open for you to tinker with. Ford and Bug Labs are working to change that with OpenXC, an Android-based open-source development platform currently in beta.
While “Back to the Future”-style floating, self-driving cars have another three years to appear in our lives before Marty McFly actually arrives in one, the OpenXC project isn’t quite on the road to fulfilling those dreams just yet. OpenXC will be about only one type of application: the data-driven app. This platform will give developers access to the mountains of information that pour out of the CPUs in modern cars, but will not allow them to actually modify or manipulate any aspects of the car itself.
TJ Giuli, research engineer on the Infotronics Research and Advanced Engineering team at Ford, said, “OpenXC is a platform that’s grown out of several ideas we’ve been looking at for research for a while. We did a previous platform with similar ideas: You could write code that ran on your car, and we partnered with Microsoft and the University of Michigan, and teams designed applications and had a competition. We took a lot of the things we learned from that platform and applied them to OpenXC.
“With OpenXC, we want to enable anybody to write for the platform. It’s based on Android, but it’s easier to use. It’s open-source software from the beginning. OpenXC is in private beta right now. When we do release publicly, the entire source base will be open.”
Bug Labs, a small-device startup based in New York, has been consulting with Ford to help it determine the best methods for developer interaction with their vehicles.
Peter Semmelhack, founder and CEO of Bug Labs, said he founded his company for reasons similar to Ford’s when it embarked on this project. “One of the reasons I started the company was this guy at MIT Sloan School of Management, Eric Von Hippel, had written a book called ‘Democratizing Innovation.’ He wrote about how manufacturers would have to change in the next 20 years, and let customers be involved, and customize products to their own needs. I took that to heart and applied it to electronics in 2006.
“[I was introduced to] TJ [Giuli] at Ford, when the OpenXC project had gotten going. How do car manufacturers allow their customers to be more proactive and participate in the personalization of the vehicle in a way that’s a win-win? When OpenXC came about, Bug Labs was brought in as kindred spirits. We’re trying very hard to engage communities in new ways and let them take products and turn them into something they need.”
No write turns
The first thing you should know about OpenXC is that it provides no write capabilities to the cars’ systems. The platform is all about reading the data produced by the car, and allowing applications to work with that data. Allowing those applications to actually affect the car could be dangerous, said Giuli and Semmelhack. What if, say, an attacker could use a Bluetooth antenna to shut off your car on the highway?
“New systems in vehicles are designed from the ground up to prevent exploits like this,” said Giuli. “As we’ve seen in published literature, legacy systems can be attacked in systems where security was not a concern in the design. The fact that it is a known problem and it’s much more well understood across OEMs, it’s a pretty core concern. I don’t think you would ever see a virus that could propagate itself across vehicles.”
Still, even with only the ability to listen to the vehicle, there’s a wealth of ideas the beta participants have been mining, said the pair. “In some instances,” said Giuli, “they’ve been waiting for this. Cars have been growing in complexity for years and years now. There are between 60 and 80 actual microprocessors in each car now, and a tremendous amount of features come from software. I think that no matter what happens, there was going to be this huge explosion of data.”