Da qualche settimana lavoro dentro il Polo Tecnologico di Navacchio, alle porte di Pisa. Queste note raccolgono cosa cambia, sul piano tecnico, a sviluppare con software libero dentro un parco di imprese invece che in uno studio isolato.

Contesto

Il Polo Tecnologico di Navacchio opera dal 2000 nel comune di Cascina, a pochi chilometri da Pisa, come struttura per ospitare imprese a contenuto tecnologico (polotecnologico.it). La vicinanza all’Università di Pisa, alla Scuola Superiore Sant’Anna e alle sedi locali del Consiglio Nazionale delle Ricerche (CNR) è il dato di partenza: reti, persone e attrezzature che fino a pochi anni prima restavano dentro gli ambienti accademici diventano raggiungibili a breve distanza.

Il punto che mi interessa è ristretto. Chi costruisce sistemi su componenti libere — kernel Linux, server web Apache, toolchain GNU — in un contesto del genere vede cambiare il modo in cui circolano competenze e configurazioni. Cambia quello, non l’indirizzo stampato sul biglietto da visita.

Lo stato del software libero a maggio 2002

Conviene fissare i fatti al momento in cui scrivo, perché il quadro si muove in fretta.

Il kernel Linux della serie 2.4 è stabile dal 4 gennaio 2001 (kernel.org), e da quella data porta in produzione il supporto per filesystem journaled, USB e uno stack di rete più solido della serie 2.2. Sul fronte server, l’indagine Netcraft dell’aprile 2002 assegna ad Apache circa il 64% dei server web attivi rilevati, contro circa il 27% di Microsoft Internet Information Services (IIS) (news.netcraft.com). Sul desktop, KDE 3.0 esce il 3 aprile 2002 (kde.org) e sposta l’ambiente grafico su una base Qt 3 più matura.

La licenza che tiene insieme gran parte di questo stack resta la GNU General Public License versione 2, pubblicata nel 1991 (gnu.org). Il suo copyleft — chi distribuisce un’opera derivata ne distribuisce anche il sorgente sotto la stessa licenza — è il vincolo giuridico che rende sensato condividere configurazioni e patch tra imprese che sul mercato si fanno concorrenza.

Un’architettura di lavoro condivisa

Dentro un parco tecnologico la parte interessante non sono le scrivanie, sono le infrastrutture comuni.

La connettività viene prima di tutto. Una linea condivisa con banda adeguata, in un’epoca in cui l’accesso a Internet pesa ancora parecchio sul bilancio di una piccola impresa, rende praticabili cose che altrimenti restano teoriche: mirror locali degli archivi delle distribuzioni, repliche dei repository CVS per il versionamento del codice, copie di liste di discussione tecniche. Il Concurrent Versions System (CVS) è lo strumento standard per il lavoro collaborativo sul codice in questo periodo, ed è esso stesso software libero sotto GPL.

Poi c’è la condivisione delle configurazioni di sistema. Un server Apache che ospita più domini con host virtuali, un firewall costruito con iptables sul kernel 2.4, uno schema di backup con rsync: ricette che passano da un’impresa all’altra senza barriere di licenza, proprio perché il software che ci sta sotto è libero. In un palazzo dove più aziende risolvono gli stessi problemi, la ricetta che funziona in una stanza arriva in quella accanto nel giro di una conversazione.

Il punto critico

Il vincolo vero non è tecnico: è la disciplina nel separare ciò che si può condividere da ciò che non si può.

Il copyleft della GPL ricade sul codice derivato dalle componenti GPL, non sui dati dei clienti né sulla logica applicativa che resta interna. Lavorare gomito a gomito con altre imprese rende facile, e a volte comodo, far girare frammenti di codice; la distinzione tra una patch al server web (che ricade sotto GPL e va restituita a monte) e il codice di un’applicazione verticale per un cliente (che può seguire regole diverse) deve restare netta. Sbagliare questa separazione non è un dettaglio: decide se un’impresa rispetta i termini sotto cui ha ricevuto il software.

C’è un secondo punto. La condivisione di competenze in un parco regge finché le imprese restituiscono a monte le correzioni di interesse generale — un bug del kernel, una patch ad Apache. Questo flusso di ritorno verso i progetti originari (apache.org, le liste di sviluppo del kernel) è la condizione che tiene lo stack usabile per tutti. Un parco tecnologico abbassa il costo di estrarre valore dal software libero; non cancella il dovere di contribuire al ciclo che lo produce.

Implicazioni

In pratica, per la circolazione delle competenze la vicinanza fisica conta quanto le liste di discussione, ma con latenza minore. Una configurazione di sendmail, o un server DNS gestito con BIND, si correggono in pochi minuti se ne parli di persona, invece che in uno scambio di messaggi lungo giorni.

Per chi lavora interamente su componenti libere, il parco taglia due costi che gravano in modo sproporzionato sulle strutture piccole: l’infrastruttura di rete e l’isolamento tecnico. Fuori dalla portata di un singolo ufficio restano la banda stabile, la presenza fisica di chi ha già risolto lo stesso problema su un’architettura diversa, e la possibilità di vedere all’opera configurazioni reali invece di leggere documentazione.

Limiti

Queste osservazioni valgono per il caso specifico — un’impresa piccola, concentrata sul software libero, in un parco con forte presenza accademica — e non si estendono a ogni contesto. Un parco tecnologico non produce da solo buon codice né garantisce il rispetto delle licenze: amplifica le pratiche che già ci sono, nel bene e nel male. Le misure di market share citate vengono da una sola fonte (Netcraft) e dipendono dal suo metodo di campionamento; vanno lette come ordine di grandezza, non come dato esatto. E lo stato del software descritto qui è una fotografia di inizio maggio 2002: i rilasci attesi nei mesi successivi cambieranno parte del quadro.

Il caso concreto da cui nascono queste note — noze, impresa interamente Open Source che si insedia proprio in questo parco — è raccontato in un insight pubblicato da noze: https://www.noze.it/insights/polo-navacchio/.


https://www.debian.org/releases/ https://www.kernel.org/pub/linux/kernel/v2.4/ https://kde.org/announcements/1-2-3/3.0/ https://www.gnu.org/licenses/gpl-2.0.html https://news.netcraft.com/ https://httpd.apache.org/ https://www.polotecnologico.it/

Immagine di copertina: Edificio in muratura dell’ex stazione tranviaria di Navacchio, frazione di Cascina vicino a Pisa — foto di Ale Sasso, CC BY-SA 3.0 — https://commons.wikimedia.org/wiki/File:Stazione_di_Navacchio.JPG