Microsoft's Internet Explorer browser has no built-in vector graphics machinery required for "loss-free" gradient background themes.
Please upgrade to a better browser such as Firefox, Opera, Safari or others with built-in vector graphics machinery and much more. (Learn more or post questions or comments at the Slide Show (S9) project site. Thanks!)
Le Origini
Le 4 liberta’
Fino agli anni ‘70 le liberta’ che ai giorni nostri caratterizzano un Software Libero erano la norma:
gli utenti (per lo piu’ concentrati in universita’, grandi aziende del settore ed istituti di ricerca) condividevano il software… ma soprattutto ne condividevano i sorgenti.
Richard Stallman (nato a New York City nel 1953) si laurea in fisica ad Harvard nel 1974 ed entra a far parte dei laboratori di I.A. del MIT come programmatore.
Nei laboratori del MIT entra in contatto con la nascente comunita’ di Hacker che si era sviluppata al MIT a partire dagli anni ’60 con il “Tech Model Railroad Club”.
Tra i progetti a cui ha lavorato nei laboratori del MIT:
La nascente industria del Software tra il 1970 e l’inizio degli anni ‘80 comincio’ ad ostacolare queste abitudini inizialmente mediante la distribuzione delle sole copie binarie del software e l’inclusione di clausole di non divulgazione (NDA) all’interno dei contratti di dipendenti e collaboratori, successivamente mediante la minaccia di possibili azioni legali, dopo l’estensione delle leggi sul Copyright al Software avvenuta agli inizi degli anni ’80.
Anche nella comunita’ degli Hobbysti c’era chi cominciava a seminare il seme della discordia:
La prima volta in cui RMS si scontra con la nuova dura realta’ risale alla fine degli anni 70 quando la Xerox dona una delle prime stampanti laser al MIT AI Lab…
Ma l’evento che spinse RMS ad elaborare quello che divenne il progetto GNU e la licenza GPL fu’ lo scontro con Symbolic Inc. (una azienda spinoff del MIT AI Lab) per avere accesso alle modifiche effettuate da quest’ultima ad una sua creazione: Emacs
L’ incidente con la Symbolic Inc. convince RMS della necessita’ di una strategia piu’ articolata del semplice “Noi rilasceremo i sorgenti, Voi fate come vi pare”
All’inizio degli anni 90 il progetto GNU aveva quasi completato la riscrittura della maggior parte delle utility standard di un sistema Unix ed aveva un ottimo editor (Emacs) e un set di compilatori e linker (GCC).
Dove possibile si cerco’ di evitare di riscrivere componenti di cui esistevano gia’ implementazioni libere (TeX e X-Windows ad esempio).
A questo punto mancava solo una componente per avere un sistema operativo sufficientemente completo da poter essere eseguito senza ricorrere a componenti proprietarie: il Kernel
Inizialmente pensarono di riutilizzare un kernel compatibile con UNIX e sviluppato al MIT chiamato: TRIX
Poi valutarono la possibilita’ di adattare BSD 4.4-Lite sviluppato nell’universita’ di Berkeley.
Alla fine (nel 1988) il progetto opto’ per lo sviluppo di un nuovo kernel basato sul microkernel Mach sviluppato alla Carnegie Mellon University.
Questa scelta di design fu’ quella che allontano’ il progetto GNU dai sistemi UNIX tradizionali:
GNU Hurd e’ un insieme di server in spazio utente per offrire a Mach (il microkernel) prima uno strato di compatibilita’ Posix e poi funzionalita’ totalmente nuove.
Ma questa scelta innovativa si rivelo’ presto piu’ complessa del previsto… quello dei sistemi a microkernel puri e’ un campo di ricerca (minato :-D) in cui molti sono rimasti bloccati…
Nel 1991 uno studente dell’Universita’ di Helsinki comincio’ a lavorare ad un kernel per 80386, spinto dalla voglia di avere un sistema operativo simile a MINIX sul suo nuovo PC: Linux
MINIX era un sistema operativo a microkernel per sistemi a 16bit sviluppato da Andrew Tanenbaum (suo professore di Sistemi Operativi all’Universita’ di Helsinki) a scopo didattico.
Tra i due ci furono anche delle accese discussioni tecnico-filosofiche riguardo i due opposti approcci (http://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debate):
“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”
Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:
Nota: gli hacker iniziano a contare da 0!
Implicazioni Culturali
Implicazioni Didattiche
Implicazioni Tecniche
Implicazioni Economiche
Open Source Initiative
Le Comunita’ di Sviluppo
Nel 1997 Eric Raymond scrive un articolo intitolato The Cathedral and the Bazaar in cui confronta il modello di sviluppo classico a “Cattedrale” , utilizzato dalla maggioranza dei software proprietari e all’epoca dallo stesso progetto GNU, e il modello di sviluppo a “Bazaar” , inaugurato secondo l’autore da Linus Torvalds ed il suo Linux:
Given enough eyeballs, all bugs are shallow
Nel 1998 Eric Raymond fonda insieme a Bruce Perens, Larry Augustin e Jon Hall la Open Source Initiative , un’organizzazione nata allo scopo di fare da ponte tra il mondo commerciale dell’informatica e l’enorme potenziale del movimento del software libero, stemperandone gli aspetti socio-filosofici e dipingendolo piu’ come un modello di sviluppo che come pratica di convivenza/condotta corretta.
Richard Stallman e la Free Software Foundation criticano all’ Open Source Initiative l’eccessiva concentrazione sugli aspetti tecnici del movimento, in quanto rischia di distrarre gli utenti dalle motivazioni morali e dalle liberta’ che un software deve consentire per essere libero , e consentono in questo modo l’ingresso di software semi-free o completamente proprietari.
I due movimenti non sono nettamente separati ma rappresentano due diverse visioni all’interno della medesima comunita’:
“We disagree on the basic principles, but agree more or less on the practical recommendations. So we can and do work together on many specific projects.” (Why Free Software is better than Open Source)
…
RMS e la FreeSoftware Foundation non avevano tutti i torti quando sottolineavano che esaltare esclusivamente la componente pragmatica poteva in qualche modo essere controproducente.
Molte delle critiche che vengono rivolte al Software Libero infatti riguardano proprio la presunta superiorita’ del modello a Bazaar:
E anche vero pero’ che sono state condotte ricerche ed analisi che presentano conclusioni a favore del modello a Bazaar:
Cosi’ come e’ un dato di fatto che Microsoft stessa mentre pubblicamente minimizza la competitivita’ delle soluzioni FLOSS (Free Libre Open Source Software), nascondendo al contrario un elevato timore e l’elaborazione ufficiosa di contromisure di opinabile correttezza…
Come e’ possibile verificare visitando gli elenchi delle licenze compatibili delle due correnti (FreeSoftware Foundation e OpenSource Initiative), il panorama delle licenze di software libero e open e’ molto vasto; a contribuire al loro studio e revisione dal punto di vista legale vi sono numerosi docenti e studiosi di legge, tra cui Moglen e Lessig.
GPL (1989) : la prima licenza pubblicata dalla FreeSoftware Foundation ed ancora oggi una delle piu’ utilizzate (es. GNU Emacs, GCC etc.)
LGPL (1991) : e’ una versione piu’ permissiva dal punto di vista del linking della GNU GPL, scritta ed utilizzata per la prima volta per le GNU Libc.
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
MIT (1988) : e’ una licenza piu’ permissiva delle licenze GNU, permettendo il riuso dei sorgenti in software proprietari (es. X Windows, Mono Class libraries, Lua e Ruby On Rails)
BSD (1990) : e’ una famiglia di licenze nate dall’Universita’ di Berkeley, sono molto piu’ permissive delle licenze GNU, simile al rilascio Public Domain (es. FreeBSD, OpenBSD etc.)
Apache License (1995) : e’ una licenza simile alle BSD ma con una clausola di attribuzione aggiuntiva. (Apache HTTPD e gli altri progetti dell’Apache Foundation)
Mozilla Public License (1990) : e’ una licenza creata per il progetto Mozilla e rappresenta un ibrido tra la GNU GPL e le licenze BSD (es. Mozilla Firefox, Thunderbird, Sunbird)
La nascita delle distribuzioni e’ stata fondamentale per la diffusione dei primi prototipi di sistemi GNU/Linux.
Da allora hanno partecipato ai progetti di standardizzazione (LSB, FreeDesktop etc.) e fungono da punti di concentrazione nella complessa comunita’ di sviluppo globale insieme alle comunita’ di sviluppo dei progetti piu’ grandi (XWindows, GNOME, KDE, Mozilla)
tante piccole Cattedrali nel grande Bazaar
Slackware (1993) : creata da Patrick Volkerding… One Man Band
Debian (1993) : create da Ian Murdock con l’idea di creare una distribuzione sviluppata da una comunita’ di sviluppo sullo stile del progetto GNU.
http://en.wikipedia.org/wiki/Debian
Ubuntu (2004) : creata su iniziativa del venture capitalist Mark Shuttleworth (Canonical Ltd.) come derivata del progetto Debian.
RedHat (1994) : creata da Marc Ewing, e’ stata la prima distribuzione commerciale e la prima societa’ quotata in borsa ad avere nel software libero il proprio core business.
http://en.wikipedia.org/wiki/RedHat
Fedora (2003) : creata da RedHat come derivata libera del loro prodotto commerciale RedHat Enterprise.
SUSE (1994) : distribuzione commerciale nata come localizzazione tedesca di Slackware e diventata nel tempo una distribuzione RPM-Based (RedHat Packager Manager), acquisita nel 2004 da Novell.
Gentoo (2002) : sviluppata da Daniel Robbins con l’obiettivo di creare una distribuzione compilata dai sorgenti per ottenere il massimo delle performance.
Sviluppo Collaborativo != Sviluppo Amatoriale
GNU rappresenta ancora oggi una importante comunita’ di sviluppo del Software Libero:
Apache e’ una comunita’ di sviluppo molto importante, contenitore di progetti di grande interesse legati alle tecnologie del Web.
Mozilla e’ la comunita’ di sviluppo del Mozilla Application Framework, Firefox, Thunderbird, Sunbird etc.
Gnome e KDE rappresentano due corpose comunita’ di sviluppo.
Ma le comunita’ di sviluppo distribuite geograficamente hanno bisogno degli strumenti per il coordinamento e lo scambio del lavoro svolto da ogni partecipante.
Le Email e le Mailing List hanno costituito un importante mezzo di collaborazione per le comunita’ di sviluppo sin dall’inizio, ed ancora oggi rappresentano uno dei mezzi piu’ utilizzati in assoluto.
Le discussioni che richiedono interazione piu’ immediate spesso avvengono su IRC (uno dei primi sistemi di messagistica istantanea)
Il Wiki e’ uno strumento di collaborazione relativamente recente (la prima implementazione risale al 1994).
La sua efficacia e’ soprattutto legata alla semplicita’ ed immediatezza del suo Workflow.
I sistemi di Source Code Management rappresentano in qualche modo la memoria della comunita’ di sviluppo sul flusso di sviluppo del codice e aiutano il coordinamento necessario ad integrare il codice dei diversi sviluppatori.
I sistemi di Bug Tracking (o di Ticket Management) sono applicazioni web per la segnalazione e il tracciamento dello stato di risoluzione di bug e richieste di nuove funzioni.
Tutta questa iperattivita’ dello sviluppo di software libero necessitava evidentemente di una piattaforma che comprendesse tutti gli strumenti in modo coerente.
Nasce a questo scopo il primo servizio di Project Hosting.
Il precursore in questo campo e’ stato Sourceforge.net realizzato da VA Software
Dalla versione opensource di SourceForge nascono una serie di servizi gemelli in genere destinati ad ambiti specifici:
Oggi i servizi di Project Hosting sono tantissimi, dedicati sia a software libero che a software proprietario, gratuiti e a pagamento.