Yocto Project
# Yocto Project

El Proyecto Yocto es un proyecto de Fundación Linux colaborativo de código abierto cuyo objetivo es producir herramientas y procesos que permitan la creación de distribuciones de Linux para software embebido y IoT que sean independientes de la arquitectura subyacente del hardware embebido. El proyecto fue anunciado por la Fundación Linux en 2010 y lanzado en marzo de 2011, en colaboración con 22 organizaciones, incluyendo OpenEmbedded.

El Proyecto Yocto se centra en mejorar el proceso de desarrollo de software para las distribuciones de Linux embebido. El Proyecto Yocto proporciona herramientas interoperables, metadatos y procesos que permiten el desarrollo rápido y repetible de sistemas embebidos basados en Linux en los que cada aspecto del proceso de desarrollo puede ser personalizado.

En octubre de 2018, Arm Holdings se asoció con Intel con el fin de compartir código para sistemas embebidos a través del Proyecto Yocto.

## Ámbito del proyecto

El Proyecto Yocto tiene la finalidad y el objetivo de intentar mejorar la vida de los desarrolladores de sistemas Linux personalizados que soporten las arquitecturas ARM, MIPS, PowerPC y x86/x86-64. Una parte clave de esto es el sistema de construcción OpenEmbedded, que permite a los desarrolladores crear su propia distribución de Linux específica para su entorno. El Proyecto Yocto y el Proyecto OpenEmbedded comparten el mantenimiento de las partes principales del sistema de construcción OpenEmbedded: el motor de construcción, BitBake, y el núcleo de metadatos, OpenEmbedded-Core. El Proyecto Yocto proporciona una implementación de referencia llamada Poky, que contiene el sistema de compilación de OpenEmbedded además de un gran conjunto de recetas, organizadas en un sistema jerárquico de capas, que puede utilizarse como una plantilla totalmente funcional para un sistema operativo embebido personalizado.

Hay varios otros subproyectos bajo el paraguas del proyecto que incluyen CROPS, pseudo, cross-prelink, Eclipse integración (se ha eliminado a partir de la versión 2.7), la matchbox suite de aplicaciones, y muchos otros. Uno de los objetivos centrales del proyecto es la interoperabilidad entre estas herramientas.

El proyecto ofrece objetivos de diferentes tamaños, desde imágenes "diminutas" hasta imágenes completas que son configurables y personalizables por el usuario final. El proyecto fomenta la interacción con proyectos upstream y ha contribuido en gran medida a OpenEmbedded-Core y BitBake así como a numerosos proyectos upstream, incluyendo el kernel de Linux. Las imágenes resultantes suelen ser útiles en sistemas en los que se utilizaría Linux embebido, siendo estos sistemas enfocados a un solo uso o sistemas sin las pantallas/dispositivos de entrada habituales asociados a los sistemas Linux de escritorio.

Además de construir sistemas Linux, también existe la posibilidad de generar una cadena de herramientas para compilación cruzada y un kit de desarrollo de software (SDK) adaptado a su propia distribución, también denominado Application Developer Toolkit (ADT). El proyecto trata de ser agnóstico en cuanto a software y proveedores. Así, por ejemplo, es posible seleccionar qué formato de gestor de paquetes utilizar (deb, rpm, o opk).

Dentro de las compilaciones, hay opciones para varias sanity/regression tests, y también la opción de arrancar y probar ciertas imágenes bajo QEMU para validar la compilación.

El proyecto es conocido por hacer de la buena documentación una prioridad e intenta actualizar la documentación para cada versión, conservando todos los documentos para las versiones actuales y archivadas en el sitio web, ya que la documentación puede cambiar significativamente con cualquier versión.

## Gobierno

El Proyecto Yocto es uno de los muchos proyectos de colaboración organizados sin ánimo de lucro bajo la bandera de la Fundación Linux.

La gobernanza del proyecto se divide vagamente en brazos administrativos y técnicos, aunque muchos miembros participan en ambos campos.

A nivel técnico, el proyecto es supervisado por el arquitecto del proyecto Richard Purdie (un miembro de la Fundación Linux) que tiene una larga historia de participación con muchos de los componentes y tecnologías del proyecto. El arquitecto mantiene una jerarquía de mantenedores para los diferentes componentes del sistema, de forma similar a como se mantiene el kernel de Linux.

El brazo administrativo consiste en un Consejo Asesor formado por representantes de las organizaciones miembros del proyecto, incluyendo varios de los principales vendedores de silicio, vendedores de sistemas operativos comerciales que utilizan el Proyecto Yocto como su upstream, usuarios corporativos, así como representantes de grupos como consultores de software y miembros de la comunidad. Las organizaciones miembros de este consejo proporcionan recursos al proyecto. También hay varios grupos de trabajo de la Junta Consultiva que se encargan de las funciones administrativas del proyecto, como las finanzas, la infraestructura, la promoción y la divulgación, y la gestión de la comunidad.

## Lanzamientos

Las versiones principales se producen aproximadamente cada 6 meses (abril y octubre), con versiones puntuales para las tres últimas.

| Versión | Nombre en clave | Fecha |
| - | - | - |
| 3.3 | Hardknott | 04/2021 |
| 3.2 | Gatesgarth | 11/2020 |
| 3.1 | Dunfell | 04/2020 |
| 3.0 | Zeus | 10/2019 |
| 2.7 | Guerrero | 04/2019 |
| 2.6 | Thud | 11/2018 |
| 2.5 | Sumo | 04/2018 |
| 2.4 | Rocko | 10/2017 |
| 2.3 | Pyro | 04/2017 |
| 2.2 | Morty | 10/2016 |
| 2.1 | Krogoth | 04/2016 |
| 2.0 | Jethro | 10/2015 |
| 1.8 | Fido | 04/2015 |
| 1.7 | Dizzy | 10/2014 |
| 1.6 | Daisy | 04/2014 |
| 1.5 | Dora | 10/2013 |
| 1.4 | Dylan | 04/2013 |
| 1.3 | Dylan | 10/2012 |
| 1.2 | Denzil | 04/2012 |
| 1.1 | Edison | 10/2011 |
| 1.0 | Bernard | 2011 |
| 0.9 | Laverne | 2010 |

## Programa de marca

El Programa de Marca del Proyecto Yocto ofrece la oportunidad de asociar el valor del uso del Proyecto Yocto con una empresa o producto. El Programa de Marca del Proyecto Yocto define los pasos para registrar a las organizaciones como Participantes del Proyecto Yocto, y el contenido como Compatible con el Proyecto Yocto. Participante del Proyecto Yocto es apropiado para organizaciones que usan y apoyan el Proyecto Yocto públicamente. Compatible con el Proyecto Yocto es apropiado para productos, BSPs, y otras capas compatibles con OE, y proyectos de código abierto relacionados, y está abierto a las organizaciones miembros del Proyecto Yocto.

