As 2021 drew to a close, and we entered the New Year, we took the time to reflect on what we’ve achieved over the last 12 months, despite the challenges the Pandemic has thrown our way.
Message from the Chair
2021 saw the Yocto Project continue to grow and expand the project’s reach, with AWS joining at Platinum and Wind River increasing their participation to Platinum, Huawei joined as a Gold member and Texas Instruments adjusted their participation to Gold; unfortunately we did lose Juniper as a member. We had the Technical Steering Committee (TSC) election reaffirming Richard Purdie, Ross Burton, Khem Raj, Armin Kuster and Denys Dmytriyenko as our technical stewards, there will be elections coming up in 2022 for the Silver members representative and also for the positions of Treasurer and Chair.
A key aspect of the Yocto Project is our community, unfortunately COVID-19 continued to throw a spanner in the works. Thankfully, our community is both resourceful and resilient. We held two Yocto Project Summits virtually and we managed to have a presence at ELC, where we had some hardy volunteers staff a booth and meet fellow hardy folks. Hopefully we can have more in-person interactions in 2022, where we can share cake, code and fun.
Conferences & Summits in 2021
We continued our tradition of being sponsors of the Embedded Linux Conference to maintain our presence with our community, complete with a virtual booth and a Birds-of-a-Feather session (there was only one ELC in 2021 due to COVID).
We also presented two standalone virtual Yocto Project Summits, basically mini-conferences in scope and attendance. Both summits were over three days, and very excitingly had more than 300 participants each! Each summit included a full day of beginner classes and hands-on training classes plus two days of presentations, and in total generated 33 new presentations and 5 new hands-on classes. Finally, our Summit Social Hours quite famously went on for many hours into the night!
Technical Summary
When seeing many small changes day to day it is sometimes good to step back and look at the big picture. In the last year the Yocto Project has managed some great things. Details follow below but in summary:
- Hash Equivalence improvements and read only server
- Public sstate and hash equivalence for project core
- Improved override syntax
- Dunfell LTS extended from 2 to 4 years
- New Kirkstone LTS in April 2022
- SBOM support in SPDX format added in Honister
- CVEs being monitored/controlled
- yocto-check-layer improvements
- Yocto Project Compatible testing for core project and member layers
- 100% reproducible builds for OE-Core
The project continues to develop in many different ways. We now have the ability to mix the best aspects of source builds with those of pre-built binaries through our “hash equivalence” improvements, allowing reuse of binaries in the dependency chain at the point they are found not to differ. We have made an equivalence server publicly available along with sstate from the project’s autobuilder as an experiment to allow people to get started with the project quicker and easier than ever before.
In a bold move, the project made a rare change to its language by changing the override syntax used in recipes. This change means the syntax is both clearer to users, particularly new ones, and also allows future changes and improvements to the parser.
We’ve listened to community feedback about long term support (LTS) and have extended our 2020 Dunfell (3.1) release series from a 2 year window to a 4 year window. We are also planning a new LTS release, Kirkstone (3.4) this April which will initially be a 2 year release with the option to extend to 4 years dependent on funding/support and community feedback.
One key topic in the news is Software Bill of Materials (SBoM) so it is timely that in our last release, the project has added functionality to natively generate SPDX manifests which meet the legislative requirements and take auditing, license and supply chain management to the next level. The project is a member and strong supporter of the SPDX project. We have also continued to work on controlling our CVE counts both in development and in the stable branches and improving our tools that monitor this.
Testing performed by the project, before merging changes and on an ongoing basis, also continues to evolve. In particular the Yocto Project Compatible programme has moved forward and key project layers such as meta-openembedded are now YP Compatible for current development, stable release and LTS branches. The functionality of the layer checking script has evolved, as has automated testing, and we now see automated coverage of other member layers such as meta-agl-core, meta-arm, meta-aws, meta-intel and meta-ti. We continue to see many new test additions and increased coverage through ptests of further recipes.
The project is also proud to say that as of the end of 2021, all packages being generated from recipes in the core of the project are reproducible. This is being continually tested and verified by the project autobuilder and now includes formerly problematic languages such as Rust and Go.
Looking forward in 2022 we have been doing some cleanup of our metadata, recipes and patches, discussing those patches with upstreams where appropriate, have inclusive language changes in progress and look forward to the next Yocto Project LTS release in April.
Community Update
The project has had dedicated support for several people funded by the project itself, covering documentation, build monitoring and triage, IT, the LTS and the Project Architect. These functions are a cornerstone of maintaining the quality of the project releases and giving the best support to the community and user base.
The Yocto Project documentation has been one of the project’s strengths, and important investments have been made in the project’s documentation since its inception. It is worth noting that the Yocto Project has completely revamped its documentation system, both the public facing documentation website and how the documentation is developed and maintained. By leveraging Sphinx, which is Python’s own documentation generator, and also used by other Open Source projects such as the Linux Kernel and Zephyr OS, it has become easier to to contribute documentation content, and we are seeing an increase in the number of developers involved in producing or reviewing the Yocto Project documentation. Getting involved with and contributing to our documentation is a perfect opportunity for new developers to get involved and get a taste of working with our community!
Our community tends to use emails and online messaging a lot, and it is definitely recommended that all developers and users join our official mailing lists and IRC/Matrix channels. In addition, our developers usually attend a few regular meetings where the state of the project is being discussed. These meetings are open to everyone to join, including new members of the community.
The project has also been looking at long term planning to cover development over the next few years. A number of future directions were identified and discussed with the community to allow potential development in these areas, input from the wider community welcome (through the project’s mailing lists).
Despite the worldwide COVID-19 situation, the Yocto Project managed to organize two major community virtual events in 2021, in May and November. For both events, the project has received a record attendance of more than 300 developers from around the world, bringing together core project developers with users and members of the community. Because they were virtual and very affordable, these events also brought new developers who had the opportunity to engage with our community for the first time! All material presented at the Yocto Project 2021 Summits is available, including more than 30 hours of videos here and here. Stay tuned for another virtual event in the coming months!
In order to raise awareness for the Yocto Project in times of limited in-person events, social media platforms have been very helpful. Currently official representations exist on the following networks:
All of those are seeing constant and solid growth of followers and interaction, serving different needs and audiences. Noteworthy highlights are the Twitter and YouTube channels. Both are growing strongly, Twitter an average of 50 followers per month, which is mostly in the users/developers space. The YouTube channel gained 1.6k subscribers in 2021, resulting in a total of 7.2k subscribers currently, who watched 14k hours of Yocto Project content. This has proven to be tremendously helpful in onboarding new audiences and users, where analytics suggest that a substantial share were from the South Asia region, primarily India. In 2022 more entry and intermediate level resources will be provided to further grow the audience.
Testimonial from Wind River
Thanks to the Yocto Project, Wind River Linux can help Linux customers overcome the barrier of interoperability. Compatibility with the Yocto Project environment allows the Wind River Linux and BSP teams to support a wide spectrum of architectures and to develop multiple strategic initiatives. Adoption of the Yocto Project compatible framework means that Wind River Linux customers can realize better cross-platform compatibility and component interoperability, enabling high reusability and reducing the risk and cost of change.
Wind River Linux is a market-leading, commercial-grade embedded Linux platform built on a foundation of compatibility with the Yocto Project framework. Wind River Linux delivers product quality and usability, predictable certified support practices, best-in-class long-term maintenance, and a rich ecosystem of leading processor, hardware systems, and ISV providers.
Image credits:
https://commons.wikimedia.org/wiki/File:Logo_PDD_2022.svg (CC-BY-SA)
A PDF copy of this post is available here.