Principali tipologie di licenze software e software libero Alia Rosario.

Post on 02-May-2015

219 views 0 download

Transcript of Principali tipologie di licenze software e software libero Alia Rosario.

Principali tipologie di Principali tipologie di licenze software e licenze software e

software liberosoftware libero

Alia Rosario

Tipologie di linguaggioCitiamo solo alcuni dei possibili modi di classificare in

linguaggio

• Linguaggio connotativo, serve a fare descrizioni (esempio: Marco è un uomo alto ed un po’ soprappeso, quando è rilassato riesce ad essere moto simpatico …)

• Linguaggio espressivo, serve a esprimere sentimenti ed emozioni (esempio: Quando vedo il tramonto la mia mente corre alla mia terra lontana e un groppo mi si forma in gola)

• Linguaggio poetico, spezza le regole tradizionali della lingua ufficiale per dare più forza ad un concetto (esempio: Soldati Si sta come d’autunno sugli alberi le foglie – G. Ungaretti)

• Linguaggio non verbale..• Linguaggio Imperativo, serve solo a dare istruzioni, ovvero

ordini e comandi (esempio: Pulisci la lavagna, scrivi il testo dell’esercizio che ti detto, svolgi correttamente l’esercizio …)

Linguaggi naturaliItaliano – Inglese – Francese – Spagnolo - Sardo –

Siciliano …• I linguaggi naturali normalmente appresi e usati da

noi umani, usano un numero molto elevato di vocaboli ed hanno una struttura grammaticale assai complessa, sono strumenti di comunicazione estremamente flessibili e potenti e riescono ad assolvere a gran parte delle funzioni prima viste.

• A volte può presentare delle ambiguità che possono essere anche volute: i versi di Dante “Godi, Fiorenza, poi che se' sì grande” che aprono il 26° canto dell’Inferno formalmente sono un elogio alla sua città, in realtà sono un ironico e amaro richiamo che viene chiarito dai versi successivi.

Rosario
Godi, Fiorenza, poi che se' sì grandeche per mare e per terra batti l'ali,e per lo 'nferno tuo nome si spande!

Linguaggi di programmazione

• Sono particolari linguaggi imperativi che servono a dare degli ordini ad un calcolatore elettronico.

• Si caratterizzano per una struttura estremamente semplice e sintetica.

• Sono univoci, ovvero ammettono un’unica interpretazione ovvero non sono soggetti ad equivoci e incomprensioni.

Linguaggi macchinaIl primo linguaggio di

programmazione

• I circuiti elettronici di un computer possono capire e interpretare solo la presenza o l’assenza di una tensione elettrica, situazioni simbolicamente rappresentate da sequenze di cifre 0 e 1 che formano un codice binari.

• Con i soli due caratteri 0 e 1 è teoricamente possibile scrivere qualsiasi cosa, in particolare impartire degli ordini ed eseguire dei calcoli.

• Il principale limite di tale forma di linguaggio è che, paradossalmente a causa della sua semplicità, è estremamente lontano dai linguaggi naturali degli esseri umani, è risulta per noi molto difficoltoso da usare.

• Ogni tipologia di calcolatore adotta un particolare linguaggio macchina.

Linguaggi di più alto livello

• Per aggirare l’assoluta difficoltà di usare i linguaggio macchina, sono stati introdotti dei linguaggi comunque imperativi ed univoci ma più vicini al linguaggio umano (storicamente si è cercato di avvicinarsi maggiormente alla lingua inglese).

• Alcuni esempi di questi linguaggi sono:• Fortran, Cobol, Algol, Basic, c, c++, Pascal,

Java ...

Interpreti e compilatori

• Testo in linguaggio C -> Compitatore -> Linguaggio Macchina -> Calcolatore

• Con la compilazione il programma scritto in linguaggio di alto livello viene tradotto in linguaggio macchina.

• Contrariamente a quanto si possa pensare la possibilità di queste traduzioni non è bidirezionale

Traduzione non bidirezionale

Linguaggio

MacchinaLinguaggio

C

Agevole

DifficoltosaProduce un

risultato scadente

Quali sono le categorie Quali sono le categorie di software?di software?

• Pubblico Dominio• Freeware• Shareware• Open Source• Software proprietario

Pubblico Dominio• È un software privo di licenza o distribuito con un

diritto d’autore che non pone alcuna limitazione al suo impiego.

• Può ad esempio essere sfruttato come base per sviluppare un software con licenza proprietarie e distribuito protetto e a pagamento

Software proprietarioSoftware proprietario• Programmi non liberi, e di cui non è possibile

consultare e modificare i codici sorgenti. • Per esempio il software che viene venduto dai

negozi di informatica o quello che il grande fornitore di software installa sui server dell’azienda.

• Il software proprietario si contrappone a quello libero e si caratterizza solitamente per il fatto che l’utente deve pagare per poterlo utilizzare e non gode di alcun diritto di adattamento dello stesso.

• I codici sorgenti sono riservati.

FreewareFreeware• Software che viene distribuito in modo

gratuito.• È distribuito indifferentemente con o senza

codice sorgente, a totale discrezione dell'autore e senza alcun obbligo al riguardo.

• È sottoposto esplicitamente ad una licenza che ne permette la redistribuzione gratuita.

• Il software freeware viene concesso in uso senza alcun corrispettivo, ed è liberamente duplicabile e distribuibile.

SharewareShareware• Il software shareware viene rilasciato

gratuitamente, solo in versione eseguibile, ma con l’impegno morale, da parte dell’utente, di pagare dopo un periodo di prova il costo di una licenza, che solitamente è molto contenuto.

• Il software shareware è un modo per lo sviluppatore di promuovere il proprio lavoro.

• Spesso, per incoraggiare il successivo pagamento, l’autore rilascia una versione ridotta in funzionalità, con l’impegno di fornirne quelle aggiuntive all’atto del pagamento della licenza.

• È un modello di business, che però si scontra spesso con la moralità delle persone, che preferiscono non pagare la licenza d’uso del programma, anche se continuano a usarlo.

Open sourceOpen source• Disponibilità del codice sorgente, e possibilità

di creare prodotti derivati a partire da quel sorgente, da rilasciare sotto la stessa licenza del software originale.

• La collaborazione di più parti (in genere libera e spontanea) permette al prodotto finale di raggiungere una complessità maggiore di quanto potrebbe ottenere un singolo gruppo di lavoro.

• I software open source attualmente più diffusi sono Firefox, OpenOffice, 7-Zip

• La comunità open source è molto attiva, comprende decine di migliaia di progetti.

Dai programmi … alle Dai programmi … alle AppApp

Mobile Appo Sono grossomodo l’equivalente dei

programmi per computer, e arricchiscono il corredo di funzioni di base offerto dall’apparecchio.

Web Appo Sono applicazioni che risiedono su un

server della rete, per sfruttarne le funzioni devo essere connesso al sito e quindi ad una rete, non richiedono istallazione e non occupano in modo stabile memoria dell’apparecchio, a volte richiedono comunque apparecchi con buone prestazioni per sfruttare le funzioni live e real time.

Mobile App• si caratterizzano per essere adattati ad uno

schermo di piccole dimensioni e a risorse hardware e possibilità di connettersi alla rete limitate.

• Modalità di distribuzione del softwareo Es. ITunes Storeo Es. App Storeo Google play (File .apk)o Solitamente non si scarica o acquista alcun file di istallazione, ma

direttamente dalla rete viene installato il software desiderato.

• Sfruttano frequentemente la possibilità di un costante scambio di dati con le reti senza necessariamente richiedere una banda eccessivamente ampia.

Web App• si caratterizzano per essere adattati ad uno

schermo di piccole dimensioni e a risorse limitate hardware

• Si usano solo grazie alla connessione alla rete.• Spesso il loro uso, passa attraverso l’uso del

browser installato sul dispositivo.• Si immagina una loro ampia diffusione con

l’introduzione e diffusione dell’HTML 5 per realizzare siti.

Grazie X l’attenzione