OpenEmbedded and The Yocto Project

From Openembedded.org
Jump to navigation Jump to search

The relationship between OpenEmbedded and the Yocto Project confuses many people. If you have questions, mail them to board@openembedded.org and we will try to add answers here.

OpenEmbedded Overview

OpenEmbedded is community driven Open Source project. Individuals are not required to be a member to contribute to the project, but is highly encouraged and recommended if you want to help steer the direction of the project or serve on any of the various boards (e.g. the Technical Steering Committee). The project owns the OpenEmbedded Core layer, meta-openembedded which provides additional community maintained recipes, the bitbake build tool, and in general any git project hosted on https://git.openembedded.org. Project discussion and discourse is primarily done on public mailing lists, and most meetings are open for anyone to join. OpenEmbedded general holds a few meetings a year for developers to discuss topics of relevance to the project.

OpenEmbedded accepts donations to keep the light on and the servers running, with the financial services provided by Software in the Public Interest (which helps many other Open Source projects).

Yocto Project Overview

The Yocto Project is a Linux Foundation project which primarily provides resources to help encourage and sustain development of Embedded systems using OpenEmbedded. The Yocto Project consumes from and contributes back to OpenEmbedded Core and bitbake from OpenEmbedded, in addition to owning and maintaining it's own additional layers and codebases such as poky. The Yocto Project provides funding for full and part time staff to work on the project, server infrastructure to perform automated testing (the AutoBuilder), web hosting for the project website and project documentation, manages the release schedule, and provides the Poky reference distribution as a stable testing target (which is necessary due to the large amount of configuration and customization allowed in OpenEmbedded).

Membership in the Yocto Project is primarily focused on companies or organizations that are involved in the Linux Embedded Ecosystem. Membership is through the Linux Foundation, and generally requires the paying of membership fees. These fees are used to pay for the resources listed above.

OpenEmbedded is a member organization of the Yocto Project and elects representatives from its own members.

FAQ

Am I contributing to Yocto Project, or OpenEmbedded?

In general, if you are committing to a repo on https://git.openembedded.org/, that is directly contributing to the OpenEmbedded. This could also be considered indirectly contributing to the Yocto Project also, since it consumes many of the repositories provided by OpenEmbedded.

If you are contributing to a repo on https://git.yoctoproject.org/, that is most likely a contribution to the Yocto Project, although be aware that the popular poky repo is an amalgamation of some OpenEmbedded repos and some Yocto Project repos into one juicy git tree, so in there it will likely depend on which directory you are looking at :)

The other way that can help to differentiate is to look at the mailing list where patches are sent: OpenEmbedded projects will typically use a mailing lists on lists.openembedded.org whereas Yocto Project uses mailing lists on lists.yoctoproject.org

Is Person X Working with Yocto Project or OpenEmbedded?

It can sometimes be confusing as to which project a given person is working with/for. The reason for this is actually simpler than it might seem at first: Many of the developers on the project are passionate about Embedded Linux and thus have (as individuals) joined OpenEmbedded. In addition, since their passion is Embedded Linux, they tend to gravitate toward Embedded Linux careers, and the companies that provide those are sometimes members of (or even just involved with) the Yocto Project. This means you may frequently encounter the same people in both project contexts.

Why two organizations?

There is a lot of history behind this but it amounts to needing decision making processes both for developer/community interests and also having decision making processes which can work for business/commercial interests. OpenEmbedded is the organization representing the developers and community who created the OpenEmbedded build system. Without it, it would be hard to quantify and represent the developer community which supports the open source project. Yocto Project membership is the other half of this equation and the two balance and work together symbiotically.

While OpenEmbedded and the Yocto Project are distinct entities, and each runs their domains differently, it is important to note that both have the same goal of advancing and enabling Embedded Linux, and both benefit from each other in a symbiotic relationship.