Discussione Ufficiale Discussione Il progetto GNU e il software libero

Una Discussione Ufficiale punta a raccogliere tutte le informazioni su un argomento o un fatto di attualità, con costanti aggiornamenti da parte del creatore e dei partecipanti.
22 Febbraio 2022
478
43
362
350
Ultima modifica:
1716228319482.png







1    Il progetto GNU


1.1    La nascita del progetto GNU

Il progetto GNU nasce negli anni '80 dall'hacker Richard Stallman (che d'ora in poi indicheremo con la sigla RMS, dove M sta per Matthew) con l'intento di creare un nuovo sistema operativo Unix-like ma completamente composto da software libero, ecco, quest'ultima parola possiamo usarla grazie a RMS, non contento del software proprietario, che imponeva un proprietario al quale apparteneva il software e al quale ero consentito l'accesso esclusivo al codice sorgente.

Uno dei pionieri di questo movimento e' Bill Gates, che con la lettera "An Open Letter To The Hobbyist" introduceva il concetto di software proprietario e il suo disappunto verso la pirateria informatica.
In particolare era rivolta ai membri dell'Homebrew Computer Club i quali avevano rubato una copia dell'Altair BASIC.
1716228335491.png

A RMS questa cosa non li andava bene, quando lavorava nel reparto IA del MIT nel '71 usavano un sistema operativo chiamato ITS (Incompatible Timesharing System) su un PDP-10, era pratica comune condividere e dare il codice sorgente e/o il programma a chiunque interessasse capirne il funzionamento o semplicemente usarlo, come ad esempio altre università o società.
Quindi tu potevi studiare il codice sorgente e magari migliorarlo o creare un altro programma partendo da quest'ultimo.

Agli inizi degli anni '80 la Digital smise di produrre il PDP-10, questo significo' che il sistema ITS diventò obsoleto, nel mentre la comunità del laboratorio di IA si era divisa e molti erano entrati nella Symbolics. Gli altri hacker rimasti, all'arrivo dei nuovi PDP-10 per il laboratorio di IA hanno deciso di usare un sistema operativo timesharing non libero dello Digital piuttosto che ITS.
Gli altri elaboratori del tempo usavano tutti un sistema operativo proprietario, si era obbligati a firmare un accordi di non diffusione del codice anche solo per averne una copia eseguibile.
Questo implica che per usare un sistema si doveva votare le spalle ai propri compagni, non stimolando una comunità cooperativa e unita (questo si traduceva in: tu condividi il mio sistema con altri? Sei un criminale.)

RMS non voleva appartenere ad una societa' che opprimeva gli utenti creando muri tra di loro, avrebbe potuto firmare tutti gli accordi di non diffusione scrivendo i programmi, fregandosene dell'etica e contribuendo all'oppressione dell'ideale di comunita' con il quale era cresciuto all'interno dei laboratori del MIT.
RMS aveva gia' provato sulla sua pelle il fastidio e la delusione che danno tali accordi quando si rifiutarono di condividere il codice sorgente del programma che faceva funzionare la stampante Xerox li' al MIT, il problema di essa era che si inceppava costringendo ad un operatore a disinceppare manualmente la stampante ogni volta, perdendo tempo, dato che non si sapeva quando si inceppava fin quando non si andava a ritirare il lavoro, RMS voleva aggiungere un pezzo di codice che inviava una mail ogni qual volta questa si inceppasse, ma la Xerox rispose negativamente vietando di modificare il programma e di conseguenza un'aiuto tra gli utilizzatori della stampante.

RMS a questo punto si chiese come poteva rianimare la community di condivisione del software e del codice sorgente,
cosi' creo il progetto GNU, acronimo ricorsivo di GNU's Not Unix, l'obiettivo era creare un sistema operativo completamente composto da software libero, quindi si doveva partire proprio dal sistema operativo, nell'ideale di RMS questo consentiva la rinascita della community hacker che si aiutavano a vicenda invece di sottomettersi alle regole di un contratto.
Oltre al sistema operativo in se, bisognava creare una suite di programmi per esso (eg: compilatori, editor di testo\dots) e cosi fu', si licenzio' dal MIT (per evitare problemi) e comincio' a scrivere software GNU.

1.2    Aneddoti simpatici

Di seguito qualche anedotto simpatico:
  • GNU Hurd, il kernel ufficiale del progetto GNU, si sarebbe dovuto chiamare GNU Alix in onore della vecchia fiamma di RMS, un amministratice di sistemi Unix. Tutt'ora GNU Hurd e' in fase sperimentale.
  • RMS vendeva GNU Emacs per 150$, tu li inviavi una lettera contenente i 150 dollari e un nastro e lui te la rispediva con il programma in questione al suo interno.
  • Secondo RMS chiunque si fosse seduto davanti al PC doveva avere il diritto di usarlo e un'altra persona che usava il computer non aveva il diritto di sapere cosa facevi, per questo quando misero le password in una macchina dell'MIT non li ando giu' e decise di craccare le password. Sfruttando l'ingegneria sociale riusci' a far cambiare in modo indiretto la password a circa un 1/5 degli utilizzatori della macchina tramite una mail dove diceva: "Ciao, so che la tua password e' PLUTO, ti consiglio di cambiarla in "ENTER", e' piu' facile sia da ricordare che da scrivere."

2    La Free Software Foundation


2.1    la nascita della FSF

La Free Software Foundation nasce nel 1985 come organizzazione nonprofit per sviluppare e diffondere l'ideale di software libero.
Il software libero rispetta le liberta' degli utenti e la comunita', si puo' definire in questo modo qualunque programma che rispetta le 4 liberta' fondamentali:
  1. Libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).
  2. Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità (libertà 1). L'accesso al codice sorgente ne è un prerequisito.
  3. Libertà di ridistribuire copie in modo da aiutare gli altri (libertà 2).
  4. Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti da voi apportati (e le vostre versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio (libertà 3). L'accesso al codice sorgente ne è un prerequisito.
La parola libero non vuol dire che il programma deve essere necessariamente gratis, sarebbe un controsenso se ci pensate.

2.2    Differenza tra software libero e Open Source

Spesso questi due termini vengono confusi e usati per indicare la stessa cosa, ma e' concettualmente sbagliato, possiamo vedere il software libero come la trasposizione del pensiero di RMS e l'Open Source come un metodologia di sviluppo di software.
I termini di distribuzione di un software OS devono rispettare i seguenti punti (che derivano da quelli della Debian Free Software Guidelines):
  1. Redistribuzione libera
  2. Acesso al cordice sorgente
  3. Opere derivate
  4. Integrita' del codice sorgente dell'autore
  5. Nessuna discriminazione verso singoli o gruppi
  6. Nessuna discriminazione verso i settori di attivita'
  7. La licenza deve essere distribuibile
  8. La licenza non puo' essere specifica su un prodotto
  9. La licenza non puo' contaminare altri software
Un programma se e' software libero e' automaticamente anche Open Source e viceversa? Dipende sempre dal tipo di licenza col quale e' stato distribuito quest'ultimo, un programma A rilasciato con licenca GNU GPL sara' di tutte due i tipi, al contrario di un programma B rilasciato con una licenza Open Watcom sara' solo Open Source ma non software libero: la GNU GPL consente di creare una versione modificata del programma e usarla in privato senza doverla necessariamente distribuirla, al contrario Open Watcom permette tale azione solo se la versione modificata viene distribuita. Per questo motivo la FSF considera la licenza in questione come non-free.

2.3    Software libero vuol dire software sicuro?

La risposta e' sempre "dipende", avendo completo accesso al codice sorgente sono libero di studiarlo e se scopro una falla in esso posso fare diverse cose:
  1. Segnalarla a chi di dovere
  2. Fixarla e distribuire una versione patchata
  3. Non dire niente a nessuno
  4. Sfruttarla per scopi malevoli
Se sono una brava persona la segnalo e magari la fixo anche, ma nel caso contrario posso creare seri danni.
La disponibilita' del source code consente sia di rafforzare la sicurezza ma anche di indebolirla, dipende con che occhio guardiamo la questione.

2.4    La vostra opinione

Voi che ne pensate? Vi trovate d'accordo con l'ideale proposto dal software libero o pensate che sia troppo forzato?

Fonte:
https://www.gnu.org/
https://opensource.org/osd


Vedi: https://www.youtube.com/watch?v=F83eO4De5iQ
 
Visualizza allegato 75660






1    Il progetto GNU


1.1    La nascita del progetto GNU

Il progetto GNU nasce negli anni '80 dall'hacker Richard Stallman (che d'ora in poi indicheremo con la sigla RMS, dove M sta per Matthew) con l'intento di creare un nuovo sistema operativo Unix-like ma completamente composto da software libero, ecco, quest'ultima parola possiamo usarla grazie a RMS, non contento del software proprietario, che imponeva un proprietario al quale apparteneva il software e al quale ero consentito l'accesso esclusivo al codice sorgente.

Uno dei pionieri di questo movimento e' Bill Gates, che con la lettera "An Open Letter To The Hobbyist" introduceva il concetto di software proprietario e il suo disappunto verso la pirateria informatica.
In particolare era rivolta ai membri dell'Homebrew Computer Club i quali avevano rubato una copia dell'Altair BASIC.

A RMS questa cosa non li andava bene, quando lavorava nel reparto IA del MIT nel '71 usavano un sistema operativo chiamato ITS (Incompatible Timesharing System) su un PDP-10, era pratica comune condividere e dare il codice sorgente e/o il programma a chiunque interessasse capirne il funzionamento o semplicemente usarlo, come ad esempio altre università o società.
Quindi tu potevi studiare il codice sorgente e magari migliorarlo o creare un altro programma partendo da quest'ultimo.

Agli inizi degli anni '80 la Digital smise di produrre il PDP-10, questo significo' che il sistema ITS diventò obsoleto, nel mentre la comunità del laboratorio di IA si era divisa e molti erano entrati nella Symbolics. Gli altri hacker rimasti, all'arrivo dei nuovi PDP-10 per il laboratorio di IA hanno deciso di usare un sistema operativo timesharing non libero dello Digital piuttosto che ITS.
Gli altri elaboratori del tempo usavano tutti un sistema operativo proprietario, si era obbligati a firmare un accordi di non diffusione del codice anche solo per averne una copia eseguibile.
Questo implica che per usare un sistema si doveva votare le spalle ai propri compagni, non stimolando una comunità cooperativa e unita (questo si traduceva in: tu condividi il mio sistema con altri? Sei un criminale.)

RMS non voleva appartenere ad una societa' che opprimeva gli utenti creando muri tra di loro, avrebbe potuto firmare tutti gli accordi di non diffusione scrivendo i programmi, fregandosene dell'etica e contribuendo all'oppressione dell'ideale di comunita' con il quale era cresciuto all'interno dei laboratori del MIT.
RMS aveva gia' provato sulla sua pelle il fastidio e la delusione che danno tali accordi quando si rifiutarono di condividere il codice sorgente del programma che faceva funzionare la stampante Xerox li' al MIT, il problema di essa era che si inceppava costringendo ad un operatore a disinceppare manualmente la stampante ogni volta, perdendo tempo, dato che non si sapeva quando si inceppava fin quando non si andava a ritirare il lavoro, RMS voleva aggiungere un pezzo di codice che inviava una mail ogni qual volta questa si inceppasse, ma la Xerox rispose negativamente vietando di modificare il programma e di conseguenza un'aiuto tra gli utilizzatori della stampante.

RMS a questo punto si chiese come poteva rianimare la community di condivisione del software e del codice sorgente,
cosi' creo il progetto GNU, acronimo ricorsivo di GNU's Not Unix, l'obiettivo era creare un sistema operativo completamente composto da software libero, quindi si doveva partire proprio dal sistema operativo, nell'ideale di RMS questo consentiva la rinascita della community hacker che si aiutavano a vicenda invece di sottomettersi alle regole di un contratto.
Oltre al sistema operativo in se, bisognava creare una suite di programmi per esso (eg: compilatori, editor di testo\dots) e cosi fu', si licenzio' dal MIT (per evitare problemi) e comincio' a scrivere software GNU.

1.2    Aneddoti simpatici

Di seguito qualche anedotto simpatico:
  • GNU Hurd, il kernel ufficiale del progetto GNU, si sarebbe dovuto chiamare GNU Alix in onore della vecchia fiamma di RMS, un amministratice di sistemi Unix. Tutt'ora GNU Hurd e' in fase sperimentale.
  • RMS vendeva GNU Emacs per 150$, tu li inviavi una lettera contenente i 150 dollari e un nastro e lui te la rispediva con il programma in questione al suo interno.
  • Secondo RMS chiunque si fosse seduto davanti al PC doveva avere il diritto di usarlo e un'altra persona che usava il computer non aveva il diritto di sapere cosa facevi, per questo quando misero le password in una macchina dell'MIT non li ando giu' e decise di craccare le password. Sfruttando l'ingegneria sociale riusci' a far cambiare in modo indiretto la password a circa un 1/5 degli utilizzatori della macchina tramite una mail dove diceva: "Ciao, so che la tua password e' PLUTO, ti consiglio di cambiarla in "ENTER", e' piu' facile sia da ricordare che da scrivere."

2    La Free Software Foundation


2.1    la nascita della FSF

La Free Software Foundation nasce nel 1985 come organizzazione nonprofit per sviluppare e diffondere l'ideale di software libero.
Il software libero rispetta le liberta' degli utenti e la comunita', si puo' definire in questo modo qualunque programma che rispetta le 4 liberta' fondamentali:
  1. Libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).
  2. Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità (libertà 1). L'accesso al codice sorgente ne è un prerequisito.
  3. Libertà di ridistribuire copie in modo da aiutare gli altri (libertà 2).
  4. Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti da voi apportati (e le vostre versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio (libertà 3). L'accesso al codice sorgente ne è un prerequisito.
La parola libero non vuol dire che il programma deve essere necessariamente gratis, sarebbe un controsenso se ci pensate.

2.2    Differenza tra software libero e Open Source

Spesso questi due termini vengono confusi e usati per indicare la stessa cosa, ma e' concettualmente sbagliato, possiamo vedere il software libero come la trasposizione del pensiero di RMS e l'Open Source come un metodologia di sviluppo di software.
I termini di distribuzione di un software OS devono rispettare i seguenti punti (che derivano da quelli della Debian Free Software Guidelines):
  1. Redistribuzione libera
  2. Acesso al cordice sorgente
  3. Opere derivate
  4. Integrita' del codice sorgente dell'autore
  5. Nessuna discriminazione verso singoli o gruppi
  6. Nessuna discriminazione verso i settori di attivita'
  7. La licenza deve essere distribuibile
  8. La licenza non puo' essere specifica su un prodotto
  9. La licenza non puo' contaminare altri software
Un programma se e' software libero e' automaticamente anche Open Source e viceversa? Dipende sempre dal tipo di licenza col quale e' stato distribuito quest'ultimo, un programma A rilasciato con licenca GNU GPL sara' di tutte due i tipi, al contrario di un programma B rilasciato con una licenza Open Watcom sara' solo Open Source ma non software libero: la GNU GPL consente di creare una versione modificata del programma e usarla in privato senza doverla necessariamente distribuirla, al contrario Open Watcom permette tale azione solo se la versione modificata viene distribuita. Per questo motivo la FSF considera la licenza in questione come non-free.

2.3    Software libero vuol dire software sicuro?

La risposta e' sempre "dipende", avendo completo accesso al codice sorgente sono libero di studiarlo e se scopro una falla in esso posso fare diverse cose:
  1. Segnalarla a chi di dovere
  2. Fixarla e distribuire una versione patchata
  3. Non dire niente a nessuno
  4. Sfruttarla per scopi malevoli
Se sono una brava persona la segnalo e magari la fixo anche, ma nel caso contrario posso creare seri danni.
La disponibilita' del source code consente sia di rafforzare la sicurezza ma anche di indebolirla, dipende con che occhio guardiamo la questione.

2.4    La vostra opinione

Voi che ne pensate? Vi trovate d'accordo con l'ideale proposto dal software libero o pensate che sia troppo forzato?

Fonte:
https://www.gnu.org/
https://opensource.org/osd


Vedi: https://www.youtube.com/watch?v=F83eO4De5iQ


Davvero una bella presentazione su GNU!

I fatti dimostrano che un software libero è più sicuro , gli ultimi anni hanno dimostrato che il lavoro di entusiasti ed appassionati supera l'efficacia di una multinazionale organizzata tante volte.

Penso che con gli anni a seguire Linux si confermerà come solida scelta sulle conclamate alternative
 
GNU è una suite e anche la filosofia fondante che qualche anno dopo concepii l'Open Source, con le dovute modifiche per l'implementazione in ambito industriale, ma sempre il fatto dalla comodità, dell'affidabilità a lungo termine e della libertà di utilizzo (inclusi in molti casi il fattore costi) hanno reso l'open source una delle politiche di sviluppo software predominanti nel nuovo internet.
Attenzione, open source != da gratuito, una azienda può scegliere di mettere un costo sul suo servigio, ma quando acquisti il pacchetto avrai sempre il codice sorgente con tanto di licenza per la ridistribuzione medianti termini dell'autore originale dello stesso.