Definizione del codice (programmazione / codice aperto e chiuso)
Quando parliamo di codice di programmazione ci riferiamo al linguaggio con cui funzionano i computer, che include una serie di istruzioni e dati da elaborare automaticamente.
Il codice nell'informatica può essere binario (interpretabile solo dai computer), codice sorgente (interpretabile dagli esseri umani) e, nel suo aspetto legale o politico, può essere software libero, open source, freeware, shareware o software proprietario / proprietario tradizionale.
Il software libero o il software libero ha una chiara definizione in questo senso, secondo la Free Software Foundation è uno che può essere utilizzato per qualsiasi scopo, studiato (sapere cosa fa), copiato e migliorato. Esiste una vasta gamma di licenze per software libero, la GNU GPL è il punto di riferimento per tutte, ma possiamo anche menzionare le licenze MIT, BSD, Mozilla, Apache o Creative Commons.
Il software open source è fondamentalmente lo stesso del software libero, tranne per il fatto che non esiti a mescolare software proprietario con software libero. Esiste anche un software open source che non può essere utilizzato per nessuno scopo, quindi non sarebbe gratuito.
Il freeware ha poco a che fare con il software libero, poiché l'unica cosa gratuita è la sua distribuzione: in generale non può essere modificato, studiato o commercializzato, quindi è ovvio che arriva senza codice sorgente (senza "la ricetta del programma ") .
Lo shareware è simile al freeware ma con una limitazione aggiuntiva: tempo di utilizzo. Questi programmi sono generalmente disabilitati in pochi giorni, sono versioni demo / light di programmi completi proprietari.
Il tradizionale software proprietario (nello stile di Windows ) non ne consente l'utilizzo per alcuno scopo, non consente il suo studio (tranne pagando fortuna ai suoi creatori), non consente la sua copia gratuita o il suo miglioramento da parte di nessuno: è l' inverso totale di software libero, ecco perché Windows e GNU / Linux sono così in contrasto.