¿Cuál Es El Costo De Usar Software De Código Abierto?

El software de código abierto se ha convertido en un componente esencial en el desarrollo de software a nivel global, siendo utilizado en más del 90% de las bases de código existentes. Aunque se le elige a menudo por ser una alternativa económicamente viable frente al software propietario, el mantenimiento de este software conlleva un costo significativo en términos de tiempo y recursos.

En un esfuerzo por comprender mejor estos costos, Google llevó a cabo un estudio centrado en evaluar el esfuerzo requerido para mantener actualizados en su entorno cientos de paquetes de software de código abierto. Se formularon preguntas clave como: ¿Cuánto tiempo le toma a un ingeniero actualizar un paquete de software de código abierto? Y, ¿pueden predecirse los esfuerzos de actualización a través de métricas de complejidad?

El estudio reveló que, aunque la mayoría de las actualizaciones de paquetes dentro de Google toman menos de cuatro horas, algunas pueden prolongarse de días a meses. Factores que pueden complicar estas actualizaciones incluyen parches y personalización local, el número de dependencias del paquete, y la cantidad de colaboradores externos. Estos factores resultaron ser mejores indicadores de la complejidad de las actualizaciones que otros como la antigüedad del paquete o el número de equipos utilizándolo internamente.

Una serie de limitaciones fueron reconocidas en la investigación, como un sesgo hacia el lenguaje de programación Go y la falta de inclusión de paquetes que ya no están activos. Estas limitaciones sugieren la necesidad de más investigaciones para comprender completamente los costos asociados al mantenimiento de software de código abierto.

A pesar de estas limitaciones, el estudio proporciona una base importante para futuras investigaciones y para la evolución del uso de software de código abierto no solo en Google, sino en la industria en general. Los hallazgos subrayan la importancia de considerar múltiples factores complejos a la hora de actualizar y mantener paquetes de software, una tarea que, aunque desafiante, sigue siendo fundamental en la era digital actual.
vía: Google Blog Open Source

Scroll al inicio