martedì 15 maggio 2007

Linux vs Windows ?

L'analisi del fenomeno Open Source e la sua completa comprensione non può prescindere dall'articolata realtà in cui, fin dalla sua nascita, è stato inserito. Il mercato del software ha conosciuto per molti anni solamente modelli "classici" di sviluppo ed imprenditorialità, basata su schemi non troppo dissimili da quelli di settori economici differenti e che oggi vengono piuttosto semplificatamente etichettati come "proprietari", proprio in contrapposizione al modello di cui noi ci vogliamo occupare, quello "open" o "aperto", caratterizzante del mercato dei beni d'informazione.

Con l'avvento di internet, della grande comunicazione e quindi dell'open source, si è formato, nel mercato del software, quell'incredibile ed altrove sconosciuto confronto tra due filosofie di sviluppo del prodotto completamente differenti, seppure accomunate, come vedremo, dall'obbiettivo di soddisfare dei bisogni molto concreti. Possiamo in ogni caso parlare di prodotto... nonostante nel nostro specifico caso i mezzi non sono affatto trascurabili nei confronti del fine.

Questo scontro, se vogliamo anche ideologico, tra due filosofie così differenti è noto al grande pubblico come la contrapposizione tra le due figure più mediatiche e famigerate, ciascuna di estrazione puramente caratteristica della propria filosofia, quali sono il progetto GNU/Linux da una parte e Microsoft Windows dall'altra.

“Microsoft and Linux represented two sides with fundamentally different ideologies.” (HBS, 2006)

Nonostante tuttavia sia comprensibile l'immagine dello scontro frontale tra queste due realtà, nell'immaginario collettivo simbolo della contrapposizione tra software proprietario e open source, quello che voglio mettere in luce sono le caratteristiche che differenziano e quelle che accomunano questi due mondi cercando così di inquadrarli in un quadro razionale ed omnicomprensivo. In quest'ottica, dunque, lo scontro tra Windows e Linux è in realtà leggibile come una più ampia contrapposizione ideologica tra ideologie di sviluppo del software e di gestione della proprietà intellettuale e dei beni d’informazione completamente differenti.

Vogliamo dunque illustrare brevemente le principali differenze tra software proprietario ed open source:

Software open source
Il codice sorgente del software è liberamente distribuito (solitamente attraverso internet), accanto alla versione binaria compilata (ovvero pronta all’uso; è possibile che sia demandata agli utenti la procedura di compilazione, ovvero la creazione del binario eseguibile dalla macchina). Le licenze sotto le quali il software viene distribuito ricadono sotto la classificazione “OSI” ovvero Open Source Initiative. Infine il software o.s. ha carattere puramente infrastrutturale ovvero è un modello tipicamente utilizzato per quel software che costituisce la base di un sistema o per l’erogazione di un servizio. Compone dunque solitamente l’infrastruttura di un sistema (per questo è fiorente nel settore server): sistemi operativi, server web, ecc.

Proprietary Software
Distribuito solamente il binario eseguibile e già compilato mentre il codice sorgente rimane proprietario. Le licenze sotto le quali viene distribuito variano a seconda del caso specifico (ciascuna versione di Windows o di Office è rilasciata sotto una licenza pensata ad hoc). Naturalmente in una situazione come quella di Windows di piena dominanza del mercato il fatto di tenere il codice sorgente segreto è necessario per garantire che non possano nascere cloni o prodotti con funzioni analoghe a salvaguardia del potere di mercato e della posizione di monopolio.

Proprio approfondendo la differente natura dello sviluppo di questi due tipi di software possiamo rifarci ad una eloquente metafora pensata da Eric S. Raymond nel suo testo intitolato appunto "The Cathedral and the Bazaar" e così introdotto dall'autore stesso:

I anatomize a successful open-source project, fetchmail, that was run as a deliberate test of some surprising theories about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally different development styles, the "cathedral" model of most of the commercial world versus the "bazaar" model of the Linux world. I show that these models derive from opposing assumptions about the nature of the software-debugging task. I then make a sustained argument from the Linux experience for the proposition that "Given enough eyeballs, all bugs are shallow", suggest productive analogies with other self-correcting systems of selfish agents, and conclude with some exploration of the implications of this insight for the future of software.

The Cathedral
Ovvero il modello di sviluppo proprietario. Sviluppato il codice, esso rimane segreto entro i confini dell’azienda. Viene rilasciato (venduto) il codice binario ovvero il programma eseguibile che viene utilizzato dagli utenti. Nel momento in cui viene rilevato un baco del software o nasca la necessità di nuove funzioni gli utilizzatori devono rivolgersi al produttore per vedere i problemi risolti o le nuove funzioni implementate nelle versioni successive del programma.

The Bazaar
Il software open source è sviluppato ed il codice sorgente, così come il binario compilato, sono rilasciati attraverso internet (di cui è facile capire il fondamentale ruolo abilitante, tanto è vero che la diffusione dell'open source è avvenuta contestualmente a quella della grande rete). L’utente utilizza il software scaricandolo e compilandolo. Nel momento in cui egli scopre un problema o desidera una nuova funzione, avendo accesso al codice sorgente, se ne ha le competenze, può intervenire liberamente sul codice stesso, implementando a sostituzione o a integrazione del vecchio codice. Può poi decidere di rilasciare o meno le modifiche realizzate secondo quanto stabilito dalla licenza mediante la quale ha acquisito il codice originario (es. la GPL obbliga a rilasciare le modifiche sotto licenza GPL; altre licenze meno "virali" sono nate nel tempo).

Abbiamo dunque fatto un passo avanti nella comprensione di questo complesso fenomeno.
Il prossimo intervento riguarderà le prospettive attuali dell'open source... per poi avvicinarmi alla trattazione economica che più mi preme trattare.

1 commento:

Unknown ha detto...

Credo che i due SO al momenti siano antitetici solo in concezione, perchè effettivamente condividono alcuni aspetti costitutivi, ma altri non coincidono ancora appieno. Poi dipende dal tipo di utenza a cui vengono forniti: Se uno è incapace ad utilizzare windows, sicuramente devasta linux ( parlo dopo aver visto gente che non capiva come connettere il telefonino bluetooth al pc con windows, dopo che glielo avevo spiegato per 20 miuti). Il progetto di microsoft per rendere il PC accessibile a tutti equivale a mettere d'accordo gli abitanti di Babilonia per fare in fretta: bisogna applicare restrizioni. A breve termine la strategia è vincente, ma poi con la maturazione dell'utente, insorge quella voglia di tamarrare un sistema operativo, provare a vedere se una scelta diversa dallo standard si possa rivelare vincente o meno. Linux, nelle sue molteplici forme, dà una risposta a questa vocazione. La differenza diventa, a questo punto, il supporto: Se pago egregiamente una persona per risolvere un problema, quella darà priorità maggiore al mio problema rispetto a quello di uno che non paga ( o perchè un sostegno è sempre bene accetto, o per semplice cupidigia ). Io, personalmente , eviterei di pagare...piuttosto aspetto!