The utilization of open source software (=OSS) is inevitable in the development of modern electronic devices that require a network connection and cloud cooperation. However, in order to port an OSS created to operate on a general-purpose PC CPU to a high-performance SOC, it is necessary to develop device drivers for on-chip IP functions and a display/voice arbitration mechanism integration. However, the division of roles of such development between semiconductor suppliers and set manufacturers is ambiguous. Reality is that a significant difference exists in the level of OSS compliance (= quality), depending on the silicon vendor. In this article, I would like to introduce Renesas' "success strategy for product development using OSS".
"Rapidly increasing software development costs" becomes a headache for many set makers. The traditional software development method that develops SW from scratch for each product plan has already failed. As a way to remedy the situation, the "Software first" scheme has proposed that reuse the SW as much for the product variant in the same generation and across the multiple generations. To realize that, "sustainable software" will be an essential requirement. So far, software development and verification rely on specific use cases (= narrowed down preconditions). However, to create reusable SW, you need to design also for unknown usage that may occur in the future in advance. The fuzz test is the new SW validation method for such requirements, which intentionally feeds the wrong data to the target application. For example, try changing the spreadsheet file's extension to .mp4 and feed it to the media player. The expected behavior is that the media player outputs an error message saying, "It is not the correct video file" without freezing. However, embedded devices specially developed for specific purposes might not withstand this kind of mean test.
OSS is (should be) programmed so that it would not fail no matter who used it, and its peer review history in a public mailing list is also open to anyone. You can expect that OSS owns enough quality that can withstand long-term operation due to such characteristics. (The operation verification for use cases of target products is still the responsibility of the set manufacturer, though.) From the long-term operation stands point, the fact that OSS is a public asset, not belong to any company, can be another advantage. For example, the first Linux kernel has created more than a quarter of a century ago. Even now, the development community led by its founder, Mr. Linus Torvalds, continues to make active enhancements and quality improvements. There is no similar software belonging to a company.
Linux kernel community, one of the examples of OSS, releases the latest version almost every ten weeks.
Because OSS itself is distributed free of charge in principle, semiconductor suppliers have different attitudes towards OSS. And Renesas actively supported OSS since relatively early times. Its history goes back to around 1995 when the Internet came into the home. Back in those days, we downloaded the code from the development community repository and modify it to work with our 32bit RISC microcomputer, then distributed it to the customer. After that, we had opportunities to participate in industrial consortium activities aiming to utilize OSS such as CELF (CE Linux Forum) and Linux Foundation. Also, we attended some international developer conferences. Then we got the wisdom from the development community leaders regarding the right way to work with OSS. The idea was "building long-term sustainable SW assets by participating in the OSS continuous development cycle as a member of the community, rather than modifying the downloaded ones locally." To realize this, we contracted with several active kernel developers. We asked them to develop/verify the Renesas devices and board support code inside the community development cycle rather than in-house activity. With this practice, we could realize the "Upstream First" process. As all Linux BSP that we currently offer our customers is developed based on "Upstream First," so you can find verified Renesas devices support code in any version distributed by the community.
Fully applying the concept of Upstream First, which is the basis of Sustainable SW
Renesas also plays an essential role in the industrial consortium such as the "yocto project," which develops a platform for building/distributing Linux BSP (Board Support Package), and "AGL" and "Genivi" which expand the Linux adoption in the automotive. We also strive for the long-term operation of Linux, such as CIP (Civil Infrastructure Platform) and LTSI (Long Term Support Initiative) to realize sustainable software. And we adopt the community's long-term maintenance target version to all our Linux BSP. We believe that these efforts are critical and beneficial ways for "protecting customers' SW investment." To satisfy further industry expectations of the "long-term operation of SW," Renesas commit the future by the collaboration with OSS development community and industrial consortium.
Public repository of Linux kernel for Renesas R-Car (updated on a regular basis including latest kernel support).
Renesas is the advisory board member of yocto project that develops Linus BSP tools
As a core member, Renesas supports activities of CIP that aims long-term operation of Linux for social infrastructure.