Il concetto di software libero

Loris Tissino

20 aprile 2009

Il software

Classificazioni del software:

Programma

Un programma è un insieme di istruzioni che devono essere eseguite da un calcolatore.

Esistono programmi di diversa natura e di diversa complessità.

Un programma può:

Applicazione

Per applicazione si intende un programma (o un insieme di programmi) che svolgono qualcosa di concretamente utile per l'utente finale.

Sistema operativo

Un sistema operativo è un programma (o un insieme di programmi) che ha lo scopo di permettere l'uso concreto di un calcolatore e l'accesso alle sue risorse.

I compiti fondamentali di un sistema operativo sono:

Programma sorgente ed eseguibile

Un esempio di programma:

#include <stdio.h>

int main()
{
  printf("Hello, world!\n");
  return 0;
}

Il programma sorgente viene compilato per ottenere un programma eseguibile (dalla "ricetta" si ottiene la torta).

Mangereste un alimento (o assumereste un farmaco) di cui nessuno conosce la ricetta (salvo chi l'ha prodotto)?

Free Software Foundation

La Free Software Foundation è un'organizzazione senza scopo di lucro che ha come obiettivo la promozione dello sviluppo di software libero, definito tramite le seguenti caratteristiche:

La FSF ha, tra le altre cose, promosso la creazione di una versione di sistema operativo completo, ispirato a Linux, chiamato GNU (GNU's Not Unix).

Copyright e Copyleft

Il software, come qualsiasi opera d'ingegno, è tutelato dal diritto d'autore: chi lo produce ha il diritto di:

Nel mondo anglosassone esiste il concetto di copyright (lett. "diritto sulle copie"), sulla base del quale sono state elaborate delle licenze che, a determinate condizioni, concedono diritti anziché limitarli. Con un gioco di parole, si parla di copyleft.

Licenze

La FSF ha promosso alcuni tipi di licenze con cui un programmatore può distribuire il software prodotto:

Altre licenze (non FSF) prevedono la distribuzione del codice sorgente, con maggiori o minori restrizioni.

Open Source

L'Open Source Initiative ha stilato una lista di caratteristiche che una licenza deve avere per essere considerata open source:

Altri tipi di licenza

Molto software viene distribuito con licenze diverse, che solitamente vengono raggruppate nelle seguenti categorie: