Open vs Closed Source
Federico Dionisio
Angelo Nardella
Giorgia Minini
Teoria e Tecnologia della Comunicazione 2015/2016
Il presente materiale è pubblicato con licenza Creative
Commons. “Attribuzione - Non commerciale - Condividi allo
stesso modo - 3.0” (http://creativecommons.org/licenses/by-
nc-sa/3.0/it/deed.it):
La licenza non si estende alle immagini provenienti da altre
fonti e alle screen shot, i cui diritti restano in capo ai rispettivi
proprietari, che, ove possibile, sono stati indicati. Gli autori si
scusano per eventuali omissioni e restano a disposizione
per correggerle.
Creative Commons
Open Source
Software Open Source
• Open Source significa "sorgente aperta".
• In informatica corrisponde a un software i cui autori
rendono pubblico il codice sorgente permettendone
modifiche ed estensioni.
• Indica i due aspetti principali dell'Open Source:
1. Licenza d'uso
2. Codice sorgente
Il codice sorgente
• Il codice sorgente è un linguaggio costituito da istruzioni:
• Comprensibile ed eseguibile da un computer tramite un
programma detto compilatore.
• Dopo essere stato trasformato in codice eseguibile.
• Il passaggio da codice sorgente a eseguibile è detto
compilazione.
Le licenze d’uso
• Solitamente con le licenze d'uso commerciali si rende
disponibile solo il codice eseguibile che impedisce agli
utenti la modifica del software;
• Con i programmi Open Source si dà sia il codice sorgente
che il codice eseguibile per cui è sempre possibile
modificarli.
• Un programma è libero se è disponibile il codice
sorgente.
• La disponibilità del codice sorgente non garantisce
l'effettiva libertà del software.
• L'iniziativa Open Source offre le condizioni minime per
considerare il software libero.
Le licenze d’uso
Tim ‘O Reilly e Richard Stallman
Fonte: http://archive.oreilly.com/pub/a/oscon2002/jc_photos4.html
La storia
• 40’: problema della condivisione del codice in un periodo
in cui vi erano specifiche hardware molto diverse e non
compatibili tra loro.
• 60’: diffusione dei codici open con nastri a schede
perforate.
• 70’: disponibilità del codice sorgente che permette di
standardizzare i linguaggi di programmazione.
• L'introduzione di sistemi operativi che permettono l'uso
dello stesso programma su hardware diversi.
• 80’: accordi di non divulgazione (NDA) del codice.
• Richard Stallman fonda la Free Software Foundation,
organizzazione senza fini di lucro derivante dal
precedente progetto GNU.
Gnu’s Not Unix
La storia
• 90’: con la divulgazione del protocollo HTTP e la nascita
dei primi browser Internet cominciò ad essere diffuso.
• Il progetto GNU non aveva ancora completato il kernel del
suo sistema operativo:
• Fu Linus Torvalds a sviluppare e distribuire tramite
Internet il suo sistema operativo Linux che ricevette
riscontro da parte di altri programmatori i quali
contribuirono a svilupparlo. Linux può essere
considerato il primo vero progetto "Open Source" in
quanto faceva affidamento sulla collaborazione via
Internet per progredire;
La storia
I guadagni nell’Open Source
1. Donazioni: lo sviluppatore dà la possibilità di fare delle
donazioni come ringraziamento o incoraggiamento per
ulteriore sviluppo;
2. Servizio di supporto a pagamento: si paga il supporto
dello sviluppatore;
3. Sponsorizzazione: presenza di pubblicità all’interno del
software;
4. Guadagni grazie alla didattica: se il software creato è
complesso lo sviluppatore può guadagnare con corsi di
apprendimento del prodotto, la vendita di libri.
Differenza tra Software Libero e Open Source
• Il software libero indica un software la cui licenza è
basata su concetti etici definiti da Stallman; si pone
l'accento sulle questioni morali che ne stanno alla base.
• Il software Open Source si riferisce alla Open Source
Definition a sua volta derivata dalla Debian Free Software
Guidelines ossia 10 punti pratici che definiscono i criteri
legali che una licenza deve soddisfare per essere
considerata libera.
• I fautori del movimento Open Source ritengono che il
software libero sia la causa degli scarsi investimenti
delle aziende.
• La libertà è sacrificata per l'utilizzo pratico dei prodotti.
Differenza tra Software Libero e Open Source
Le quattro libertà offerte dal Free Software definite da
Stallman:
1. La libertà di usare il programma per qualunque scopo;
2. La libertà di studiare come è fatto il programma, il che
rende implicitamente necessario avere a disposizione il
codice sorgente;
3. La libertà di copiare e distribuire il programma a chiunque
consentendo di distribuire gratuitamente il software senza
dovere pagare licenze;
4. Libertà di modificare il programma e di distribuire le
proprie modifiche che se utili ad altri possono essere
incluse nel programma.
Fonte: https://it.wikipedia.org/wiki/Differenza_tra_software_libero_e_open_source
Differenza tra Software Libero e Open Source
I 10 principi dell'Open Source:
1. Libertà di redistribuzione (sta poi al singolo decidere se
farlo gratuitamente o se far pagare il prodotto);
2. Libertà di consultare il codice sorgente;
3. Necessità di approvazione per i prodotti derivati;
4. Integrità del codice sorgente dell'autore;
5. Nessuna discriminazione verso singoli o gruppi di
persone;
6. Nessuna discriminazione verso i settori di applicazione;
7. La licenza deve essere distribuibile;
8. La licenza non può essere specifica per un prodotto;
9. La licenza non può contaminare altri software;
10. La licenza deve essere tecnologicamente neutrale.
Fonte: https://it.wikipedia.org/wiki/Differenza_tra_software_libero_e_open_source
Nonostante tali differenze difficilmente una licenza soddisfa
i requisiti di una definizione e non dell'altra:
1. L'Open Source non è per forza copyleft, può avere
licenze permissive come il software libero;
2. Non basta poter vedere e/o modificare il codice sorgente
di un programma per poterlo considerare libero.
Differenza tra Software Libero e Open Source
I tipi di licenze Open Source
• Uno degli errori più comuni è quello di pensare che il
software libero sia senza licenza.
• Per la normativa del diritto d’autore, i diritti di distribuzione
e modifica sono esercitabili solo dall’autore stesso.
• Per copiare, modificare o ridistribuire il software è
necessaria una licenza.
Per il Free Software si usano le licenze:
1. GNU GPL
2. GNU LGPL
3. WTFPL
4. Licenza MIT
5. BSD
6. MPL
I tipi di licenze Open Source
Fonte: https://www.blackducksoftware.com/resources/data
1. GNU GPL
• versione 1: (1989) Richard Stallman crea la GPL per
distribuire software creati nell’ambito del progetto GNU.
Insieme al codice eseguibile obbligo di fornire anche il
sorgente.
• versione 2: (1991) la clausola "Libertà o morte” impone
che, qualora ci siano restrizioni sulla libera distribuzione
del software il software non può essere distribuito.
• La GNU GPLv2 riscuote subito un gran successo nel
mondo del software libero (esempio Linux).
• versione 3: (2007) protezione maggiore dai brevetti
software e la definizione di “codice sorgente”.
Fonte: https://it.wikipedia.org/wiki/GNU_General_Public_License
• rispetto alle altre licenze di software libero, la GPL è classificabile
come:
• persistente perché impone un vincolo alla ridistribuzione: se
l'utente distribuisce copie del software, deve farlo secondo i
termini della GPL stessa. In pratica, deve distribuire il testo della
GPL assieme al software e corredarlo del codice sorgente o di
istruzioni per poterlo ottenere ad un costo nominale.
Questa è la caratteristica principe della GPL, il concetto ideato da
Richard Stallman e da lui battezzato copyleft. L'effetto che
realizza è mantenere libero un programma una volta che esso è
stato posto sotto GPL, anche se viene migliorato correggendolo e
ampliandolo.
• propagativa perché definisce nel testo una particolare
interpretazione di "codice derivato", tale che in generale l'unione
di un programma coperto da GPL con un altro programma
coperto da altra licenza può essere distribuita sotto GPL, o in
alternativa non essere distribuita affatto.
1. GNU GPL
Fonte: https://it.wikipedia.org/wiki/GNU_General_Public_License
• studiata come compromesso tra la GNU GPL e altre
licenze non copyleft (BSD e Apache).
• La LGPL permette al software di essere "linkato" ad
altro software con licenza diversa.
• La LGPL impone restrizioni che vietano ai distributori
di negare tali diritti o di chiedere di rinunciarvi.
2. GNU LGPL
Fonte: https://it.wikipedia.org/wiki/GNU_Lesser_General_Public_License
• La WTFPL (Do What The F**k You Want
To Public License)
• La versione 1 non è libera, in quanto non consente
la modifica dell'opera.
• La versione 2 è da considerarsi free software e open
source, priva di copyleft ma compatibile con la GPL.
3. WTFPL
Fonte: https://it.wikipedia.org/wiki/WTFPL
• MIT è una licenza di software libero creata
dal Massachusetts Institute of Technology.
• I diritti della Licenza MIT permettono di utilizzare, copiare,
modificare, incorporare, pubblicare, distribuire, sotto-
licenziare, e/o vendere il software.
• È anche una licenza GPL-compatibile, cioè
la GPL permette di combinare e ridistribuire tale software
con altro che usa la Licenza MIT.
4. Licenza MIT
Fonte: https://it.wikipedia.org/wiki/Licenza_MIT
• Le licenze BSD sono una famiglia di licenze
permissive, senza copyleft.
• Le licenze BSD garantiscono le quattro libertà del software della
FSF.
• Chi modifica un programma protetto da licenze BSD, può
ridistribuirlo usando la stessa o qualunque altra licenza (anche non
libera), senza avere l'obbligo di ridistribuire le modifiche apportate al
codice sorgente.
• Due varianti della licenza:
• la Nuova Licenza BSD (o Licenza BSD Modificata)
• la Licenza semplificata BSD (o FreeBSD)
5. BSD
Fonte: https://it.wikipedia.org/wiki/Berkeley_Software_Distribution
• MPL, (Mozilla Public License).
• Versione 1.0: (1998) NPL (Netscape) includeva una
clausola che permetteva anche a un codice sviluppato
apertamente di essere rilicenziato come proprietario. Nasce
poi la MPL con Mozilla con caratteristiche di copyleft.
• Versione 2.0: (2012) licenza più chiara, facile e compatibile
con GPLv3 e Apache.
• Il codice sorgente copiato o modificato sotto la licenza MPL
deve rimanere sotto MPL.
6. MPL
Fonte: https://it.wikipedia.org/wiki/Mozilla_Public_License
Uso licenze
I vantaggi dell’Open Source
1. Qualità del software ottenuta dalla visione del codice
sorgente da più persone che lo sviluppano in modo
condiviso.
2. Per i programmi open source le caratteristiche del
software sono definite dagli utenti.
3. La libertà di utilizzo del software senza i vincoli delle
licenze proprietarie.
Questo significa che l'utente non è obbligato a migrare
verso nuove versioni del software.
4. I programmi Open Source sono sviluppati da
programmatori interessati a uno stesso software. Comunità
è quindi supporto, evoluzione, scambio culturale.
5. Indipendenza dal fornitore: in qualsiasi momento l'utente
può scegliere a chi rivolgersi senza nessun obbligo
commerciale.
I vantaggi dell’Open Source
Gli svantaggi dell’Open Source
1. Un problema di conoscenza: associazione di programmi Open
Source a software di bassa qualità;
2. Scarsità di risorse/poca visibilità: aziende troppo piccole per farsi
pubblicità. Le aziende più grandi hanno maggior convenienza a
venderlo come proprietario facendosi pagare la licenza.
3. Funzionalità: non sempre i programmi Open Source replicano
tutte le funzionalità dei programmi commerciali.
4. Formazione: i programmi Open Source richiedono spesso che
l'utenza sia formata al loro utilizzo.
Proprietary software
Definizione
Software proprietario o software non libero*: qualsiasi software che
pone delle restrizioni sull’uso, l’analisi, la modifica, o la
distribuzione. In particolare non si può accedere al codice
sorgente (testo di un algoritmo di un programma scritto in un
linguaggio di programmazione).
ene usato dalla FSF (Free Software Foundation), mentre la OSI (Open Source Initiative) u
Un po’ di storia…
• 60’: nei primi computer il codice sorgente era
accessibile e i software erano forniti senza
costi aggiuntivi rispetto alla macchina hardware.
• 69’: IBM, per la prima volta, sotto minaccia dell’Antitrust*,
compie uno “spacchettamento” tra hardware e software
rendendo quest'ultimo a pagamento.
“Many people believe that one pivotal event in the growth
of the business software products market was IBM's
decision, in 1969, to price its software and services
separately from its hardware.”**
*IBM fu accusata di violare la sezione 2 dello Sherman Antitrust Act. Section 2:
"Every person who shall monopolize, or attempt to monopolize, or combine or conspire with any other
person or persons, to monopolize any part of the trade or commerce among the several States, or with
foreign nations, shall be deemed guilty of a felony [. . . ]”
**Burton Grad, A Personal Recollection: IBM's Unbundling of Software and Services, IEEE Annals of the
History of Computing, Vol. 24, No. 1 (Jan–Mar 2002), pp. 64–71.
• 76’: lettera di Bill Gates contro coloro
che non pagavano il software.
Evento chiave spesso citato per il
sorgere della commercializzazione
del software.
• 83’: IBM ha portato al passaggio al software proprietario
rendendo accessibile il solo codice oggetto, la traduzione
del codice sorgente in linguaggio macchina.
Un po’ di storia…
Nozioni legali
• Il software proprietario è coperto dal copyright e questo
permette al proprietario di stabilire dei diritti esclusivi.
• Un venditore software delinea i termini di utilizzo attraverso
un “End-User License Agreement" (EULA).
• l’utente accetta i termini d’utilizzo in forma elettronica
attraverso la licenza “click-wrap” oppure materialmente
aprendo la scatola contenente il software: licenza “shrink-
wrap”. Nascono quindi polemiche sulla modalità di visione e
accettazione dei termini di licenza.*
*Vedi caso interessante della sentenza del Giudice di pace di Firenze, Dott. Lo Tufo, relativo alla causa
tra un acquirente di un computer portatile ed HP Italia. Fonte: http://punto-
informatico.it/2096808/PI/News/notebook-windows-rimborso-dovuto.aspx
• I venditori di software proprietario considerano
di solito il codice sorgente un segreto commerciale.
• Le licenze del software open source si fondano
sulla stessa base legale del proprietary software. Ciò
che differisce sono gli scopi.
Nozioni legali
Limitazioni alle licenze
• Alcuni venditori di software, come Microsoft, non
considerano il prodotto venduto il software, bensì la
licenza che permette di accedere al software.
Diritti esclusivi
Il proprietario del software esercita dei diritti esclusivi che
riguardano: l’uso, il controllo, la modifica e la distribuzione.
Fonte: Software licenses in context of copyright according to Mark Webbink,
https://en.wikipedia.org/wiki/Software_license
Diritti esclusivi - uso del software
• La limitazione principale riguarda il vincolo di non poter
utilizzare il software su più macchine per motivi di copyright.
Questo può avvenire attraverso l’uso di codici d’attivazione
del prodotto, numeri seriali, chiavi software ecc.
• Alcuni esempi:
• le licenze Adobe sono limitate all’utilizzo da parte di un solo
utente;
• la suite di produttività Apple iWork ’09, è disponibile
in un pacchetto-famiglia per massimo 5 macchine.
Esempio di product key
Fonte:
https://en.wikipedia.org/wiki/Product_key
• I fornitori dei proprietary software solitamente li
distribuiscono in forma compilata senza dare il codice
sorgente, ovvero la versione leggibile del software scritto
in linguaggio di programmazione ad alto livello.
• Questo impedisce di capire come funziona il software e
di modificarlo.
Esempio di codice sorgente in Python
Diritti esclusivi - uso del software
Diritti esclusivi - controllo e modifica
"malicious features, such as spying on the users, restricting the users, back doors,
and imposed upgrades.” (R. Stallman)
Fonte: https://www.gnu.org/philosophy/open-source-misses-the-point.html
Richard Stallman è stato
il primo a opporsi alla
filosofia del proprietary
software creando la Free
Software Foundation,
ritenendo che questi
programmi contengono
spesso dei malware.
Scontro tra due filosofie opposte…
Una questione di sicurezza…
Diritti esclusivi - controllo e modifica
• I sostenitori del proprietary software ritengono che non fornire
il codice sorgente permetta di renderlo più sicuro riguardo le
sue vulnerabilità.
• A volte si usano tecniche di offuscamento del codice per
evitare il reverse engineering quando il codice è accessibile.
• I sostenitori dell’open source definiscono negativamente tale
approccio Security Through Obscurity (STO) considerando
invece l’open source più sicuro per la maggior disponibilità dei
risultati di controllo del codice.
Diritti esclusivi - controllo e modifica
Eccezioni
• In certi casi i fornitori di software proprietario rendono
accessibile, studiabile e modificabile il codice sorgente,
tuttavia esso non può essere ridistribuito (accordo di
non divulgazione, NDA: non-disclosure agreement).
• Esempi:
• Software per forum Internet vBulletin
• Microsoft e la sua Shared Source Initiative*: Reference
Source License (Ms-RSL), Limited Public License (Ms-
LPL) e Limited Reciprocal License (Ms-LRL) sono
licenze proprietary software con codice sorgente
accessibile.
*Nel 2003 Microsoft stabilì un programma di sicurezza governativa (GSP) per
permettere ai governi di vedere il codice sorgente. Questo programma fa parte della
più ampia iniziativa.
Diritti esclusivi - controllo e modifica
Caso Snowden*
• Secondo i documenti rilasciati
da Snowden la NSA (National
Security Agency) avrebbe
collaborato segretamente con
compagnie di software per
rendere la crittografia di certi
software commerciali sfruttabile
per intercettazioni o per inserire
delle backdoor.
*Fonte:
http://www.theguardian.com/world/2013
/sep/05/nsa-gchq-encryption-codes-
security
Diritti esclusivi - controllo e modifica
Diritti esclusivi - ridistribuzione
• Solitamente le compagnie di software proprietario
proibiscono la condivisione del software.
• Per utilizzarlo da una terza parte è necessaria un’altra
licenza unica.
Tipologie proprietary software - Shareware
• Tipologia di software proprietario, inizialmente fornito gratui
• Esistono vari tipi di shareware tuttavia tutti hanno come
scopo un qualche guadagno.
• Adware: “Advertising-supported software”, un software
che ricava guadagni dalla pubblicità che
automaticamente viene renderizzata dal programma.
Tipologie proprietary software - Shareware
• Demoware: una versione dimostrativa del software.
Esso si divide in “crippleware”, e “trialware”.
• Crippleware: le caratteristiche essenziali del software,
(come il salvataggio), sono assenti finché non viene
acquistata la versione a pagamento completa. Questo
permette all’utente di farsi un’idea delle peculiarità del
software prima dell’acquisto.
Tipologie proprietary software - Shareware
• Demoware: una versione dimostrativa del software. Esso
si divide in “crippleware”, e “trialware”.
• Trialware: un software funzionante con un limite di
tempo dopo il quale non è più eseguibile se non
acquistando la licenza. L’obiettivo è di permettere di
comprendere le reali potenzialità del software. Secondo
una ricerca di Softletter* il 66% delle compagnie
intervistate avevano un tasso di conversione dalla
versione gratis a quella a pagamento di circa il 25%
(2013 Softletter SaaS Report).
*Fonte "2013 Softletter SaaS Report"
Tipologie proprietary software - Shareware
• Nagware: una tipologia di software shareware, che
ricorda in maniera insistente (to nag=infastidire)
all’utente di pagare una quota per avere il software
senza la comparsa di questi messaggi.
Tipologie proprietary software - Shareware
Tipologie proprietary software - Freeware
• La parola free si riferisce al fatto che è un software
gratuito ma che possiede restrizioni come il divieto di
ridistribuzione e la non disponibilità del codice sorgente
e altri diritti in capo al proprietario.
• Software freeware sono per esempio Adobe Reader e
Skype.
Tipologie proprietary software - Freeware
• Attenzione! Non confondere il “free software” con il
freeware. Il primo infatti si riferisce alle libertà garantite
agli utenti di usare, modificare e ridistribuire il software
che potrebbe anche essere dato a pagamento.
Tipologie proprietary software - Abandonware
• Software che è stato abbandonato dal proprietario ovvero
che non è più venduto sul mercato, sostenuto, supportato.
• Possibili problemi: i clienti che continuano a usufruire del
software potrebbero non essere più aiutati, supportati in
caso di problematiche con il software.
Tipologie proprietary software - Abandonware
• Obsolescenza programmata: le vecchie versioni del
software non sono più portate avanti per forzare gli utenti
ad acquistare le nuove versioni.
• Spesso vi sono comunità che danno supporto in tali casi,
oppure si può migrare verso software con cicli di vita più
lunghi o verso sistemi basati su FOSS.
“Proprietary software's role as the primary innovator in the market is, effectively, over. […]
Instead, today's discussion centers on what is open source or not.” (S. O’ Grady)
Fonte: http://www.pcworld.com/article/243136/open_source_vs_proprietary_software.html
Sempre più verso l’open source
Sempre più verso l’open source
• L’idea è che l’open source porti maggiore innovazione
poiché non è “schiacciato” dal peso di dover generare
guadagni.
• In più vi è il fattore delle comunità con molte più menti e
veri appassionati che si concentrano sulla qualità del
codice senza pensare a dover vendere un prodotto:
• Apple tramite fork ha abbracciato il progetto open
source FreeBSD integrandolo con NeXTStep per
creare DarwinOS che sta alla base del Mac OS X.
Fonte: https://it.wikipedia.org/wiki/Darwin_(sistema_operativo)
Fonte: https://www.blackducksoftware.com/future-of-open-source
Daniel Pink su Wikipedia:
“Wikipedia deriva da una decentralizzazione
e da un’auto-organizzazione radicali:
l’open source nella sua forma più pura.
La maggior parte delle enciclopedie
cominciano a fossilizzarsi nel momento
in cui vengono stampate su una pagina.
Invece prendete il software Wiki e un po’
di mani volenterose, e otterrete qualcosa
che si tara e ripara da solo, qualcosa di vivo,
o quasi. Questo modello produttivo crea
un prodotto fluido, veloce, correggibile e gratuito”.
rson, La coda lunga. Da un mercato di massa a una massa di mercati, p. 59, Codice Ediz
..nell’era probabilistica vi è la tendenza a sfruttare la
potenza “bottom-up” dell’open source in cui l’intelligenza
e l’innovazione emergono spontaneamente
Browser: Open o closed?
Safari, un po’ di storia…
• Apple rilascia Safari 1.0 il 30 giungo del 2003, per
sostituire Internet Explorer nei propri sistemi.
• A giugno 2005, il render engine WebKit viene
rilasciato come open source.
Scaricati da Internet i contenuti
(sotto forma di
documenti HTML, XML, immagini,
ecc.), il motore di rendering
interpreta lo stile ad essi associato
(tramite i CSS per le pagine web, i
fogli XSL per i documenti XML,
ecc.) e li presenta, gestendo il
disegno dell’area della finestra su
un monitor, oppure invia il risultato
direttamente ad una stampante.
Mozilla, un po’ di storia…
• Nel 1998 nasce il progetto Mozilla con il rilascio del codice
sorgente della suite del browser Netscape.
• Attraverso la creazione di una comunità aperta, il progetto
Mozilla è diventato ben presto più grande di qualsiasi altra
società.
• Nel 2002 viene rilasciata la prima versione stabile, Mozilla 1.0.
• Nel 2003, il progetto Mozilla dà vita a Mozilla Foundation, no-
profit indipendente
• Firefox 1.0 viene rilasciato nel 2004
La comunità ha dimostrato che le società commerciali
possono trarre beneficio dalla collaborazione in
progetti open source e che anche i grandi prodotti
destinati al consumatore finale possono essere
prodotti come software a sorgente aperto.
• L’11 dicembre 2008 viene rilasciata la prima release.
• Utilizzando WebKit di Apple (lo stesso alla base di Safari) ad
esclusione del motore javascript incluso.
• Maggio 2009 viene rilasciato Chrome 2.0
• Febbraio 2011 viene rilasciato Chrome 9 con il supporto a
WebGL, Chrome Instant e Cloud Print -> + Web store per
download di app in html5/javascript
• Dicembre 2011 viene rilasciato Chrome 13 con la
sincronizzazione completa sul profilo Google (Gmail).
Chrome, un po’ di storia…
• Nel 1994 nasce come progetto della Telenor (compagnia di telecomunicazioni
norvegese).
• Nel 1995 viene fondata la Opera Software ASA che si occupa del suo
sviluppo.
• Dal 2013 Opera è sviluppato e disponibile in due versioni
contemporaneamente:
• la 12 basata sul motore di rendering Presto.
• la 15 basata su Chromium ed il nuovo motore Blink -> Fork di Google del
progetto WebKit.
• Dal 20 settembre 2005, con la versione 8.50, Opera è
diventato un software completamente gratuito grazie alla
rimozione del banner.
• In alternativa all'acquisto della licenza era possibile utilizzarlo
gratuitamente, a patto di avere un banner pubblicitario nella finestra del
programma.
•Il 30 agosto 2005 la Opera Software, per festeggiare il decennale del suo
browser, ha regalato codici di registrazione, validi per tutte le piattaforme
supportate, per accedere al browser senza pubblicità.
Opera, un po’ di storia…
• Nel 1995 viene rilasciata la prima release ufficiale, nata da frammenti del browser
Mosaic,
• Nel 1996 viene rilasciato IE 3, il primo browser commerciale con il supporto ai
CSS, oltre ai controlli ActiveX e applet Java.
• Deve la sua forza grazie alla compatibilità con MAC ed ad una carenza di
alternative valide che giustifica la politica di un codice sorgente completamente
closed.
• La presenza sul mercato di browser alternativi constringe Microsoft a correre ai
ripari con diversi tentativi.
• 21 gennaio 2015 nasce Microsoft Edge come nuovo browser (in concomitanza
con il rilascio di Windows 10).
Microsoft abbandona la politica closed rendendo
disponibili i sorgenti del motore JavaScript di Edge,
Chakra JavaScript, per ottimizzarlo rapidamente grazie
al contributo delle community.
Internet Explorer, un po’ di storia…
http://evolutionofweb.appspot.com/?hl=it
Infografica interattiva realizzata da alcuni membri di Google,
che descrive l’evoluzione di brower e tecnologie web.
Evoluzione dei browser 1990-2012
Browser Creator Cost License Rendering
Engine
Google Chrome Google Free
(some closed-
source
features), BSD
(Chromium
executable)
Blink
Internet
Explorer
Microsoft,
Spyglass
Included with
Windows
Proprietary Trident
Microsoft Edge Microsoft
Included with
Windows
Proprietary EdgeHTML
Mozilla Firefox
Mozilla
Foundation
Free MPL 2.0 Gecko
Opera Opera Software Free
Proprietary
until 2005
Blink
Safari Apple Inc.
Included with
OS X
Proprietary
(browser), LGPL
(WebKit)
WebKit
Riepilogo
Fonte: https://googleblog.blogspot.it/2008/09/fresh-take-on-browser.html
Ma…
Google said…
Chrome
• Chrome si basa sul progetto Chromium che è open
source (motore di rendering Blink -> open).
• Le implementazioni fatte da google sono closed. Ad
esempio
– H.264 and ACC decoding
– built-in Adobe Flash
– auto-updater system
Browser Creator Cost License Rendering
Engine
Google Chrome Google Free
(some closed-
source
features), BSD
(Chromium
executable)
Blink
Internet
Explorer
Microsoft,
Spyglass
Included with
Windows
Proprietary Trident
Microsoft Edge Microsoft
Included with
Windows
Proprietary EdgeHTML
Mozilla Firefox
Mozilla
Foundation
Free MPL 2.0 Gecko
Opera Opera Software Free
Proprietary
until 2005
Blink
Safari Apple Inc.
Included with
OS X
Proprietary
(browser), LGPL
(WebKit)
WebKit
Riepilogo
Microsoft
• Microsoft continua nella sua politica closed, rendendo
inaccessibile il cuore del suo browser.
• Dicembre 2015
Microsoft
• Chakra è una JavaScript virtual machine progettata da
Microsoft per Edge
• ChakraCore, disponibile su Github.com, è una
versione di Chakra alternativa open source.
Browser Creator Cost License Rendering
Engine
Google Chrome Google Free
(some closed-
source
features), BSD
(Chromium
executable)
Blink
Internet
Explorer
Microsoft,
Spyglass
Included with
Windows
Proprietary Trident
Microsoft Edge Microsoft
Included with
Windows
Proprietary EdgeHTML
Mozilla Firefox
Mozilla
Foundation
Free MPL 2.0 Gecko
Opera Opera Software Free
Proprietary
until 2005
Blink
Safari Apple Inc.
Included with
OS X
Proprietary
(browser), LGPL
(WebKit)
WebKit
Riepilogo
Firefox
• In questa battaglia tra browser Mozilla Firefox risulta
l’unico completamente open source fin dai suoi albori.
• https://developer.mozilla.org/it/ offre supporto agli
sviluppatori creando una community in grado di
velocizzare il processo di sviluppo del software.
Browser Creator Cost License Rendering
Engine
Google Chrome Google Free
(some closed-
source
features), BSD
(Chromium
executable)
Blink
Internet
Explorer
Microsoft,
Spyglass
Included with
Windows
Proprietary Trident
Microsoft Edge Microsoft
Included with
Windows
Proprietary EdgeHTML
Mozilla Firefox
Mozilla
Foundation
Free MPL 2.0 Gecko
Opera Opera Software Free
Proprietary
until 2005
Blink
Safari Apple Inc.
Included with
OS X
Proprietary
(browser), LGPL
(WebKit)
WebKit
Riepilogo
Opera
• Dal 2005 Opera cambia la sua politica affidandosi alla
comunità per lo sviluppo del proprio browser.
• Le ultime versioni si basano su Chromium (Blink).
• Al link https://github.com/operasoftware/ sono
disponibili i codici sorgenti.
• https://dev.opera.com/
Browser Creator Cost License Rendering
Engine
Google Chrome Google Free
(some closed-
source
features), BSD
(Chromium
executable)
Blink
Internet
Explorer
Microsoft,
Spyglass
Included with
Windows
Proprietary Trident
Microsoft Edge Microsoft
Included with
Windows
Proprietary EdgeHTML
Mozilla Firefox
Mozilla
Foundation
Free MPL 2.0 Gecko
Opera Opera Software Free
Proprietary
until 2005
Blink
Safari Apple Inc.
Included with
OS X
Proprietary
(browser), LGPL
(WebKit)
WebKit
Riepilogo
Safari
• Safari insiste nella sua politica closed, non fornendo i
codici sorgenti agli sviluppatori
• Il motore di rendering, però, è open source (Webkit).
Utilizzo browser 2015
Fonte: http://www.w3schools.com/browsers/browsers_stats.asp
Open o closed?
• Per i browser è difficile stabilirlo
• Firefox e Opera sono gli unici a rendere pubblici tutti i
codici sorgenti
• I diretti concorrenti tentennano, ma la nuova iniziativa
da parte di Microsoft di rendere pubblico il codice di
Chakra può essere visto come un primo passo verso
lo sviluppo comune ed il software libero.
Fine
Teoria e Tecnologia della Comunicazione 2015/2016

Slide openvsclosed-source

  • 1.
    Open vs ClosedSource Federico Dionisio Angelo Nardella Giorgia Minini Teoria e Tecnologia della Comunicazione 2015/2016
  • 2.
    Il presente materialeè pubblicato con licenza Creative Commons. “Attribuzione - Non commerciale - Condividi allo stesso modo - 3.0” (http://creativecommons.org/licenses/by- nc-sa/3.0/it/deed.it): La licenza non si estende alle immagini provenienti da altre fonti e alle screen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati. Gli autori si scusano per eventuali omissioni e restano a disposizione per correggerle. Creative Commons
  • 3.
  • 4.
    Software Open Source •Open Source significa "sorgente aperta". • In informatica corrisponde a un software i cui autori rendono pubblico il codice sorgente permettendone modifiche ed estensioni. • Indica i due aspetti principali dell'Open Source: 1. Licenza d'uso 2. Codice sorgente
  • 5.
    Il codice sorgente •Il codice sorgente è un linguaggio costituito da istruzioni: • Comprensibile ed eseguibile da un computer tramite un programma detto compilatore. • Dopo essere stato trasformato in codice eseguibile. • Il passaggio da codice sorgente a eseguibile è detto compilazione.
  • 6.
    Le licenze d’uso •Solitamente con le licenze d'uso commerciali si rende disponibile solo il codice eseguibile che impedisce agli utenti la modifica del software; • Con i programmi Open Source si dà sia il codice sorgente che il codice eseguibile per cui è sempre possibile modificarli.
  • 7.
    • Un programmaè libero se è disponibile il codice sorgente. • La disponibilità del codice sorgente non garantisce l'effettiva libertà del software. • L'iniziativa Open Source offre le condizioni minime per considerare il software libero. Le licenze d’uso Tim ‘O Reilly e Richard Stallman Fonte: http://archive.oreilly.com/pub/a/oscon2002/jc_photos4.html
  • 8.
    La storia • 40’:problema della condivisione del codice in un periodo in cui vi erano specifiche hardware molto diverse e non compatibili tra loro. • 60’: diffusione dei codici open con nastri a schede perforate. • 70’: disponibilità del codice sorgente che permette di standardizzare i linguaggi di programmazione. • L'introduzione di sistemi operativi che permettono l'uso dello stesso programma su hardware diversi.
  • 9.
    • 80’: accordidi non divulgazione (NDA) del codice. • Richard Stallman fonda la Free Software Foundation, organizzazione senza fini di lucro derivante dal precedente progetto GNU. Gnu’s Not Unix La storia
  • 10.
    • 90’: conla divulgazione del protocollo HTTP e la nascita dei primi browser Internet cominciò ad essere diffuso. • Il progetto GNU non aveva ancora completato il kernel del suo sistema operativo: • Fu Linus Torvalds a sviluppare e distribuire tramite Internet il suo sistema operativo Linux che ricevette riscontro da parte di altri programmatori i quali contribuirono a svilupparlo. Linux può essere considerato il primo vero progetto "Open Source" in quanto faceva affidamento sulla collaborazione via Internet per progredire; La storia
  • 11.
    I guadagni nell’OpenSource 1. Donazioni: lo sviluppatore dà la possibilità di fare delle donazioni come ringraziamento o incoraggiamento per ulteriore sviluppo; 2. Servizio di supporto a pagamento: si paga il supporto dello sviluppatore; 3. Sponsorizzazione: presenza di pubblicità all’interno del software; 4. Guadagni grazie alla didattica: se il software creato è complesso lo sviluppatore può guadagnare con corsi di apprendimento del prodotto, la vendita di libri.
  • 12.
    Differenza tra SoftwareLibero e Open Source • Il software libero indica un software la cui licenza è basata su concetti etici definiti da Stallman; si pone l'accento sulle questioni morali che ne stanno alla base. • Il software Open Source si riferisce alla Open Source Definition a sua volta derivata dalla Debian Free Software Guidelines ossia 10 punti pratici che definiscono i criteri legali che una licenza deve soddisfare per essere considerata libera. • I fautori del movimento Open Source ritengono che il software libero sia la causa degli scarsi investimenti delle aziende. • La libertà è sacrificata per l'utilizzo pratico dei prodotti.
  • 13.
    Differenza tra SoftwareLibero e Open Source Le quattro libertà offerte dal Free Software definite da Stallman: 1. La libertà di usare il programma per qualunque scopo; 2. La libertà di studiare come è fatto il programma, il che rende implicitamente necessario avere a disposizione il codice sorgente; 3. La libertà di copiare e distribuire il programma a chiunque consentendo di distribuire gratuitamente il software senza dovere pagare licenze; 4. Libertà di modificare il programma e di distribuire le proprie modifiche che se utili ad altri possono essere incluse nel programma. Fonte: https://it.wikipedia.org/wiki/Differenza_tra_software_libero_e_open_source
  • 14.
    Differenza tra SoftwareLibero e Open Source I 10 principi dell'Open Source: 1. Libertà di redistribuzione (sta poi al singolo decidere se farlo gratuitamente o se far pagare il prodotto); 2. Libertà di consultare il codice sorgente; 3. Necessità di approvazione per i prodotti derivati; 4. Integrità del codice sorgente dell'autore; 5. Nessuna discriminazione verso singoli o gruppi di persone; 6. Nessuna discriminazione verso i settori di applicazione; 7. La licenza deve essere distribuibile; 8. La licenza non può essere specifica per un prodotto; 9. La licenza non può contaminare altri software; 10. La licenza deve essere tecnologicamente neutrale. Fonte: https://it.wikipedia.org/wiki/Differenza_tra_software_libero_e_open_source
  • 15.
    Nonostante tali differenzedifficilmente una licenza soddisfa i requisiti di una definizione e non dell'altra: 1. L'Open Source non è per forza copyleft, può avere licenze permissive come il software libero; 2. Non basta poter vedere e/o modificare il codice sorgente di un programma per poterlo considerare libero. Differenza tra Software Libero e Open Source
  • 16.
    I tipi dilicenze Open Source • Uno degli errori più comuni è quello di pensare che il software libero sia senza licenza. • Per la normativa del diritto d’autore, i diritti di distribuzione e modifica sono esercitabili solo dall’autore stesso. • Per copiare, modificare o ridistribuire il software è necessaria una licenza.
  • 17.
    Per il FreeSoftware si usano le licenze: 1. GNU GPL 2. GNU LGPL 3. WTFPL 4. Licenza MIT 5. BSD 6. MPL I tipi di licenze Open Source Fonte: https://www.blackducksoftware.com/resources/data
  • 18.
    1. GNU GPL •versione 1: (1989) Richard Stallman crea la GPL per distribuire software creati nell’ambito del progetto GNU. Insieme al codice eseguibile obbligo di fornire anche il sorgente. • versione 2: (1991) la clausola "Libertà o morte” impone che, qualora ci siano restrizioni sulla libera distribuzione del software il software non può essere distribuito. • La GNU GPLv2 riscuote subito un gran successo nel mondo del software libero (esempio Linux). • versione 3: (2007) protezione maggiore dai brevetti software e la definizione di “codice sorgente”. Fonte: https://it.wikipedia.org/wiki/GNU_General_Public_License
  • 19.
    • rispetto allealtre licenze di software libero, la GPL è classificabile come: • persistente perché impone un vincolo alla ridistribuzione: se l'utente distribuisce copie del software, deve farlo secondo i termini della GPL stessa. In pratica, deve distribuire il testo della GPL assieme al software e corredarlo del codice sorgente o di istruzioni per poterlo ottenere ad un costo nominale. Questa è la caratteristica principe della GPL, il concetto ideato da Richard Stallman e da lui battezzato copyleft. L'effetto che realizza è mantenere libero un programma una volta che esso è stato posto sotto GPL, anche se viene migliorato correggendolo e ampliandolo. • propagativa perché definisce nel testo una particolare interpretazione di "codice derivato", tale che in generale l'unione di un programma coperto da GPL con un altro programma coperto da altra licenza può essere distribuita sotto GPL, o in alternativa non essere distribuita affatto. 1. GNU GPL Fonte: https://it.wikipedia.org/wiki/GNU_General_Public_License
  • 20.
    • studiata comecompromesso tra la GNU GPL e altre licenze non copyleft (BSD e Apache). • La LGPL permette al software di essere "linkato" ad altro software con licenza diversa. • La LGPL impone restrizioni che vietano ai distributori di negare tali diritti o di chiedere di rinunciarvi. 2. GNU LGPL Fonte: https://it.wikipedia.org/wiki/GNU_Lesser_General_Public_License
  • 21.
    • La WTFPL(Do What The F**k You Want To Public License) • La versione 1 non è libera, in quanto non consente la modifica dell'opera. • La versione 2 è da considerarsi free software e open source, priva di copyleft ma compatibile con la GPL. 3. WTFPL Fonte: https://it.wikipedia.org/wiki/WTFPL
  • 22.
    • MIT èuna licenza di software libero creata dal Massachusetts Institute of Technology. • I diritti della Licenza MIT permettono di utilizzare, copiare, modificare, incorporare, pubblicare, distribuire, sotto- licenziare, e/o vendere il software. • È anche una licenza GPL-compatibile, cioè la GPL permette di combinare e ridistribuire tale software con altro che usa la Licenza MIT. 4. Licenza MIT Fonte: https://it.wikipedia.org/wiki/Licenza_MIT
  • 23.
    • Le licenzeBSD sono una famiglia di licenze permissive, senza copyleft. • Le licenze BSD garantiscono le quattro libertà del software della FSF. • Chi modifica un programma protetto da licenze BSD, può ridistribuirlo usando la stessa o qualunque altra licenza (anche non libera), senza avere l'obbligo di ridistribuire le modifiche apportate al codice sorgente. • Due varianti della licenza: • la Nuova Licenza BSD (o Licenza BSD Modificata) • la Licenza semplificata BSD (o FreeBSD) 5. BSD Fonte: https://it.wikipedia.org/wiki/Berkeley_Software_Distribution
  • 24.
    • MPL, (MozillaPublic License). • Versione 1.0: (1998) NPL (Netscape) includeva una clausola che permetteva anche a un codice sviluppato apertamente di essere rilicenziato come proprietario. Nasce poi la MPL con Mozilla con caratteristiche di copyleft. • Versione 2.0: (2012) licenza più chiara, facile e compatibile con GPLv3 e Apache. • Il codice sorgente copiato o modificato sotto la licenza MPL deve rimanere sotto MPL. 6. MPL Fonte: https://it.wikipedia.org/wiki/Mozilla_Public_License
  • 25.
  • 26.
    I vantaggi dell’OpenSource 1. Qualità del software ottenuta dalla visione del codice sorgente da più persone che lo sviluppano in modo condiviso. 2. Per i programmi open source le caratteristiche del software sono definite dagli utenti. 3. La libertà di utilizzo del software senza i vincoli delle licenze proprietarie. Questo significa che l'utente non è obbligato a migrare verso nuove versioni del software.
  • 27.
    4. I programmiOpen Source sono sviluppati da programmatori interessati a uno stesso software. Comunità è quindi supporto, evoluzione, scambio culturale. 5. Indipendenza dal fornitore: in qualsiasi momento l'utente può scegliere a chi rivolgersi senza nessun obbligo commerciale. I vantaggi dell’Open Source
  • 28.
    Gli svantaggi dell’OpenSource 1. Un problema di conoscenza: associazione di programmi Open Source a software di bassa qualità; 2. Scarsità di risorse/poca visibilità: aziende troppo piccole per farsi pubblicità. Le aziende più grandi hanno maggior convenienza a venderlo come proprietario facendosi pagare la licenza. 3. Funzionalità: non sempre i programmi Open Source replicano tutte le funzionalità dei programmi commerciali. 4. Formazione: i programmi Open Source richiedono spesso che l'utenza sia formata al loro utilizzo.
  • 29.
  • 30.
    Definizione Software proprietario osoftware non libero*: qualsiasi software che pone delle restrizioni sull’uso, l’analisi, la modifica, o la distribuzione. In particolare non si può accedere al codice sorgente (testo di un algoritmo di un programma scritto in un linguaggio di programmazione). ene usato dalla FSF (Free Software Foundation), mentre la OSI (Open Source Initiative) u
  • 31.
    Un po’ distoria… • 60’: nei primi computer il codice sorgente era accessibile e i software erano forniti senza costi aggiuntivi rispetto alla macchina hardware. • 69’: IBM, per la prima volta, sotto minaccia dell’Antitrust*, compie uno “spacchettamento” tra hardware e software rendendo quest'ultimo a pagamento. “Many people believe that one pivotal event in the growth of the business software products market was IBM's decision, in 1969, to price its software and services separately from its hardware.”** *IBM fu accusata di violare la sezione 2 dello Sherman Antitrust Act. Section 2: "Every person who shall monopolize, or attempt to monopolize, or combine or conspire with any other person or persons, to monopolize any part of the trade or commerce among the several States, or with foreign nations, shall be deemed guilty of a felony [. . . ]” **Burton Grad, A Personal Recollection: IBM's Unbundling of Software and Services, IEEE Annals of the History of Computing, Vol. 24, No. 1 (Jan–Mar 2002), pp. 64–71.
  • 32.
    • 76’: letteradi Bill Gates contro coloro che non pagavano il software. Evento chiave spesso citato per il sorgere della commercializzazione del software. • 83’: IBM ha portato al passaggio al software proprietario rendendo accessibile il solo codice oggetto, la traduzione del codice sorgente in linguaggio macchina. Un po’ di storia…
  • 33.
    Nozioni legali • Ilsoftware proprietario è coperto dal copyright e questo permette al proprietario di stabilire dei diritti esclusivi. • Un venditore software delinea i termini di utilizzo attraverso un “End-User License Agreement" (EULA). • l’utente accetta i termini d’utilizzo in forma elettronica attraverso la licenza “click-wrap” oppure materialmente aprendo la scatola contenente il software: licenza “shrink- wrap”. Nascono quindi polemiche sulla modalità di visione e accettazione dei termini di licenza.* *Vedi caso interessante della sentenza del Giudice di pace di Firenze, Dott. Lo Tufo, relativo alla causa tra un acquirente di un computer portatile ed HP Italia. Fonte: http://punto- informatico.it/2096808/PI/News/notebook-windows-rimborso-dovuto.aspx
  • 34.
    • I venditoridi software proprietario considerano di solito il codice sorgente un segreto commerciale. • Le licenze del software open source si fondano sulla stessa base legale del proprietary software. Ciò che differisce sono gli scopi. Nozioni legali
  • 35.
    Limitazioni alle licenze •Alcuni venditori di software, come Microsoft, non considerano il prodotto venduto il software, bensì la licenza che permette di accedere al software.
  • 36.
    Diritti esclusivi Il proprietariodel software esercita dei diritti esclusivi che riguardano: l’uso, il controllo, la modifica e la distribuzione. Fonte: Software licenses in context of copyright according to Mark Webbink, https://en.wikipedia.org/wiki/Software_license
  • 37.
    Diritti esclusivi -uso del software • La limitazione principale riguarda il vincolo di non poter utilizzare il software su più macchine per motivi di copyright. Questo può avvenire attraverso l’uso di codici d’attivazione del prodotto, numeri seriali, chiavi software ecc. • Alcuni esempi: • le licenze Adobe sono limitate all’utilizzo da parte di un solo utente; • la suite di produttività Apple iWork ’09, è disponibile in un pacchetto-famiglia per massimo 5 macchine. Esempio di product key Fonte: https://en.wikipedia.org/wiki/Product_key
  • 38.
    • I fornitoridei proprietary software solitamente li distribuiscono in forma compilata senza dare il codice sorgente, ovvero la versione leggibile del software scritto in linguaggio di programmazione ad alto livello. • Questo impedisce di capire come funziona il software e di modificarlo. Esempio di codice sorgente in Python Diritti esclusivi - uso del software
  • 39.
    Diritti esclusivi -controllo e modifica "malicious features, such as spying on the users, restricting the users, back doors, and imposed upgrades.” (R. Stallman) Fonte: https://www.gnu.org/philosophy/open-source-misses-the-point.html Richard Stallman è stato il primo a opporsi alla filosofia del proprietary software creando la Free Software Foundation, ritenendo che questi programmi contengono spesso dei malware.
  • 40.
    Scontro tra duefilosofie opposte…
  • 41.
    Una questione disicurezza… Diritti esclusivi - controllo e modifica
  • 42.
    • I sostenitoridel proprietary software ritengono che non fornire il codice sorgente permetta di renderlo più sicuro riguardo le sue vulnerabilità. • A volte si usano tecniche di offuscamento del codice per evitare il reverse engineering quando il codice è accessibile. • I sostenitori dell’open source definiscono negativamente tale approccio Security Through Obscurity (STO) considerando invece l’open source più sicuro per la maggior disponibilità dei risultati di controllo del codice. Diritti esclusivi - controllo e modifica
  • 43.
    Eccezioni • In certicasi i fornitori di software proprietario rendono accessibile, studiabile e modificabile il codice sorgente, tuttavia esso non può essere ridistribuito (accordo di non divulgazione, NDA: non-disclosure agreement). • Esempi: • Software per forum Internet vBulletin • Microsoft e la sua Shared Source Initiative*: Reference Source License (Ms-RSL), Limited Public License (Ms- LPL) e Limited Reciprocal License (Ms-LRL) sono licenze proprietary software con codice sorgente accessibile. *Nel 2003 Microsoft stabilì un programma di sicurezza governativa (GSP) per permettere ai governi di vedere il codice sorgente. Questo programma fa parte della più ampia iniziativa. Diritti esclusivi - controllo e modifica
  • 44.
    Caso Snowden* • Secondoi documenti rilasciati da Snowden la NSA (National Security Agency) avrebbe collaborato segretamente con compagnie di software per rendere la crittografia di certi software commerciali sfruttabile per intercettazioni o per inserire delle backdoor. *Fonte: http://www.theguardian.com/world/2013 /sep/05/nsa-gchq-encryption-codes- security Diritti esclusivi - controllo e modifica
  • 45.
    Diritti esclusivi -ridistribuzione • Solitamente le compagnie di software proprietario proibiscono la condivisione del software. • Per utilizzarlo da una terza parte è necessaria un’altra licenza unica.
  • 46.
    Tipologie proprietary software- Shareware • Tipologia di software proprietario, inizialmente fornito gratui • Esistono vari tipi di shareware tuttavia tutti hanno come scopo un qualche guadagno.
  • 47.
    • Adware: “Advertising-supportedsoftware”, un software che ricava guadagni dalla pubblicità che automaticamente viene renderizzata dal programma. Tipologie proprietary software - Shareware
  • 48.
    • Demoware: unaversione dimostrativa del software. Esso si divide in “crippleware”, e “trialware”. • Crippleware: le caratteristiche essenziali del software, (come il salvataggio), sono assenti finché non viene acquistata la versione a pagamento completa. Questo permette all’utente di farsi un’idea delle peculiarità del software prima dell’acquisto. Tipologie proprietary software - Shareware
  • 49.
    • Demoware: unaversione dimostrativa del software. Esso si divide in “crippleware”, e “trialware”. • Trialware: un software funzionante con un limite di tempo dopo il quale non è più eseguibile se non acquistando la licenza. L’obiettivo è di permettere di comprendere le reali potenzialità del software. Secondo una ricerca di Softletter* il 66% delle compagnie intervistate avevano un tasso di conversione dalla versione gratis a quella a pagamento di circa il 25% (2013 Softletter SaaS Report). *Fonte "2013 Softletter SaaS Report" Tipologie proprietary software - Shareware
  • 50.
    • Nagware: unatipologia di software shareware, che ricorda in maniera insistente (to nag=infastidire) all’utente di pagare una quota per avere il software senza la comparsa di questi messaggi. Tipologie proprietary software - Shareware
  • 51.
    Tipologie proprietary software- Freeware • La parola free si riferisce al fatto che è un software gratuito ma che possiede restrizioni come il divieto di ridistribuzione e la non disponibilità del codice sorgente e altri diritti in capo al proprietario. • Software freeware sono per esempio Adobe Reader e Skype.
  • 52.
    Tipologie proprietary software- Freeware • Attenzione! Non confondere il “free software” con il freeware. Il primo infatti si riferisce alle libertà garantite agli utenti di usare, modificare e ridistribuire il software che potrebbe anche essere dato a pagamento.
  • 53.
    Tipologie proprietary software- Abandonware • Software che è stato abbandonato dal proprietario ovvero che non è più venduto sul mercato, sostenuto, supportato. • Possibili problemi: i clienti che continuano a usufruire del software potrebbero non essere più aiutati, supportati in caso di problematiche con il software.
  • 54.
    Tipologie proprietary software- Abandonware • Obsolescenza programmata: le vecchie versioni del software non sono più portate avanti per forzare gli utenti ad acquistare le nuove versioni. • Spesso vi sono comunità che danno supporto in tali casi, oppure si può migrare verso software con cicli di vita più lunghi o verso sistemi basati su FOSS.
  • 55.
    “Proprietary software's roleas the primary innovator in the market is, effectively, over. […] Instead, today's discussion centers on what is open source or not.” (S. O’ Grady) Fonte: http://www.pcworld.com/article/243136/open_source_vs_proprietary_software.html Sempre più verso l’open source
  • 56.
    Sempre più versol’open source • L’idea è che l’open source porti maggiore innovazione poiché non è “schiacciato” dal peso di dover generare guadagni. • In più vi è il fattore delle comunità con molte più menti e veri appassionati che si concentrano sulla qualità del codice senza pensare a dover vendere un prodotto: • Apple tramite fork ha abbracciato il progetto open source FreeBSD integrandolo con NeXTStep per creare DarwinOS che sta alla base del Mac OS X. Fonte: https://it.wikipedia.org/wiki/Darwin_(sistema_operativo)
  • 57.
  • 58.
    Daniel Pink suWikipedia: “Wikipedia deriva da una decentralizzazione e da un’auto-organizzazione radicali: l’open source nella sua forma più pura. La maggior parte delle enciclopedie cominciano a fossilizzarsi nel momento in cui vengono stampate su una pagina. Invece prendete il software Wiki e un po’ di mani volenterose, e otterrete qualcosa che si tara e ripara da solo, qualcosa di vivo, o quasi. Questo modello produttivo crea un prodotto fluido, veloce, correggibile e gratuito”. rson, La coda lunga. Da un mercato di massa a una massa di mercati, p. 59, Codice Ediz
  • 59.
    ..nell’era probabilistica viè la tendenza a sfruttare la potenza “bottom-up” dell’open source in cui l’intelligenza e l’innovazione emergono spontaneamente
  • 60.
  • 61.
    Safari, un po’di storia… • Apple rilascia Safari 1.0 il 30 giungo del 2003, per sostituire Internet Explorer nei propri sistemi. • A giugno 2005, il render engine WebKit viene rilasciato come open source. Scaricati da Internet i contenuti (sotto forma di documenti HTML, XML, immagini, ecc.), il motore di rendering interpreta lo stile ad essi associato (tramite i CSS per le pagine web, i fogli XSL per i documenti XML, ecc.) e li presenta, gestendo il disegno dell’area della finestra su un monitor, oppure invia il risultato direttamente ad una stampante.
  • 62.
    Mozilla, un po’di storia… • Nel 1998 nasce il progetto Mozilla con il rilascio del codice sorgente della suite del browser Netscape. • Attraverso la creazione di una comunità aperta, il progetto Mozilla è diventato ben presto più grande di qualsiasi altra società. • Nel 2002 viene rilasciata la prima versione stabile, Mozilla 1.0. • Nel 2003, il progetto Mozilla dà vita a Mozilla Foundation, no- profit indipendente • Firefox 1.0 viene rilasciato nel 2004 La comunità ha dimostrato che le società commerciali possono trarre beneficio dalla collaborazione in progetti open source e che anche i grandi prodotti destinati al consumatore finale possono essere prodotti come software a sorgente aperto.
  • 63.
    • L’11 dicembre2008 viene rilasciata la prima release. • Utilizzando WebKit di Apple (lo stesso alla base di Safari) ad esclusione del motore javascript incluso. • Maggio 2009 viene rilasciato Chrome 2.0 • Febbraio 2011 viene rilasciato Chrome 9 con il supporto a WebGL, Chrome Instant e Cloud Print -> + Web store per download di app in html5/javascript • Dicembre 2011 viene rilasciato Chrome 13 con la sincronizzazione completa sul profilo Google (Gmail). Chrome, un po’ di storia…
  • 64.
    • Nel 1994nasce come progetto della Telenor (compagnia di telecomunicazioni norvegese). • Nel 1995 viene fondata la Opera Software ASA che si occupa del suo sviluppo. • Dal 2013 Opera è sviluppato e disponibile in due versioni contemporaneamente: • la 12 basata sul motore di rendering Presto. • la 15 basata su Chromium ed il nuovo motore Blink -> Fork di Google del progetto WebKit. • Dal 20 settembre 2005, con la versione 8.50, Opera è diventato un software completamente gratuito grazie alla rimozione del banner. • In alternativa all'acquisto della licenza era possibile utilizzarlo gratuitamente, a patto di avere un banner pubblicitario nella finestra del programma. •Il 30 agosto 2005 la Opera Software, per festeggiare il decennale del suo browser, ha regalato codici di registrazione, validi per tutte le piattaforme supportate, per accedere al browser senza pubblicità. Opera, un po’ di storia…
  • 65.
    • Nel 1995viene rilasciata la prima release ufficiale, nata da frammenti del browser Mosaic, • Nel 1996 viene rilasciato IE 3, il primo browser commerciale con il supporto ai CSS, oltre ai controlli ActiveX e applet Java. • Deve la sua forza grazie alla compatibilità con MAC ed ad una carenza di alternative valide che giustifica la politica di un codice sorgente completamente closed. • La presenza sul mercato di browser alternativi constringe Microsoft a correre ai ripari con diversi tentativi. • 21 gennaio 2015 nasce Microsoft Edge come nuovo browser (in concomitanza con il rilascio di Windows 10). Microsoft abbandona la politica closed rendendo disponibili i sorgenti del motore JavaScript di Edge, Chakra JavaScript, per ottimizzarlo rapidamente grazie al contributo delle community. Internet Explorer, un po’ di storia…
  • 66.
    http://evolutionofweb.appspot.com/?hl=it Infografica interattiva realizzatada alcuni membri di Google, che descrive l’evoluzione di brower e tecnologie web. Evoluzione dei browser 1990-2012
  • 67.
    Browser Creator CostLicense Rendering Engine Google Chrome Google Free (some closed- source features), BSD (Chromium executable) Blink Internet Explorer Microsoft, Spyglass Included with Windows Proprietary Trident Microsoft Edge Microsoft Included with Windows Proprietary EdgeHTML Mozilla Firefox Mozilla Foundation Free MPL 2.0 Gecko Opera Opera Software Free Proprietary until 2005 Blink Safari Apple Inc. Included with OS X Proprietary (browser), LGPL (WebKit) WebKit Riepilogo
  • 68.
  • 69.
    Chrome • Chrome sibasa sul progetto Chromium che è open source (motore di rendering Blink -> open). • Le implementazioni fatte da google sono closed. Ad esempio – H.264 and ACC decoding – built-in Adobe Flash – auto-updater system
  • 70.
    Browser Creator CostLicense Rendering Engine Google Chrome Google Free (some closed- source features), BSD (Chromium executable) Blink Internet Explorer Microsoft, Spyglass Included with Windows Proprietary Trident Microsoft Edge Microsoft Included with Windows Proprietary EdgeHTML Mozilla Firefox Mozilla Foundation Free MPL 2.0 Gecko Opera Opera Software Free Proprietary until 2005 Blink Safari Apple Inc. Included with OS X Proprietary (browser), LGPL (WebKit) WebKit Riepilogo
  • 71.
    Microsoft • Microsoft continuanella sua politica closed, rendendo inaccessibile il cuore del suo browser. • Dicembre 2015
  • 72.
    Microsoft • Chakra èuna JavaScript virtual machine progettata da Microsoft per Edge • ChakraCore, disponibile su Github.com, è una versione di Chakra alternativa open source.
  • 73.
    Browser Creator CostLicense Rendering Engine Google Chrome Google Free (some closed- source features), BSD (Chromium executable) Blink Internet Explorer Microsoft, Spyglass Included with Windows Proprietary Trident Microsoft Edge Microsoft Included with Windows Proprietary EdgeHTML Mozilla Firefox Mozilla Foundation Free MPL 2.0 Gecko Opera Opera Software Free Proprietary until 2005 Blink Safari Apple Inc. Included with OS X Proprietary (browser), LGPL (WebKit) WebKit Riepilogo
  • 74.
    Firefox • In questabattaglia tra browser Mozilla Firefox risulta l’unico completamente open source fin dai suoi albori. • https://developer.mozilla.org/it/ offre supporto agli sviluppatori creando una community in grado di velocizzare il processo di sviluppo del software.
  • 75.
    Browser Creator CostLicense Rendering Engine Google Chrome Google Free (some closed- source features), BSD (Chromium executable) Blink Internet Explorer Microsoft, Spyglass Included with Windows Proprietary Trident Microsoft Edge Microsoft Included with Windows Proprietary EdgeHTML Mozilla Firefox Mozilla Foundation Free MPL 2.0 Gecko Opera Opera Software Free Proprietary until 2005 Blink Safari Apple Inc. Included with OS X Proprietary (browser), LGPL (WebKit) WebKit Riepilogo
  • 76.
    Opera • Dal 2005Opera cambia la sua politica affidandosi alla comunità per lo sviluppo del proprio browser. • Le ultime versioni si basano su Chromium (Blink). • Al link https://github.com/operasoftware/ sono disponibili i codici sorgenti. • https://dev.opera.com/
  • 77.
    Browser Creator CostLicense Rendering Engine Google Chrome Google Free (some closed- source features), BSD (Chromium executable) Blink Internet Explorer Microsoft, Spyglass Included with Windows Proprietary Trident Microsoft Edge Microsoft Included with Windows Proprietary EdgeHTML Mozilla Firefox Mozilla Foundation Free MPL 2.0 Gecko Opera Opera Software Free Proprietary until 2005 Blink Safari Apple Inc. Included with OS X Proprietary (browser), LGPL (WebKit) WebKit Riepilogo
  • 78.
    Safari • Safari insistenella sua politica closed, non fornendo i codici sorgenti agli sviluppatori • Il motore di rendering, però, è open source (Webkit).
  • 79.
    Utilizzo browser 2015 Fonte:http://www.w3schools.com/browsers/browsers_stats.asp
  • 80.
    Open o closed? •Per i browser è difficile stabilirlo • Firefox e Opera sono gli unici a rendere pubblici tutti i codici sorgenti • I diretti concorrenti tentennano, ma la nuova iniziativa da parte di Microsoft di rendere pubblico il codice di Chakra può essere visto come un primo passo verso lo sviluppo comune ed il software libero.
  • 81.
    Fine Teoria e Tecnologiadella Comunicazione 2015/2016