Skip to main content
marcozanon.com

Introduzione all'open source

Creazione: | Aggiornamento:

Definizioni

Per codice sorgente (in Inglese: source code) si intende l'insieme del lavoro svolto da uno o più sviluppatori per scrivere un'applicazione utilizzando determinati linguaggi (C, C++, Java, Pascal, Delphi, PHP, Javascript, Asp, Basic, Fortran, Ada, Perl, Python, Cobol, Assembly, Groovy, ecc.).

Si parla di open source quando quel codice sorgente è messo a disposizione di chiunque (utenti, programmatori, sistemisti, studenti, appassionati) con una licenza che permetta di:

  • visionare e studiare come è stata realizzata l'applicazione;
  • copiare e distribuire il software gratuitamente;
  • per i programmatori: riutilizzare parte del codice in altri lavori, modificandolo in base alle proprie esigenze.

Proprio per le libertà concesse dalle licenze open source ci si riferisce a questo fenomeno anche col nome di software libero (in Inglese: free software).

Nota: talvolta può essere generata confusione dal fatto che in Inglese il termine free identifica indifferentemente sia ciò che è gratis che ciò che è libero.

Vantaggi

Il fatto che un team di sviluppo decida di rilasciare un prodotto con una licenza open source comporta notevoli vantaggi:

  • gli utenti finali hanno garanzie che nel software non sia stato inserito volontariamente del codice dannoso per il proprio sistema (chiunque abbia le necessarie competenze può infatti analizzare il codice stesso);
  • i programmatori ricevono aiuti e suggerimenti da parte di esperti del settore che possono esaminare il loro lavoro e segnalare facilmente agli autori eventuali errori (detti bug);
  • le specifiche con cui tali applicazioni leggono e scrivono i propri file sono note, consentendo un'elevata interoperabilità tra programmi e piattaforme differenti.

Se poi il prodotto è anche gratuito il risparmio in termini economici diventa notevole.

A questo punto può sorgere un dubbio: se un'applicazione è utilizzabile e copiabile liberamente, cosa ci guadagna chi la produce? La risposta è complessa perché dipende da parecchi fattori, ma può essere semplificata come segue:

  • alcune aziende vedono nel software libero un'opportunità per farsi conoscere dal pubblico, e preferiscono rinunciare al guadagno immediato (vendita del prodotto) per puntare piuttosto a crearsi una clientela tramite servizi aggiuntivi (assistenza tecnica);
  • per altre aziende contribuire allo sviluppo di un software libero è necessario per mantenere i prezzi dei propri prodotti concorrenziali, e a lungo andare esse finiscono con avere un rientro economico tramite volumi di vendita maggiori;
  • moltissimi appassionati dedicano parte del tempo libero per contribuire ai progetti che stanno loro a cuore (in questo caso il guadagno non è da intendersi in senso economico ma piuttosto come "soddisfazione" per aver dedicato del tempo ad un hobby).