La importancia y la viabilidad del software libre
-------------------------------------------------
Por tradición y por necesidad, los matemáticos adoptaron muy pronto los principios de la ciencia abierta (software, datos y publicaciones libres; véase *
Tangente Éducation*
50, 2019). El
software GAP (Grupos, algoritmos, programación, GAP Group, 1986), fruto del trabajo de cientos de investigadores durante más de treinta años, es un ejemplo emblemático. La aparición de lenguajes de programación de alto nivel, bibliotecas y metodologías de colaboración masiva permite combinar estos elementos en sistemas de cálculo de propósito general como SageMath (
The SageMath Developers, 2005, basado en Python), lo que demuestra la viabilidad de alternativas al software propietario o no libre.
Un reconocimiento institucional
-----------------------------------
Desde hace algunos años, la ciencia abierta recibe por fin reconocimiento y apoyo institucionales. La financiación pública europea de ocho millones de euros para el proyecto
OpenDreamKit (de 2015 a 2019, centrado en el software matemático libre y en su integración con el ecosistema Jupyter para el cálculo interactivo) es prueba de ello.
La financiación pública alemana del proyecto Oscar (para los sistemas de cálculo matemático del futuro, basado en Julia [Bezanson, Karpinski, Shah et al., 2012]) va en el mismo sentido. Más recientemente, el ingeniero de investigación Bill Allombert acaba de recibir —junto con otros miembros del personal de apoyo a la investigación— la medalla de cristal 2020 del CNRS por su labor de desarrollo y mantenimiento del software libre de cálculo aritmético PARI/GP (The PARI Group, 1985), cuya comunidad de usuarios se estima en veinticinco mil personas.
Una tendencia de fondo
--------------------
Gracias a los avances en modularidad e interoperabilidad, se pasa progresivamente de programas informáticos desarrollados en silos (cada uno con su comunidad y su entorno específico) a «ecosistemas de ecosistemas». Así, se ha vuelto fácil redactar y publicar un documento interactivo que otros pueden utilizar de inmediato en línea. En el otro extremo del espectro, esos mismos elementos permiten a una institución desplegar para sus usuarios un servicio que reúne numerosos programas y recursos físicos, con la posibilidad de elegir entre interfaces conocidas, como Jupyter (Fernando Pérez et al., 2015) o RStudio (Joseph Allaire y RStudio Inc., 2011).
Esta tendencia de fondo hacia la colaboración masiva reduce las barreras entre sistemas, entre ámbitos científicos, entre desarrolladores y usuarios. Sin embargo, tiene un coste: ¡el panorama es complejo! No obstante, el entorno Jupyter con Python (Python Software Foundation, 1991) y después SageMath, puede ser un buen punto de partida.
Pionero desde sus inicios, CoCalc (William Stein, 2013) permite la edición simultánea de documentos interactivos, en particular de cuadernos Jupyter (cuya edición simultánea acabará estando disponible también en JupyterHub). Para la simple edición colaborativa de textos matemáticos, bastarán Hackmd (The Hackmd Team, 2015), HedgeDoc (Jacob Stanley, 2020) u Overleaf (John Hammersley y John Lees-Miller, 2012), mientras se conversa por videollamada a través de BigBlueButton (Richard Alam, 2007) o Jitsi (Blue Jimp, 2011) y se garabatea en grupo en Tableaunoir (****) de François Schwarzentruber (Irisa y ENS Rennes, 2020) o en la pizarra integrada en BigBlueButton.
Para la colaboración asíncrona y el intercambio de documentos interactivos, se recomienda aprender a utilizar un sistema de control de versiones como Git (Software Freedom Conservancy, 2005). Por ejemplo, se pueden seguir los cursos en línea de Software Carpentry.