¿Es sostenible la ciencia de datos basada en Software Libre?

Publicado el 18 febrero 2022 por Daniel Rodríguez @analyticslane

A finales del año pasado saltaba la noticia de la existencia de una vulnerabilidad crítica en Apache Log4j, afectando a millones de aplicaciones y servicios que usaban esta librería para la creación de los logs. Poniendo en jaque a miles de pequeñas, medianas y grandes empresas. La gravedad del fallo de seguridad se puede ver en el hecho de que la noticia ha llegado a las portadas de los medios de comunicación generalistas, no solo los tecnológicos. Lo que no es habitual y solamente se puede ver cuándo se producen importantes ataques a grandes empresas o instituciones públicas. Algo que se descubrió con la vulnerabilidad es que Apache Log4j, a pesar de ser una pieza clave para miles de empresas, el mantenimiento lo llevaban únicamente tres voluntarios en su tiempo libre. Lo que también sucede en miles de proyectos usados a diario por miles de científicos de datos. Algo que nos puede llevar a plantear: ¿puede ser sostenible la ciencia de datos basada en Software Libre?

Las ventajas del Software Libre

En los últimos años se ha visto que el Software Libre es una excelente opción a la hora de lanzar proyectos tecnológicos. Aunque para muchos responsables de proyectos lo más llamativo de este tipo de software es el coste de adquisición de licencias, generalmente no tiene coste, sus ventajas van mucho más allá. A diferencia de las soluciones basadas en software propietario, donde generalmente no es posible acceder al código fuente, en el caso del software libre es posible revisar el código fuente e introducir modificaciones. Aunque esto no se hace en la mayoría de los casos, es una garantía cuando se desea auditar los programas en búsqueda de errores y puertas traseras. Habitualmente el software se usa como un componente sin revisar el mismo.

Estas ventajas, especialmente la barrera de entrada que tiene el precio de las soluciones comerciales ha facilitado el uso de este tipo de software. Sin olvidar que en muchos casos la calidad puede ser incluso mejor que la del software propietario. En el caso de los científicos de datos, una gran mayoría del trabajo se realiza en la actualidad con Python, R o Julia. Ampliando las funcionalidades de las plataformas con los paquetes que se pueden encontrar en repositorios públicos como PyPI, CRAN y Registro General de Julia respectivamente.

Desventajas del Software Libre

Quizás la principal desventaja del software libre es la falta de soporte. Algo que no se ve en los grandes proyectos como pueden ser Linux, Python, R o Julia, pero sí que afecta a muchas librerías claves en el día a día.

En este punto me gustaría que pensasen en cuáles son los paquetes que usas en tu día a día. Luego que pienses en las dependencias de esos paquetes, aquellos que son necesarios instalar para que estos puedan funcionar. ¿Cuántos de estos están mantenidos por una persona en su tiempo libre? O peor, ¿cuántos de estos están abandonados por sus desarrolladores? Paquetes que pueden dejar de funcionar tras una actualización de Python, R o Julia. Aunque para mantener los sistemas en producción existe la solución de no actualizar sus componentes. Esto puede ser un problema mayor si existen fallos de seguridad que pueden ser fácilmente atacados, como fue el caso de Apache Log4j. Aunque no es habitual en el caso de los proyectos que hacemos los científicos de datos, es algo posible.

El problema es la falta de incentivos y algunos usuarios

Realmente para publicar un paquete en un repositorio público no suele existir más incentivo que la satisfacción personal. A lo mejor satisfacer el ego. Pero no existe ningún otro incentivo.

Por otro lado, al publicar el paquete aparecen las consultas de soporte. Algo que, en el caso de que el proyecto se vuelva popular, puede llegar a ser abrumador. Especialmente si solo lo mantiene una persona. Pudiendo llegar a recibir consultas en las que el usuario exige respuestas urgentes como si existiese un servicio de atención al cliente 24/365. Algo que puede llevar al abandono de los proyectos por parte de sus desarrolladores.

Así no podemos preguntar si se puede basar la ciencia de datos basada en Software Libre

Personalmente pienso que sí. Es posible seguir realizando proyectos de ciencia de datos basada en Software Libre, así como en otras áreas, trabajando con Software Libre. Aunque debemos ser conscientes que muchos de estos proyectos están mantenidos únicamente por voluntarios.

Además de esto, si el software es de utilidad para nosotros y el proyecto lo admite no está de más hacer un donativo para su mantenimiento. Haciendo los donativos especialmente con aquellos proyectos pequeños que sean de utilidad para nosotros, ya que estos no suelen tener el soporte detrás de una empresa o una fundación.