-
Notifications
You must be signed in to change notification settings - Fork 1
/
capitolo-introduzione.tex
134 lines (76 loc) · 9.7 KB
/
capitolo-introduzione.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
\section{Introduzione}
Questo corso si divide fondamentalmente in due parti:
\begin{enumerate}
\item Una prima parte \textbf{teorica} in cui si studierà il software libero, le licenze software, il progetto GNU, ...
\item Una seconda parte \textbf{pratica} che si baserà su diverse tecnologie e in cui verrà enfatizzato l'aspetto pratico.
\end{enumerate}
\subsection{Informazioni tecniche}
Sito web del corso:
\begin{center}
\url{http://www.math.unipd.it/~tapparo/TOS/}
\end{center}
Indirizzo email del docente:
\begin{center}
\url{[email protected]} [\textit{attivo solo durante il periodo del corso}]
\end{center}
Le lezioni si terranno in \textbf{Aula 1BC50}
Gli orari sono i seguenti:
\begin{itemize}
\item \textbf{Giovedì}, 9:30 - 12:05
\item \textbf{Venerdì}, 9:30 - 12:05
\end{itemize}
Il ricevimento avverrà durante gli intervalli, su appuntamento e dopo lezione.
\textbf{48 ore} di lezione, \textbf{6 CFU}, tutte lezioni frontali.
La modalità d'esame è solamente \textbf{orale}, e avviene tramite iscrizione su \textit{Uniweb}. Verterà in due parti: la prima parte è una discussione sugli argomenti affrontati a lezione, la seconda è una parte pratica sulle tecnologie libere affrontate lungo il corso.
\subsection{Programma del corso}
\begin{itemize}
\item Storia del software libero;
\item Licenze libere e caratteristiche del software libero;
\item Problemi aperti e prospettive del software libero;
\item Strumenti liberi di supporto allo sviluppo e alla cooperazione.
\end{itemize}
\subsection{Materiale}
Appunti delle lezioni. [\textbf{PRINCIPALE}]
Materiale nelle \textbf{slides}.
Molti libri di riferimento si possono trovare nelle slides. Molti sono reperibili liberamente.
Libri:
\begin{itemize}
\item \textbf{Open Source: strategie, organizzazione}, è il più accademico e viene toccato marginalmente dal corso. Offre buoni spunti per quanto riguarda la gestione manageriale del software;
\item \textbf{Il software libero in Italia}, un libro molto interessante composto da diversi interventi. Contiene una buona sezione riguardante le licenze;
\item \textbf{Hackers: Heroes of the Computers}, libro leggibile come un romanzo, molto consigliato, molto leggero ma va ben oltre gli obiettivi del corso;
\item \textbf{Software libero, pensiero libero}, per chi ha poca dimestichezza con il progetto GNU. Anche questo libro è composto da una serie di interventi. \textit{Stallman} ha una grande capacità di organizzazione degli argomenti;
\item \textbf{Free culture}, di \textit{Lawrence Lessig}. Quest'ultimo, oltre a essere l'ex leader di \textit{Creative Common}, ha scritto una serie di libri in cui affronta le tematiche di libertà di accesso ai \textbf{contenuti}. È un libro scritto molto bene, affronta il problema della rivisitazione dei modelli di proprietà a fronte di forti cambiamenti (es. l'introduzione di Internet, l'introduzione dei voli aerei...);
\item \textbf{Privilege and property}, accessibile da Internet. Viene affrontata la nascita del copyright.
\end{itemize}
\subsection{Note su questi appunti}
Gli appunti sono stati realizzati in LaTeX e sono il prodotto dell'unione degli appunti presi a lezione e la trascrizione delle registrazioni nell'A.A. 2013/2014. \\
Il contenuto degli appunti potrebbe non coprire eventuali aspetti ed argomenti tenuti negli anni accademici successivi, Il registro utilizzato è simile a quello tenuto a lezione.\\
\begin{wrapfigure}{L}{0.15\textwidth}
\includegraphics[width=20mm]{images/cc_by_sa}
\end{wrapfigure}
\noindent Il PDF ottenuto, eventuali stampe e altre opere derivate da questo sorgente sono da intendersi come rilasciate sotto licenza CC-BY-SA 4.0 \\
\url{https://creativecommons.org/licenses/by-sa/4.0/}
\subsection{Introduzione al software libero}
Il software libero non ha nulla a che vedere con il \textit{prezzo}, ma è un software che rispetta \textbf{4 concetti fondamentali}, ovvero 4 libertà per l'utente:
\begin{itemize}
\item Libertà di \textbf{usare} il software, usandolo senza restrizioni. Es. libertà di prendere il prodotto ed utilizzarlo senza limiti di tempo, senza vincoli di paese e per \textit{qualunque scopo} (didattico, lavorativo, privato, ...). Il tipo di utilizzo non è mai precluso. Questa è da un lato la libertà meno importante, ma dal punto di vista dell'impatto sull'utente sviluppatore non è la maggiore;
\item Libertà di \textbf{studiare} il software. A differenza del software proprietario è possibile vedere il \textit{codice sorgente} e capire come funziona il software, ciò da una garanzia di protezione all'individuo. Senza questa libertà si ha un blocco della conoscenza ed è una forte limitazione alla crescita del prodotto;
\item Libertà di \textbf{modifica}, ovvero posso prendere il software e cambiarlo, costruire nuove soluzioni. Il software libero è visto in questo contesto come \textit{piattaforma}. Si tratta di costruire delle proprie versioni a partire da una base. È una libertà molto importante ed è una ricchezza per poi creare altri sviluppi;
\item Libertà di \textbf{ridistribuzione}, in questo caso le aziende non solo possono creare per se stesse, ma anche mettere la nuova versione a disposizione di altri. Software libero come bene comune (\glossario{Routes}, \glossario{Beowulf}, \glossario{nslu2}). Una volta che posso ridistribuire ad altri allora il mio lavoro diventa realmente usabile. La redistribuzione abbatte i costi e aumenta l'apporto di contributi tramite la community che acquisice competenze e vsibilità al migliorare del software. Con un piccolo sforzo di molti si ottiene un grande risultato.
\end{itemize}
\subsection{Libero != Gratuito}
È un errore comune confondere questi due concetti, ma essi sono realmente due cose distinte. Esiste software gratuito ma che non è libero ed esiste software libero non gratuito (\textit{openerp}, i programmi della \glossario{fsf}, i binari \glossario{RedHat Enterprise Linux}). C'è tutta una serie di software \glossario{freeware} o \glossario{shareware} (es. \textit{winzip}). Un software shareware è collegato ad un acquisto successivo, invita l'utente ad acquistare una versione commerciale.
\glossario{\textbf{openerp}} è un software a pagamento che fornisce supporto e assistenza tecnica garantendo plugin e funzionalità aggiuntive.
\glossario{\textbf{Free Software Foundation}} distribuisce software libero disponibile per diverse architetture. Ha una serie di programmi non facili da compilare. Si scarica il sorgente e si tenta di compilarlo, oppure si richiede il CD con i file già compilati, e questo CD viene fatto pagare.
\glossario{\textbf{RedHat Enterprise}} risolve bug e problemi nel minor tempo possibile e fa il porting di nuove funzioni su vecchie versioni. Vengono distribuiti i sorgenti ma non i binari. Molte di queste modifiche apportate da sviluppatori RedHat vengono integrate in \glossario{\textbf{CentOS}}
I concetti di \textbf{libero} e \textbf{gratuito} sono dunque concetti ortogonali.
\subsection{L'importanza del software libero}
L'importanza del software libero è legata in primo luogo alla \textbf{riduzione dei costi} (apache, php, ...). Non è importante per il pagamento in sé ma in quanto mobilita le leggi del mercato. È un mercato aperto, con un tasso più alto di competizione ed innovazione nel quale è facile entrare (ha basse tariffe d'ingresso) ed investire.
Un secondo impatto riguarda la \textbf{trasparenza}. Se quello che faccio è visibile, è anche controllabile da altri sviluppatori. È difficile fidarsi di un software che non si sa bene cosa faccia. Il software libero è una \textbf{garanzia} in quanto il controllo collettivo migliora la qualità del software.
Con il software libero non abbiamo nessun \textbf{lock-in}, il software libero si può adattare facilmente alle versioni precedenti e quindi non si creano dipendenze da software specifico (come nel caso di software proprietario come \textit{Microsoft Office}).
\textbf{Sicurezza e affidabilità?} Non ci sono dimostrazioni effettive che questo sia vero. Da un lato il software libero è visibile a tutti, ma dall'altro la manutenzione è costosa ed è facile introdurre bug. Il software proprietario vive molto spesso di un inflazione di \textit{features}, questo per aumentare le vendite.
%TODO (citazione di Bill Gates)
Si passa da un modello gerarchico produttore - consumatore in cui c'è [\textbf{chi fa}] ed ha il potere derivato dalla conoscenza e [\textbf{chi usa}], e sta alle condizioni. Il software libero è conoscenza libera. Si cambia il modo in cui si sviluppa e con cui si fa impero. È un modello ``\textit{social}'', il software vale molto di più per il fatto che c'è una \textbf{comunità} che gli gira intorno. Il rapporto che si viene a creare con gli utenti è molto importante (\textit{Innovation happens elsewhere}). Intorno al software libero si può creare una comunità in modo che la somma dei costi per fare un prodotto è minore rispetto al costo della comunità stessa.
\subsection{Introduzione a GPL}
Per molto tempo il software libero ha avuto una \textbf{posizione di inferiorità}. Le aziende prendevano software libero, sviluppavano una nuova versione e le rilasciavano come software proprietario. Il progetto \textbf{GNU} voleva creare una versione completamente libera del software. Ha creato dunque una nuova licenza, chiamata \textbf{GPL} (General Public License), in modo che avesse un \textit{effetto virale}. Una licenza libera ma con una restrizione particolare, ovvero ogni redistribuzione deve essere rilasciata sotto licenza GPL (circolo virtuoso e virale). Vedere il software libero come un'enorme libreria di conoscenza sempre disponibile.
Il software libero con questa licenza si arricchisce molto, cresce nel tempo e diventa sempre più interessante. Questa licenza è ancora molto presente (60\%, 70\% del software libero è sotto GPL).