L’importanza e la sostenibilità del software libero
-------------------------------------------------
Per tradizione e per necessità, i matematici adottano molto presto i principi della scienza aperta (software, dati, pubblicazioni liberi; vedi *
Tangente Éducation*
50, 2019). Il
software GAP (Gruppi, algoritmi, programmazione, GAP Group, 1986), frutto del lavoro di centinaia di ricercatori da oltre trent’anni, ne è un esempio emblematico. L’emergere di linguaggi di programmazione di alto livello, librerie e metodologie di collaborazione su vasta scala consente di combinare questi elementi in sistemi di calcolo generalisti come SageMath (
The SageMath Developers, 2005, basato su Python), dimostrando la sostenibilità di alternative al software proprietario o non libero.
Un riconoscimento istituzionale
-----------------------------------
Da alcuni anni, la scienza aperta ottiene finalmente riconoscimento e sostegno istituzionali. Ne è testimonianza il finanziamento pubblico europeo di otto milioni di euro destinato al progetto
OpenDreamKit (dal 2015 al 2019, dedicato al software libero per la matematica integrato con l’ecosistema Jupyter per il calcolo interattivo).
Il finanziamento pubblico tedesco del progetto Oscar (per i sistemi di calcolo matematico del futuro, basato su Julia (Bezanson, Karpinski, Shah et al., 2012)) va nella stessa direzione. Più di recente, l’ingegnere di ricerca Bill Allombert ha ricevuto, insieme ad altro personale di supporto alla ricerca, la medaglia di cristallo 2020 del CNRS per il suo lavoro di sviluppo e manutenzione del software libero di calcolo aritmetico PARI/GP (The PARI Group, 1985), la cui comunità conta circa venticinquemila utenti.
Una tendenza di fondo
--------------------
Grazie ai progressi nella modularità e nell’interoperabilità, si passa gradualmente da software sviluppati isolatamente (ciascuno con la propria comunità e il proprio ambiente dedicato) a «ecosistemi di ecosistemi». È quindi diventato facile redigere e pubblicare un documento interattivo immediatamente utilizzabile online da altri. All’altro estremo dello spettro, gli stessi elementi permettono a un’istituzione di mettere a disposizione dei propri utenti un servizio con numerosi software e risorse fisiche, scegliendo fra interfacce familiari come Jupyter (Fernando Pérez et al., 2015) o RStudio (Joseph Allaire e RStudio Inc., 2011).
Questa tendenza di fondo alla collaborazione su vasta scala riduce le barriere tra sistemi, tra ambiti scientifici, tra sviluppatori e utenti. Ha tuttavia un costo: il panorama è complesso! L’ambiente Jupyter con Python (Python Software Foundation, 1991), seguito da SageMath, costituisce però un buon punto di partenza.
Pioniere fin dagli inizi, CoCalc (William Stein, 2013) consente la modifica simultanea di documenti interattivi, in particolare dei notebook Jupyter (la cui modifica simultanea sarà in futuro disponibile anche in JupyterHub). Per la semplice redazione collaborativa di testi matematici, ci si potrà accontentare di Hackmd (The Hackmd Team, 2015), HedgeDoc (Jacob Stanley, 2020) o Overleaf (John Hammersley e John Lees-Miller, 2012), discutendo in videoconferenza attraverso BigBlueButton (Richard Alam, 2007) o Jitsi (Blue Jimp, 2011) e scrivendo insieme su Tableaunoir (****) di François Schwarzentruber (Irisa ed ENS Rennes, 2020) oppure sulla lavagna integrata in BigBlueButton.
Per la collaborazione asincrona e la condivisione di documenti interattivi, è consigliabile imparare a usare un sistema di controllo di versione come Git (Software Freedom Conservancy, 2005). Si possono seguire, per esempio, i corsi online di Software Carpentry.