¿Un exceso de celo documental? El costo ambiental de regenerar PDF en el empaquetado RPM

Procedo a hacer un análisis sobre la huella de carbono —que tiene un inevitable impacto ambiental— y la eficiencia en la cadena de construcción de software libre, que en recientes años ha influido de manera significativa en la política de empaquetado de software distribuido por Alcance Libre, particularmente el que se distribuye para ALDOS.

Introducción: El detonante de una práctica heredada

Cualquier persona que se dedique a empaquetar software para distribuciones Linux derivadas de Fedora —como su humilde servidor— se ha enfrentado a la misma situación: al compilar un paquete aparentemente sencillo, el sistema comienza a descargar e instalar cientos de paquetes de TeX Live, sumando más de 2 GiB de dependencias. El objetivo final de este proceso masivo es —con frecuencia— regenerar unos pocos megabytes de documentación en formato HTML, PDF o DVI que —tras una inspección minuciosa— ya estaban incluidos en el código fuente original de los autores originales (upstream)..

Este escenario plantea una pregunta incómoda que trasciende la mera inconveniencia: en un ecosistema que valora la eficiencia y la colaboración liviana, ¿justifica el beneficio marginal de regenerar documentación localmente el enorme costo computacional y ambiental que implica?

Este artículo busca analizar esta práctica desde una perspectiva técnica y ambiental, cuestionando sus premisas en el contexto moderno y proponiendo un camino hacia un proceso de empaquetado más eficiente y consciente de sus recursos de sistema utilizados y la energía requerida.

Análisis técnico: El impacto de una sola línea en el archivo .spec

El núcleo del problema reside en directivas heredadas en los archivos de especificación (.spec) para la construcción de paquetes RPM. Muchos de estos archivos, copiados y adaptados a lo largo de los años, suelen incluir una sección condicional %{?with_doc} o mandatos directos para ejecutar make en objetivos como pdf o docs.

El impacto es tangible y se multiplica con cada construcción:

Dependencias masivas: La instalación completa o parcial de TeX Live, un sistema tipográfico enorme, se activa como dependencia de compilación (BuildRequires).

Tiempo de construcción inflado: Lo que debería ser una compilación de minutos se convierte en un proceso que puede extenderse por media hora o más, dedicada a procesar documentos.

Recursos desechables agotados: Cuando se usa mock —la herramienta estándar para crear entornos de construcción limpios y reproducibles—, estos gigabytes de paquetes de TeX Live se instalan en una instancia efímera que será destruida al finalizar el trabajo. Este ciclo se repite en cada reconstrucción, consumiendo ancho de banda, ciclos de CPU y operaciones de Entrada/Salida (I/O) de manera redundante.

La dimensión olvidada: La huella de carbono del empaquetado

Aquí es donde el debate técnico adquiere una dimensión ética y ambiental. Cada acción en la cadena de suministro de software consume energía. Sin excepciones.

Energía de CPU: Compilar LaTeX es un proceso intensivo.
Ancho de banda y almacenamiento: Descargar y almacenar repetidamente los mismos paquetes de TeX Live en servidores de compilación, espejos y estaciones de trabajo…