When we started the Zephyr project, we knew at some point in the future, we’d want to incorporate having periodic Long Term Support (LTS) releases. Now that we’re close to the launch of Zephyr’s first LTS, it’s a good time to reflect on the benefits an LTS provides and why the project is doing this.
Since the project launch, the Zephyr code base has been evolving rapidly, as developers joined in and have been participating in shaping Zephyr into something that suits the products they want to create on top of it. From Linux, and other open source projects, we’ve learned that having an LTS is an excellent tool for companies who don’t want to be tracking the latest development code base, but want a supported operating system to use when creating products. When companies put out products they need to support them for a specific, often extended periods of time. By basing a product on an LTS, a company can take advantage of the shared support providing security and severe functional fixes as issues are discovered over time.
One of the goals of this LTS has been stabilizing the Application Programming Interfaces (APIs). By testing and stabilizing these interfaces to the operating system, we create a sound and stable foundation for applications. The Zephyr Project’s Technical Steering Committee (TSC) explicitly decided on using 2 quarters for developing this release last October, so that the APIs could be stabilized and the code base could be prepared for creating an auditable version.
For Zephyr to make a development release, the number of known bugs must be less than an agreed upon threshold, but for an LTS this threshold is even stricter. For an LTS, no high-severity bugs, only 20 medium-severity and 50 low-severity are allowed. A regular development release did not have criteria on the number of low-severity bugs permitted. The more bugs we squeeze out of the code base before the release, the better.
The LTS release will be maintained and have security fixes back-ported onto it, for at least the next two years. It is not a target for new features or substantial improvements, that’s what the next development releases are for (which will resume on their quarterly cadence after this release is made), but is going to be a stable base that the project can use as a foundation to start to pursue getting the Zephyr code base certified to comply with safety and security standards. If severe or security-related bugs are found during the process of going through certifications, they will be fixed in the LTS, as well as in the main development code base.
Stay tuned for more details about Zephyr’s new LTS release. In the meantime, to learn more about Zephyr’s release processes, documentation is available at: https://docs.zephyrproject.org/latest/development_process/release_process.html and questions are welcome on Zephyr’s slack channels.