Public procurement notice: Voluntary Ex Ante Transparency Notice
Published: 2023-06-16
Buyer: SPRIND GmbH
Country: DE
Contract type: Services
Procedure: Contract award without prior publication
CPV classification: 72268000: Software supply services | 73000000
Estimated value: 769829400 EUR

Technical requirements: independently of a device's hardware architecture and can therefore be used in a variety of contexts. The
Yocto project provides a flexible set of tools and a space where embedded developers worldwide can share
technologies, software stacks, configurations, and best practices that can be used to create tailored Linux
The Yocto Project helps developers create custom operating systems with open components that work independently of a device's hardware architecture and can therefore be used in a variety of contexts. The Yocto project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed.
. Implementing Patchtest, a tool that allows automated testing of code patches submitted via mailing lists. This would reduce the burden on project maintainers by encouraging better submissions, and identify recurring issues earlier.
. Updates and improvements to Toaster, which is a web UI to BitBake, which is yocto’s build system. This would make it easier for developers to use the system.
. General improvements to the core Workflow. As things stand, the project builds everything from source by default, which can be slow and heavy. These improvements aim at updating build tooling and build workflows, as well as build support for binary artifacts. This would encourage more developers to contribute to the project.
. Address feature backlog and bugs in project tooling. Some of the core tools that aid yocto developers in their workflow have not been improved in years. This work package focuses on fixing bugs in Devtool, Recipetool, and Pseudo, as well as some quality of life feature improvements in order to make it easier for contributors joining the project.
. OpenEmbedded Core is a layer containing build instructions for many pieces of core software that go into most Linux systems. Yocto project shares a layer of recipes called Meta-OpenEmbedded with the OpenEmbedded project, but some parts of it have not been maintained in a while. This work package aims at upstreaming the changes made by OpenEmbedded into this shared layer, which would improve the user experience and allow for their use by a wider audience.
. Implement Security improvements to the project, by updating security processes, establishing and training a security team, and implementing SBOMs.
. VSCode is a popular editor and IDE, and it has a yocto integration which lacks many developer features. This work package aims to improve the integration with yocto, to rely less on console development, and encourage more contributors to participate in the project.
. Yocto doesn’t provide it’s own binary distributions, and using it almost always requires building from source. In some cases, that is not necessary, but the burden of maintaining a binary distribution is still high in the project’s current state. This work package is to look at workflow improvements and policies that need to be implemented in order to make a yocto reference binary distribution feasible.
. OpenEmbedded scales and handles customisation through a “layers” approach. Whilst layers themselves have a clearly defined structure, the setup of layers in any given workspace or environment is left to the user, which can be confusing to newcomers. This work package aims at developing a standard for layer tooling to allow more consistency and easier workflows.
As a research and development service, the contract is excluded from the scope of application of public procurement law (cf. Section 116 (1) No. 2 Act against Restraints on Competition).


Winner: The Linux Foundation
Award value: 769829400