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

6

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.

6 risposte a “Che cos’è la piramide dell’OpenSource e quale è la sua applicazione?”

  1. Avatar Qfwfq
    Qfwfq

    Credo siamo in un tempo di svolta, l’open software è nato da entusiasti che per passione scrivevano SW, poi magari gli stessi appassionati hanno condiviso il SW che usavano per lavoro, poi sono arrivati quelli che ci fanno i soldi, e non certo perché appassionati ma perché è un modello di busines vincente hanno condiviso anche loro il SW. E ai primi hanno cominciato un po’ a girare le rotelle del mouse.

  2. Avatar Alien1900
    Alien1900

    Concordo con Stenberg che le aziende dovrebbero condividere, ma questo già si sapeva. E infatti ci sono aziende che condividono anche progetti complessi (come Google) e ci sono realtà che prendono senza condividere nulla (Amazon per esempio).

    Il problema rimane che è una cosa volontaria e quindi non vedo come forzare le aziende riottose a condividere senza modificare pesantemente le licenze e la filosofia dell’OS.

  3. Avatar Rickyx
    Rickyx

    Inserendo bug a piacere:
    a quel punto dovranno riscriversi il software e costerà parecchio di più 😉

  4. Avatar michele
    michele

    purtroppo non ci sono più le rotelle di una volta ;D

  5. Avatar Alien1900
    Alien1900

    Così viene bannato dal progetto, come è successo all’autore di Colors.js e viene ripristinato il vecchio codice funzionante. Non si parla di utenti finali che non sanno fare nulla, ma di sviluppatori. Gente che sa usare git e che sa recupare le vecchie versione.

    Introducendo dei bug nel codice poi non danneggi solo le grandi realtà ma tutti, anche le realtà che contribuiscono all’OS quindi per me è proprio filosoficamente sbagliato.

    Secondo me la strada potrebbe essere modificare le licenze in modo da costringere le grandi realtà a contribuire in qualche modo.

  6. Avatar Raoul Scarazzini

    Per come la vedo io non si può (e non si dovrebbe) costringere nessuno a contribuire. La scelta del tipo di licenza da adoperare nel proprio software dovrebbe essere da subito chiara, ciò che nasce open-source muore open-source, se nel frattempo diventa un software usato da decine di migliaia di persone non cambia nulla. Se a te sviluppatore girano le scatole che non monetizzi abbastanza, è brutto dirlo, ma è un problema tuo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *