OpenEmbedded and The Yocto Project: Difference between revisions

From Openembedded.org
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
The relationship between OpenEmbedded and the Yocto Project confuses many people. If you have questions, mail them to <code>board@openembedded.org</code> and we will try to add answers here.
The relationship between OpenEmbedded and the Yocto Project confuses many people. If you have questions, mail them to <code>board@openembedded.org</code> 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 [https://spi-inc.org Software in the Public Interest] (which helps many other Open Source projects).
==Yocto Project Overview==
The Yocto Project is a [https://www.linuxfoundation.org/ 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. Many Yocto Project meetings and mailing lists are closed, although public discussion on mailing lists and public meetings to engage the wider community happen frequently.
''Note:'' Most of the "closed" nature of the Yocto Project is primarily related to governance; you do not have to be a member to contribute code to projects owned by the Yocto Project as all of their code is also Open Source.
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?===
===Why two organizations?===


Without going into a lot of history, the straight forward answer is that; OpenEmbedded is the organization representing the developers who created the OpenEmbedded build system many years ago. It is a stand alone organization that is also a [https://spi-inc.org Software in the Public Interest] associated project (SPI provides financial services). The [https://www.yoctoproject.org Yocto Project] is a Linux Foundation project. The Linux Foundation is an organization serving its corporate members. OpenEmbedded will continue to serve the needs of the OpenEmbedded developers and larger community of people using OpenEmbedded.
Without going into a lot of history, the straight forward answer is that; OpenEmbedded is the organization representing the developers who created the OpenEmbedded build system many years ago. Keeping OpenEmbedded as a separate entity allows it to continue to serve the needs of the OpenEmbedded developers and larger community of people using OpenEmbedded (including the Yocto Project).
 
===Yocto Project Membership===


The Yocto Project has substantial expenses maintaining the QA autobuilders and paying a couple of people working on the project. These are paid by project members. For companies under 500 people, Linux Foundation Membership + Yocto Project membership costs 15,000 - 20,000 US dollars.
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.

Revision as of 20:43, 18 March 2024

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. Many Yocto Project meetings and mailing lists are closed, although public discussion on mailing lists and public meetings to engage the wider community happen frequently.

Note: Most of the "closed" nature of the Yocto Project is primarily related to governance; you do not have to be a member to contribute code to projects owned by the Yocto Project as all of their code is also Open Source.

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?

Without going into a lot of history, the straight forward answer is that; OpenEmbedded is the organization representing the developers who created the OpenEmbedded build system many years ago. Keeping OpenEmbedded as a separate entity allows it to continue to serve the needs of the OpenEmbedded developers and larger community of people using OpenEmbedded (including the Yocto Project).

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.