Che cos’è la piramide dell’OpenSource e quale è la sua applicazione?

Alla luce del terremoto causato dal buco di sicurezza di log4j, ma anche dei danni per l’autosabotaggio di protesta di Marak, Daniel Stenberg ha pubblicato una sua riflessione riguardo la “piramide dell’open-source” (abbreviato in OS, d’ora in avanti).
Di cosa si tratta?

In pratica, il software prodotto è diviso in tre macrocategorie, una per livello, impilate una sull’altra. Non solo il livello successivo si basa sull’uso di quello precedente, ma cambiano anche alcune caratteristiche di lavoro e del prodotto stesso, elencati ai due lati.

  1. Il livello base, con OS, librerie o framwork, caratterizzato da pochi guadagni (immediati), manutenzione più importante di nuove funzionalità e uso di linguaggi di basso livello.
  2. Il livello di mezzo, con utility, compilatori o un browser (pensato come strumento per accedere ad altri servizi), senza particolari caratteristiche perché (appunto) di mezzo;
  3. La punta delle applicazioni vere e proprie, caratterizzata da cicli di sviluppo rapido, interazioni frequenti con l’utente finale, ritorni economici più diretti e presenza più o meno ampia di codice proprietario.

Le considerazioni di Daniel analizzano le pratiche corrette per poter avere meno bug nel software, focalizzandosi su cosa possano fare gli sviluppatori in generale. Il suo quindi non è un discorso su infrastrutture, catene, security, ma proprio materialmente come chi scrive software possa dare una mano.

Il post è piuttosto ben argomentato e articolato, divide in attività fattibili da chi sta alla base e chi alla sommità, ma tutto può essere riassunto in “l’aiuto è sempre ben accetto”. E l’aiuto è materiale: fare della manutenzione, anche piccola. Come risolvere piccoli bug, o scrivere della documentazione.
L’aiuto può essere anche economico: pagare per la manutenzione delle componenti utilizzate (sebbene gratuite in sé), o quando si collabora a pagamento ad un progetto OS accettare che la paga sia inferiore a quella di mercato. Le grandi aziende che usano software e librerie OS potrebbero fornire infrastrutture, o dedicate propri sviluppatori al miglioramento di quelle librerie che loro stessi usano.

Anche perché – come ricorda lui stesso – la priamide non è esattamente una piramide, e la rappresentazione satirica di xkcd rischia di essere quantomai azzeccata.

Ricordiamo che Daniel Stenberg è ben titolato a parlare di questi temi, avendo prodotto una cosetta chiamata “cURL”, che potrebbe essere proprio quella stanghetta lì in basso a destra, che sostiene tutto!

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , ,