Como las comunidades crean una distribución
Alberto Rodríguez Sánchez
Nota: Perdón si no es muy técnica la charla, pero me sentí inspirado por la charla de Mark Dowd en OffensiveCon 2022
https://www.slideshare.net/MarkDowd13/rules-to-hack-by-offensivecon-2022-keynote-251318003
El proyecto Fedora
El Proyecto Fedora es una comunidad de personas que trabajan juntas para construir una plataforma de software de código abierto y libre, y para colaborar y compartir soluciones centradas en el usuario basadas en esa plataforma. O, en corto, creamos un sistema operativo y te lo facilitamos para que hagas cosas útiles con él.
Acerca de mi
Beto
(a.k.a bt0dotninja)
- @arsandtech en Twitter.
- @bt0dotninja en Telegram.
- bt0dotninja@fedoraproject.org
- bt0@fedoraproject.org
- bt0 en Libera Chat.
Mis grupos de Trabajo
- CommOps
- dotnet
- Marketing
- Fedora-Join
- Fedora México
- Infra apprentice
- MindShare
- Fedora Council
- Ambassadors
- Neuro Fedora
Mis grupos de Trabajo
- CommOps
dotnet- Marketing
- Fedora-Join
- Fedora México
- MindShare
- Fedora Coincil (hasta el 10 de mayo)
Infra apprentice- Ambassadors
- Neuro Fedora
Actividades
- Métricas y análisis de datos (Commops)
- Manejo de cuenta de Youtube (Marketing)
- Manejo de cuenta de Twitter @fedoracommunity (Marketing)
- Software testing (dotnet)
- Mentor en GSoC, GCI y Outreachy (Mentor General y FHP)
- Documentación (Infra, Fedora Docs)
- Asignación de recursos (Mindshare)
- Buscar nuevos colaboradores (Ambassadors)
- Mantener el Grupo de advocates (Mindshare)
- Spin Master (Neuro Fedora)
Yo siempre
Title Text
Title Text
Como se contruye una distribución de Linux
Lobo Solitario
Como se contruye una distribución de Linux
Seleccionar la plataforma y arquitectura
Como se contruye una distribución de Linux
- Crear Toolchain (Linker, compiler, c libs)
- Compilar Kernel
- Compilar y probar init
- Adicionar más herramientas
Método iterativo
Virtex 2 pro
Detalles
- Arquitectura PowerPC
- Hasta 2Gb de RAM
- Gigabit Ethernet
- Kernel de linux 2.32
- uClibc
- Busybox
- 32Gb de almacenamiento
Aproximadamente un año de desarrollo
Hace 11 años
Limitaciones
- Una sola arquitectura
- Resultado artesanal
- Difícilmente reproducible
- Poco escalable
Si queremos hacer más, necesitamos hacer comunidad.
Todas las distribuciones son downstream
- Tomamos el software libre creado por otros proyectos (Kernel, KDE, GNOME, etc).
-
Se empaqueta buscando que se pueda integrar al resto de la distribución y que su construcción sea reproducible.
- Hacer pruebas para identificar bugs, reportarlos, y aplicar los parches.
- Entregar un resultado unificado y usable
Nuestros amigos colaboradores son geniales
- SysAdmins
- Diseñadores gráficos
- Desarrolladores
- Embajadores
- Testers
- Empaquetadores
- y muchos mas
Organizando el realase
Rawhide
Rawhide está en constante cambio y desarrollo. Aquí entran los nuevos paquetes y cambios.
Branched
Aproximadamente cada 10 semanas (según el calendario planeado), se realiza un branch de rawhide y se inicia el desarrollo para estabilizar esa rama antes de volverse un release.
Esto significa que se considera que el desarrollo de una versión de Fedora comienza en el momento en que su "predecesor" se deriva de Rawhide.
Por ejemplo, el desarrollo de Fedora Linux 37 comenzó el día después de que Fedora Linux 36 se bifurcó de Rawhide y entró en el proceso de estabilización.
La versión branched debe cumplir los requisitos para que las actualizaciones se marquen como "estables" según lo establecido en la Política de actualizaciones.
Los paquetes deben pasar por el repositorio ''updates-testing'' antes de ingresar a su repositorio ''estable'', de acuerdo con las reglas definidas en la política de actualizaciones.
Mantenimiento
Históricamente, el Proyecto Fedora soporta dos releases más Rawhide y el código en Branched previo al lanzamiento es una carga de trabajo manejable.
End of Life (EOL)
Se dejan de construir paquetes de versiones EOL
¿Como se decide que un release esta listo?
Fedora
Cree que el software tiene que ser utilizable para ser útil, por lo que, si bien sabemos que tener releases que se ajusten a algún cronograma es importante, también nos aseguramos de que cada lanzamiento cumpla con nuestros criterios.
Release-blocking desktops
El conjunto actual de escritorios en esta categoría son GNOME y KDE, y para aarch64 es GNOME. Ningún escritorio bloquea la versión para ARM de 32 bits.
release-blocking images
Incluye las imágenes definidas por los tres Productos principales (Server, Workstation y Cloud) en los documentos de requisitos del producto y/o especificaciones técnicas, y la imagen en vivo de KDE.
Consejos para ser un colaborador exitoso
Asigna tiempo
Ser consciente de que muchas veces no podemos dedicar mucho tiempo al proyecto, pero comprometer digamos 4 horas a la semana es un buen comienzo.
Explica a tu familia, compañeros de trabajo y amigos que no estas en una secta.
Observa primero
Aprende de la organización y actividades del grupo al que quieres pertenecer
Escoge algo en lo quieras trabajar
Nunca inicies haciendo cosas que no gustan.
No quieras comerte el pastel de un bocado
Tomar como primera tarea algo muy grande aumenta drásticamente las probabilidades de fallar.
Lo mismo que tomar muchas tareas al tiempo.
La clave es un crecimiento lento, constante y sostenible como colaborador.
No quieras volverte el FPL como primera actividad (Por ejemplo, mi plan esa 10 años).
Contribuir vale mucho la pena
¿En que puedo contribuir?
Fedora Join Team
Crear una cuenta
Gracias
Comunidades y disitribuciones
By Alberto Rodríguez Sánchez
Comunidades y disitribuciones
- 503