trashware-book/tex/2-software.tex

109 lines
8.9 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\chapter{Software}
Nella lingua inglese software nasce per imitazione del termine ``hardware" e dalla composizione delle parole ``soft" (in italiano ``morbido", ``tenero", ``leggero") e ``ware" (in italiano ``merci", ``articoli", ``prodotti", ``mercanzie").
%%%
%La paternità della coniazione del termine ``software" non è certa.
%L'americano Paul Niquette la rivendica sostenendo di aver coniato il termine ``software" nel 1953.
%Certa invece è la prima apparizione del termine ``software" in una pubblicazione scritta: un articolo dell'American Mathematical Monthly scritto nel 1958 dallo statistico americano John Wilder Tukey. [da Wikipedia]
In pratica il termine definisce programmi e procedure utilizzati per far eseguire al computer un determinato compito.
Tutto quello che in un PC non riusciamo a toccare con le mani è considerato Software!
Il software viene, a grandi linee, suddiviso in:
\paragraph{Software di base}
È la parte del software più vicina alla macchina, indispensabile per il funzionamento del computer.
Viene generalmente identificato con il sistema operativo.
\paragraph{Software applicativo}
Viene definito software applicativo (o semplicemente ``applicativi") quell'insieme di programmi che l'utente usa per svolgere operazioni quotidiane: per scrivere una email o un documento, ritoccare una foto o navigare su Internet.
Se ne possono individuare 5 categorie:
\begin{itemize}
\item Desktop
\item giochi
\item educazione
\item scienze
\item sw developement
\item business
\end{itemize}
%% non apprezzo molto questa partenza subito col sw proprietario/libero
\section{Licenze e libertà}
%% inserire qui un intro sul software e la differenza fra sorgente e eseguibile (esempio del biscotto?)
\subsection{Software proprietario}
In generale il software proprietario è un applicativo di cui la riproduzione, modifica, distribuzione e utilizzo sono vincolate a una richiesta di permesso o categoricamente proibite.
Rispetto ad altri prodotti dell'ingegno, il codice sorgente può essere occultato.
Spesso, quindi, il software proprietario non è reso pubblico proprio per ostacolare chi volesse violare le clausole che lo proteggono e leggi ben precise ne impediscono la ridistribuzione (copyright).
Il software proprietario può essere sia a pagamento che gratuito, in quest'ultimo caso si parla di:
\begin{itemize}
\item \textbf{freeware} se è sottoposto esplicitamente ad una licenza che ne permette la redistribuzione gratuita. Il software freeware pur essendo proprietario, viene concesso in uso senza alcun corrispettivo, ed è liberamente duplicabile e distribuibile, con pochissime eccezioni.
\item \textbf{shareware} se è disponibile gratuitamente solo per un periodo di prova, nonostante sia distribuito in maniera simile a quello freeware, richiede un pagamento al termine di un periodo di prova o per attivarne tutte le funzionalità che sono state limitate.
\item \textbf{abandonware} se si tratta di software non più mantenuto né commercializzato da tempo, pertanto è considerato ``abbandonato" ed esplicitamente rilasciato come di pubblico dominio.
\end{itemize}
\subsection{Software libero}
Il Software Libero e Open Source\footnote{una breve spiegazione della distinzione può essere messa qui} sono software non sottoposti ad alcun vincolo, lasciando così l'utente libero di farne ciò che desidera, per esempio di:
\begin{itemize}
\item eseguirlo per qualsiasi scopo;
\item studiarlo e modificarlo;
\item poterlo liberamente ridistribuire;
\item migliorarne le funzionalità.
\end{itemize}
Molti confondono ``free software" con software ``gratis", poiché “free” in inglese vuol dire sia gratuito che libero, ma quando parliamo di ``free software" intendiamo il software libero.
%% licenze: da accorciare
\subsection{Vantaggi del Software Libero}
Utilizzare Software Libero, è prima di tutto una scelta di natura etica.
Il suo sviluppo si basa sugli stessi principi fondanti della comunità scientifica, senza i quali la ricerca non può progredire: il libero scambio delle informazioni, la condivisione di idee e risultati ed il libero utilizzo del patrimonio comune delle conoscenze per un ulteriore sviluppo.
Favorisce dunque l'indipendenza tecnologica, la diffusione del sapere, l'abbassamento delle barriere di accesso alla tecnologia, stimola la concorrenza e dà sostegno all'economia locale.
Le amministrazioni pubbliche sono incoraggiate ad usare Software Libero poiché impiegano le risorse dei cittadini e dovrebbero preferire l'utilizzo e lo sviluppo di un software che resti a disposizione di tutti
%garantendo la sua disponibilità, il suo riutilizzo, e la creazione di competenze, professionalità e valore sul territorio.
Dal punto di vista tecnico permette la verificabilità del software: diventa possibile, quando serve, monitorare il comportamento effettivo dei programmi intervenendo direttamente sui problemi; inoltre, consente un'estrema facilità di sviluppo, dal momento che ogni nuova implementazione può basarsi sulle modifiche precedenti.
Il codice sorgente è sottoposto e revisionato da un'ampia comunità che corregge bug e malfunzionamenti, che avviene in tempi sufficientemente rapidi.
Poiché il codice è sotto gli occhi del mondo, diventa difficile programmare applicativi malevoli.
Inoltre, chiunque abbia basi di programmazione può contribuire: o direttamente scrivendo del codice, ma anche traducendo programmi o segnalando problemi da correggere (bug).
% questo discorso lo riprenderei da madbob [se un programmatore alle prime armi mette le mani su software pubblico ha modo di mettersi in mostra]
Dal punto di vista sociale utilizzare Software Libero riveste un grande valore culturale dovuto al carattere pubblico e alla condivisione dei risultati; favorisce lo sviluppo professionale: basandosi su una economia dei servizi, incentiva la crescita professionale e l'aumento delle competenze sul territorio.
% va detto meglio... non è così scontato
Dal punto di vista economico, il Software Libero stimola la concorrenza e garantisce grandi possibilità di sviluppo che favoriscono leconomia locale.
%ok formazione
Crea nuove opportunità di business nel campo della formazione e del supporto.
Collaborando con sviluppatori volontari e utilizzando il lavoro della comunità, anche le piccole e medie imprese sono in grado di sviluppare e vendere prodotti di alta qualità.
\subsection{Svantaggi del Software Libero}
Lo sviluppo del software libero può avere una gestione ``anarchica", che porta a risultati incoerenti e ad una mancanza di uniformità.
Può succedere che alcune tipologie di software, soprattutto di nicchia, non siano disponibili mancano comunità che ne supportino lo sviluppo, oppure al contrario che gruppi di lavoro distinti lavorino a progetti del tutto equivalenti, dando luogo ad una dispersione negli obiettivi.
Anche se spesso è disponibile molta documentazione, è sovente incompleta, non in lingua italiana e a volte non aggiornata.
Parte dello sviluppo del software libero è rappresentato dal lavoro volontario, pertanto può essere più lento rispetto al software proprietario.
\section{GNU/Linux}
% la definizione sua non mi garba... agli occhi della gente mi sembra circolare
GNU/Linux è un sistema operativo creato nel 1991 da Linus Torvalds, uno studente universitario finlandese, integrato con altri software (sia di base che applicativi) GNU .
% cos'è GNU e una sua breve storia la facciamo prima
%sviluppato da Richard Stallman, al tempo studente universitario del MIT (Massachusetts Institute of Technology) di Boston, ha dato vita al sistema operativo GNU/Linux.
%% riprendere a piene mani da quello che si dice a voce nella presentazione introduttiva
\subsection{Perché usare Linux}
\begin{itemize}
\item \textbf{Sicurezza:}...
\item \textbf{Stabilità:} meh... da dire molto bene
% che è software libero lo possiamo omettere da qui, lo dobbiamo aver già detto in tutte le salse
\item \textbf{Riuso:} la maggior parte degli utenti navigano in rete, leggono e scrivono email, scrivono file di testo e presentazioni, dunque non hanno bisogno di aggiornare il proprio computer ogni 3/4 anni per avere sempre l'ultimo modello.
Purtroppo i sistemi proprietari evolvono sempre adattandosi al nuovo hardware, aggiungendo effetti grafici o appesantendo il sistema di base, e non è una buona idea utilizzare versioni precedenti perché vengono supportate sempre meno.
Alcune versioni di Linux, invece, sono pensate per l'uso su computer più datati ed eseguire in tranquillità le operazioni di base.
\item
\end{itemize}
\subsection{Le versioni di Linux}
Le diverse versioni di Linux sono dette \textbf{distribuzioni}, ed insieme al sistema operativo raccolgono software applicativi per l'uso base o per guidare l'utente nel processo di installazione del sistema.
Ogni distribuzione si differenzia dall'altra per scelte progettuali, per lo stile grafico, per la ``leggerezza" (alcune sono più adatte a computer performanti, altre a quelli di ultima generazione), per il target di utenti prefissato.
\url{http://www.distrowatch.com}