These are the individual projects that make up the Yocto Project. Each of these holds a key role in developing embedded Linux, and the Yocto Project works to make all of them interoperable and useful.
OpenEmbedded Core contains base layer of recipes, classes and associated files that is meant to be common among many different OpenEmbedded-derived systems, including the Yocto Project. This set of metadata is co-maintained by the Yocto Project and the OpenEmbedded Project.
Prior to version 1.0, the Yocto Project has integrated recipes and other build metadata from the OpenEmbedded project through the Poky reference system, which has been in partnership with OpenEmbedded for many years. The Yocto Project and OpenEmbedded have agreed to work together and share a common core set of metadata, oe-core, which contains much of the functionality previously found in Poky. This collaboration achieves a long-standing OpenEmbedded objective for having a more tightly controlled and quality-assured core. The results also fit well with a Yocto Project objective of achieving a smaller number of fully featured tools as compared to many different ones.
Sharing a core set of metadata results in Poky becoming an integration layer on top of oe-core. The Yocto Project combines various components such as BitBake, OE-Core, various script "glue", and documentation for its build system, but this is primarily using oe-core technology where at all possible.
The following diagram illustrates the new system, which is still under development. Most of the layers can be optional or customised, as per the developer's requirements.