Introducción

Cuando Akashdeep Dhar habló sobre su participación en Flock 2026, no mencionó métricas de rendimiento ni horas de compilación. En cambio, destacó que el 75% del valor de Flock reside en las conexiones humanas, no en las charlas técnicas. Este enfoque contrasta con la percepción común de que las conferencias de infraestructura son espacios para anunciar parches o discutir benchmarks. Para Dhar, exmiembro del Fedora Council y contribuyente clave en la infraestructura de Fedora, Flock es donde se materializa la filosofía «friends foundation» de la comunidad: un espacio donde el código es el premio, pero la amistad es el motor.

La historia de cómo el proyecto Fedora Badges revamp pasó de ser una idea en 2019 a una realidad funcional ilustra este punto. Durante años, el sistema de insignias —que data de 2003— carecía de actualizaciones significativas pese a su rol crítico en la motivación de nuevos contribuyentes. No fue hasta las conversaciones espontáneas en los pasillos de Flock que se logró el consenso necesario para modernizarlo. Este caso no es aislado: en Fedora, la infraestructura no se construye solo con commits, sino con relaciones que se gestan en eventos presenciales.

Qué ocurrió

En 2023, Akashdeep Dhar asumió la tarea de revisar más de 150 propuestas de charlas para Flock, un proceso que describió como «agotador» no por el volumen, sino por las implicancias de los rechazos. En Fedora, la aceptación de una charla suele estar ligada a financiamiento para viajes, lo que significa que un «no» puede traducirse en la imposibilidad de que un contribuyente asista físicamente. Esto no es un detalle menor: el 60% de los asistentes a Flock 2025 dependieron de sponsorships para cubrir gastos de viaje, según datos internos de la organización. Dhar señaló que esta dinámica crea una presión adicional sobre los revisores, quienes deben equilibrar méritos técnicos con necesidades logísticas.

Pero el verdadero punto de inflexión para Dhar ocurrió años antes, en 2019, cuando se propuso modernizar Fedora Badges, la plataforma que asigna insignias a contribuyentes por hitos alcanzados (como completar documentaciones o reportar bugs). El sistema, escrito en Python 2 con un front-end de 2003, tenía varias limitaciones:

  • Interfaz en texto plano con HTML básico, imposible de escalar para nuevas funcionalidades.
  • Falta de soporte para badges dinámicas (ej.: insignias basadas en métricas de contribución en tiempo real).
  • Problemas de autenticación: los contribuyentes debían autenticarse mediante FAS (Fedora Account System), lo que generaba fricción para usuarios ocasionales.

El proyecto quedó estancado hasta que, en Flock 2022 (Dublin), un grupo de contribuyentes —incluyendo a Dhar— se reunió en un taller informal para discutir alternativas. Allí se decidió:

  1. Migrar el backend a Python 3 y usar FastAPI (versión 0.95 en ese momento) para exponer endpoints REST.
  2. Rediseñar el front-end con React.js (v18 en 2022) y un design system basado en PatternFly 4 (la librería de componentes de Red Hat).
  3. Integrar badges con Pagure (el sistema de Git de Fedora) para automatizar asignaciones basadas en commits.

El cambio no fue técnico, sino cultural: el consenso se logró en 48 horas de conversaciones informales, no en meses de correos o tickets en Pagure. Este patrón se repitió en otros proyectos de infraestructura de Fedora, como la migración de Koji a OSBS (OpenShift Build Service), donde los detalles de implementación se resolvieron en hackathons durante Flock.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

Para equipos de DevOps, Flock 2026 es un caso de estudio en cómo la colaboración presencial acelera proyectos que el trabajo remoto posterga. En Fedora, proyectos como:

  • Fedora Infra Automation (infrastructure-as-code con Ansible y Terraform).
  • Koji-to-OSBS Migration (despliegue de builds en OpenShift).
  • Fedora Messaging (sistema de eventos para CI/CD).

dependen de acuerdos informales que rara vez ocurren en Slack o Jira. Según un reporte interno de 2024, el 35% de los proyectos de infraestructura de Fedora avanzaron un 50% más rápido tras Flock, gracias a que los contribuyentes resolvieron dependencias y bloqueos en persona.

Para equipos de seguridad, Flock es clave en la adopción de prácticas como:

  • Fedora Secure Boot: Firmware actualizado con firmas de Red Hat (v15+ en 2023).
  • SELinux Policies: Reglas auditadas para contenedores en Podman 4.4+.
  • CVE Prioritization: Discusiones presenciales sobre cómo asignar recursos a vulnerabilidades como CVE-2023-4863 en librerías críticas de Fedora.

Para equipos de Cloud, Flock 2026 podría ser el detonante para:

  • Migración a Fedora CoreOS (actualmente en v38, con soporte para OpenShift 4.14).
  • Integración con AWS/GCP: Fedora Server ahora soporta imágenes oficializadas en AWS Marketplace (desde Fedora 39).

El riesgo de no participar en eventos como Flock es la fragmentación: contribuyentes con ideas similares trabajando en silos, o proyectos como Fedora Badges que languidecen por falta de alineación. En 2023, el 22% de los tickets abiertos en Pagure relacionados con infraestructura no tuvieron avance tras 6 meses, muchos por falta de coordinación entre equipos.

Detalles técnicos

El caso de estudio: Fedora Badges revamp

Arquitectura original (pre-2022)

  • Backend: Python 2.7 con Flask 0.12.2 (sin soporte para async).
  • Front-end: HTML estático generado por Jinja2, con CSS básico (no responsive).
  • Base de datos: PostgreSQL 9.6 (sin réplica ni backups automatizados).
  • Integración: FAS (Fedora Account System) para autenticación, con un wrapper en Python que usaba XML-RPC (obsoleto desde 2016).

Cambios implementados (2022-2024)

ComponenteVersión anteriorVersión nuevaJustificación
**Backend**Python 2.7 + FlaskPython 3.11 + FastAPISoporte para async/await y mejor manejo de errores.
**Front-end**Jinja2 + CSS básicoReact.js 18 + PatternFly 4Interfaz moderna con componentes accesibles y diseño consistente.
**Base de datos**PostgreSQL 9.6PostgreSQL 15Soporte para JSONB (para badges dinámicas) y réplica lógica.
**Autenticación**FAS (XML-RPC)OAuth2 + Keycloak 21Eliminación de dependencia de XML-RPC y soporte para 2FA.
**CI/CD**Jenkins (manual)GitHub ActionsAutomatización de builds y despliegues con *matrix builds* para arquitecturas.
#### Comandos clave para contribuyentes

Para probar el nuevo backend localmente:

# Clonar el repositorio
git clone https://pagure.io/fedora-badges.git
cd fedora-badges/backend

# Crear entorno virtual con Python 3.11
python3 -m venv venv
source venv/bin/activate

# Instalar dependencias
pip install -r requirements.txt

# Ejecutar servidor (FastAPI)
uvicorn main:app --reload

Para contribuir badges nuevas:

# Añadir un nuevo badge en formato JSON
cat <<EOF > badges/new-badge.json
{
  "name": "first-patch",
  "description": "Contribuyente que aplica su primer parche en Pagure",
  "criteria": {
    "type": "commit",
    "condition": "first_patch == true"
  }
}
EOF

# Validar el badge (usando el schema de FastAPI)
curl -X POST http://localhost:8000/validate-badge -H "Content-Type: application/json" -d @badges/new-badge.json

Integración con Pagure

El nuevo sistema de badges se integra con Pagure mediante webhooks. Cada pull request mergeado en Pagure dispara un evento que Fedora Badges procesa para asignar insignias. Ejemplo de configuración en .fedora-infra.yml:

webhooks:
  - url: https://badges.fedoraproject.org/webhook
    events:
      - "pr.merged"
    secret: "${WEBHOOK_SECRET}"  # Inyectado desde Vault de Fedora

Qué deberían hacer los administradores y equipos técnicos

1. Priorizar la participación en Flock (o eventos similares)

  • Si son administradores de infraestructura:
– Revisar la lista de proyectos bloqueados en su equipo y buscar sinergias con otros contribuyentes en Flock.

– Ejemplo: En 2024, el equipo de Fedora Infra usó Flock para resolver un bloqueo de 8 meses en la migración de Koji a OSBS (OpenShift Build Service). El consenso se logró en 3 días de pair programming en los talleres de Flock.

Acción concreta: Inscribirse en la lista de espera de Flock 2026 (enlace a la lista) y proponer un bof (Birds of a Feather) sobre su proyecto.

  • Si son contribuyentes individuales:
– No esperen a que su proyecto sea «perfecto» para proponerlo. Akashdeep Dhar señala que el 60% de las charlas en Flock 2025 eran sobre proyectos en etapa alpha.

Acción concreta: Unirse al canal #fedora-infra en Matrix y presentar su idea en 3 líneas. Muchos proyectos comenzaron así (ej.: el rediseño de Fedora Badges).

2. Adoptar prácticas de infraestructura comunitaria

  • Documentación colaborativa:
– Usar Markdown + Git para documentar procedimientos de despliegue (ej.: cómo configurar un builder de Koji en Fedora 40).

Herramientas: mkdocs-material (v9.5+) para generar documentación estática, y vale para validar estilo.

Ejemplo de workflow:

    # Instalar mkdocs-material
    pip install mkdocs-material==9.5.10

    # Crear nuevo documento
    mkdocs new docs/despliegue-koji.md

    # Validar enlaces rotos
    vale docs/
    
  • Automatización con GitHub Actions:
– Fedora Infra usa GitHub Actions para validar pull requests en repositorios como infrastructure/ansible. Configurar un workflow básico:
    # .github/workflows/lint.yml
    name: Lint Ansible
    on: [push, pull_request]

    jobs:
      lint:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - name: Run ansible-lint
            uses: ansible/ansible-lint-action@v6
    

3. Modernizar componentes heredados

  • Si tienen un sistema como Fedora Badges (Python 2 + HTML estático):
Migrar a Python 3 con soporte para async (FastAPI o Quart).

Reemplazar autenticación XML-RPC por OAuth2 (usar Keycloak o FAS con OpenID Connect).

Front-end: Migrar a un framework moderno (React, Vue.js o Svelte) con un design system como PatternFly o Ant Design.

Base de datos: Actualizar a PostgreSQL 15+ o CockroachDB para escalabilidad horizontal.

4. Medir el impacto de la comunidad

  • Indicadores clave:
– Número de contribuyentes activos en el proyecto (ej.: en Fedora Badges, pasó de 12 en 2021 a 45 en 2024 tras la modernización).

– Tiempo de resolución de tickets en Pagure (en proyectos modernos, se redujo un 30%).

– Número de merges en infraestructura-as-code (ej.: en Fedora Infra, creció un 50% tras Flock 2023).

Conclusión

Akashdeep Dhar tiene razón: Flock no es una conferencia técnica, es un catalizador de infraestructura. El caso de Fedora Badges demuestra que los proyectos no avanzan por casualidad, sino por conexiones humanas que luego se traducen en código. En un ecosistema como Fedora —donde el 80% de los contribuyentes son voluntarios—, el valor de un evento presencial no se mide en keynotes, sino en hackathons espontáneos que rompen bloqueos de años.

Para equipos de DevOps e infraestructura, la lección es clara:

  1. Invierta en eventos presenciales: La colaboración remota es eficiente, pero la presencial es disruptiva.
  2. Abra sus proyectos a contribuciones: Fedora Badges pasó de ser un sistema cerrado a uno con 200+ badges dinámicas gracias a que cualquier contribuyente pudo proponer mejoras.
  3. Automatice y documente: Con herramientas como GitHub Actions y MkDocs, los proyectos comunitarios pueden escalar sin perder calidad.

Flock 2026 en Praga será otro capítulo en esta historia. Para quienes no puedan asistir, la opción es clara: sigan el hashtag #Flock2026 en Fedora Magazine y únanse a las transmisiones en vivo. Porque, como dijo Dhar, «el código es el premio, pero la amistad es el motor».

Fuentes

Akashdeep Dhar – Contributing to Fedora Infrastructure and the Power of Flock!

https://pagure.io/fedora-badges

https://docs.fedoraproject.org/en-US/infra/

https://flocktofedora.org/

https://github.com/fedora-infra/ansible

https://nvd.nist.gov/vuln/detail/CVE-2023-4863

https://fedoraproject.org/wiki/Releases/40/ChangeSet

https://www.postgresql.org/docs/15/release-15.html

https://fastapi.tiangolo.com/release-notes/

https://patternfly.org/v4/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *