The popularity of open source software (OSS) in the automotive space has soared in recent years as manufacturers race to keep up with new advances in technology, and new demands from consumers. OSS can significantly reduce development time and minimise otherwise costly investments, but it has taken time for the auto industry to truly harness the benefits.
OSS can be seen, used or tweaked by anyone. It differs from ‘proprietary software’ in which the original developer holds all rights to its modification. Both forms are written to enable a computer to perform a function, but OSS was never as prominent as it is today, and in fact was barely used for software development a couple of decades ago. In the last five years or so, particularly in automotive, that has changed dramatically due to the availability of extremely high quality OSS.
“It is very surprising to people just how much open source software is used in modern software development,” observed Jeff Luszcz, Vice President of Product, Management at US software specialist Flexera, during a recent Greenstreetsoftware.info webinar. According to Flexera research, more than 50% of all code written today is open source. “If we look at any software product ten to 20 years ago, OSS was just filling in the gaps, but my experience is that 100% of IT organisations are using OSS today.”
Software content has become a differentiator for automakers, who had once relied on factors such as drivability or exterior design to sell their cars. Today, software-based features are often the focal point for advertising campaigns.
The Mercedes-Benz A-Class was recently launched with a focus on its ‘MBUX’ user experience, which combines various touch-controlled elements with a wrap around digital screen. Audi’s Virtual Cockpit takes a similar approach, combining all dashboard elements into a single digital display. Skoda recently announced it would leverage the Virtual Cockpit across a handful of new model ranges.
Software touches anything from the engine or active safety features, to video or audio streaming, and many vehicles are now in with the internet at all times. There has also been a major change with the advent of autonomous driving technology. “As we pull the human out of the loop, the car becomes more dependent on software and the computers on which it is running,” said Luszcz.
This software is derived from a multitude of different sources, and rarely originates from a single developer. Many vehicles today leverage Linux, an open source operating system. “Every device in a modern vehicle contains anywhere between 80 to 100 million lines of code. Some vendors have ten or more Linux computers running at the same time, and while these computers may have very similar software stacks, they will likely have been put together by different development teams, and have different reasons for existing,” added Luszcz.
For example, some software stacks may have been developed for the in-vehicle infotainment (IVI) system, while others may be in control of engine management. Many new cars on the road contain a raft of advanced driver assistance systems (ADAS) – adaptive cruise control, lane departure warning, traffic sign recognition and blind spot detection – which requires a significant amount of supporting software. Flexera estimates that between 50% and 70% of the automotive software stack originates from open source today.
Elaborating on how this mix of software comes together, Luszcz explained that the final operating system could be ‘hand rolled’ by an automaker, created by various tiers of the supply chain, or bought off the shelf from a vendor and partially customised for the vehicle. But then there are ‘libraries’ that are added on top; a developer may need a specific functionality from a single file, which can simply be cut and pasted in to the code.
Open source code can come from a variety of different organisations: one may feature extremely high quality and abide by best practices, while another may have been simply ‘banged together’ by a student, said Luszcz. “Mix these all together, and that’s how you end up with the operating system present in your car.” Given the nature of OSS, tweaks can be made where necessary in order to validate security and safety protocols, among other things.
But OSS is not only leveraged inside the car; it also supports development and testing stages. In June 2018, the Toyota Research Institute – a billion dollar artificial intelligence company set up in 2015 – donated US$100m toward the development of an open source simulator for autonomous driving. “Fostering the development of a common open simulation platform will allow TRI and its academic and industrial partners to better exchange code, information and data,” said Vangelis Kokkevis, Director of Driving Simulation at TRI. Earlier in 2016, the company had begun working with the Open Source Robotics Foundation to develop ‘open source and proprietary tools for automated vehicle research initiatives’.
As developing, manufacturing and testing new vehicles becomes increasingly complex, any initiatives to share the load will be welcomed by the automotive industry. Add in the challenge of keeping up with shorter cycle times expected from the consumer electronics space, and the challenge intensifies; according to the Linux Foundation, the development of a single in-vehicle infotainment system can take around 36 to 39 months. During that time, three or four versions of the latest smartphones would have been released. Automakers need to keep up, and OSS could prove to be part of the answer.