Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2 / 47
Da dove incominciamo?
Software Libero (FSF, febbraio 1986)
Gli utenti hanno la libert di eseguire, copiare,
distribuire, studiare, modificare e migliorare il software
Quattro libert:
[0] Eseguire il programma per qualsiasi scopo.
[1] Studiare il programma e modificarlo.
[2] Ridistribuire copie del programma
in modo da aiutare il prossimo. COPYLEFT
- 5 / 47
Codice sorgente == ricetta
Accesso al codice. Senza la ricetta (preconfezionata)
non sono in grado di cucinare la zuppa.
Eseguire il codice. Posso usare la ricetta per preparare
la zuppa a casa mia o da una amico.
Modifiche al codice. La ricetta dice di mettere il
prezzemolo. Ma a me non piace il prezzemolo e uso il
basilico. E la zuppa effettivamente pi buona. Cos
copio la ricetta e la modifico: cancello prezzemolo e
scrivo basilico.
Ridistribuzione del codice. Quando un amico mi chiede
la ricetta della zuppa, passo la mia versione modificata
con il basilco.
http://fsfe.org/freesoftware/basics/4freedoms.en.html 6 / 47
Free and Open Source SW
Caveat: utilizzer i termini software libero e open source
come sinonimi anche se non lo sono (FOSS)
https://en.wikipedia.org/wiki/Free_and_open-source_software 7 / 47
Vediamo un esempio Il vostro
rapporto con il
sw libero
Wordpress.org (open source)
Piattaforma di blogging personalizzabile
Esempio
Imporre
l'inserimento
di un thumbnail
quando si pubblica
un post
functions.php
O anche
debugging di un bug
per software
proprietario o open source
https://gist.github.com/davemac/11312831 8 / 47
Vantaggi del software libero
Premessa (by RMS, https://www.gnu.org/philosophy/practical.html)
Chiedersi quali siano i vantaggi pratici del software
libero come chiedersi quali siano i vantaggi di non
essere ammanettati.
In effetti dei vantaggi ci sono:
Si pu indossare una maglietta.
I metal detector non suonano quando si passa.
cambia marcia.
Si potrebbero trovare altri vantaggi, ma ce n' proprio
bisogno per convincersi a rifiutare le manette?
Probabilmente no, perch una questione di libert.
9 / 47
Vantaggi del software libero
Da un punto di vista "tecnico"
Per lo sviluppatore
Accedere al contributo della comunit e contribuire a
propria volta: aggiunta di funzionalit, (banalmente)
traduzioni, ecc.
Acquisire e padroneggiare tecnologie (altrui)
Farsi una reputazione, dimostrare le proprie capacit
(git vs facebook)
14 / 47
Prima del progetto GNU
1950s-1960s: il software (sistema operativo e
compilatori) rilasciato gratuitamente, con codice, insieme
all'hardware (universit, ricercatori) per mainframe (IBM)
1969: Internet basata su software libero ed RFC
1970s: nasce l'industria del software (+ corposo) e le
restrizioni (chiamate licenze!)
1970: AT&T rilascia UNIX gratuito,
ma non distribuibile e modificabile
1980: il copyright viene esteso al software
1980s: AT&T UNIX da gratuito ad "a pagamento"
1983: IBM smette di rilasciare il sorgente insieme al sw
https://en.wikipedia.org/wiki/History_of_free_and_open-source_software 15 / 47
GNU e Free Software Foundation
1983: Stallman fonda il progetto GNU "GNU is Not Unix"
sistema operativo libero (a differenza di Unix)
Sviluppato in linguaggio C e
compatibile con Unix
Kernel (HURD) + Tools
GNU Compiler Collection, GNU C library
https://en.wikipedia.org/wiki/List_of_GNU_packages 16 / 47
Licenze libere
GNU General Public License (GNU GPL)
GNU Lesser General Public License (GNU LGPL)
Licenze BSD (licenza originale, licenza modificata e
licenza semplificata)
The GPL is a copyleft license, which
Mozilla Public License means that derivative work can only be
distributed under the same license terms.
Licenza MIT/Expat This is in distinction to permissive free
software licenses, of which the BSD
licenses and the MIT License are widely
Licenza Apache used examples.
https://it.wikipedia.org/wiki/Software_libero 17 / 47
Linux e l'Open Source Initiative
1992: Linux kernel 0.12 (Linus Torvalds), licenza GNU
1993: Rilascio di Debian: Linux kernel + GNU tools
1997: Eric Raymond The Cathedral and the Bazaar
analisi cultura hacker e principi del free software
http://www.apogeonline.com/openpress/cathedral
1998: Rilascio codice sorgente di Netscape (NPL)
1998: Open Source Initiative
(Eric Raymond, Bruce Perence)
Open Source Definition
pi orientata al mondo delle aziende
(mette da parte il termine free)
The Cathedral and the Bazaar: http://www.apogeonline.com/openpress/cathedral 18 / 47
Oltre il sistema operativo
1978: TeX (tipografia digitale)
198x: Sendmail (mail delivery sistem) con BSD
1984: X Windows System (server + network) MIT
1990s: Desktop Environments Gnome (GTK) & KDE (Qt)
(GNU Lesser General Public License)
1995: Apache Web Server (Apache License)
precedentemente NCSA HTTPd
SERVER
1998: Netscape Communicator (NPL) vs
DESKTOP
1999: Sun rilascia StarOffice (GPL)
19 / 47
L'Open Source ovunque
2002: MediaWiki (alla base della Wikipedia)
STATO
2005: Git (controllo di versione distribuito) DELL'ARTE
2008: Android (parte) (80% share) [Apache]
http://source.android.com PERMISSIVE
21 / 47
Abbracciare l'open source
22 / 47
Comunit Open Source
Github una delle pi grandi community per lo sviluppo
di software open source
5.8+ milioni utenti attivi, 19.4M+ repository attivi
Classifica delle organizzazioni con il maggior numero di
contributi a software open source
Microsoft (opensource.microsoft.com)
Facebook (code.facebook.com)
Google (opensource.google.com)
Netflix (netflix.github.io)
23 / 47
Perch open source?
Collaborare con altri
Per organizzazioni no-profit, ma non solo
Delegare il mantenimento alla comunit
E vendere servizi a valore aggiunto che si basano su
di esso (Bootstrap di Twitter)
A supporto della vendita di hardware
Per aumentarne ed estenderne le funzionalit
Re-licenziamento proprietario
Si rilascia OS una versione base (community) e si fa
pagare quella avanzata (wordpress, mysql)
http://producingoss.com/en/types-of-corporate-involvement.html 24 / 47
Perch open source?
Definire uno standard
Scelta strategica per diffondere, imporre, proteggere il
proprio (Javascript)
Indebolire un competitore
Che non pu (o vuole) aprire il proprio codice (Mozilla)
Creare un ecosistema
Far crescere il valore dell'azienda (Android)
Fare marketing
Associarsi ad un progetto open source una buona
pubblicit
Smart companies try to commoditize their products complements:
https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/ 25 / 47
If you work at a government agency
Open Source e PA
and the material in this book so far
has made you shake your head and
think "Sure, but it'll never work here",
you have my sympathy. Karl Fogel
Sicurezza
Se non si ha accesso al codice non ci si pu fidare
Flessibilit
Eliminare (ridurre) il vendor lock-in
Estenderne le funzionalit
Assicurare l'interoperabilit
http://producingoss.com/en/open-source-and-the-organization.html#dispel-myths 28 / 47
I falsi miti
Gli sviluppatori si appassioneranno automaticamente
perch open source e tutti inizieranno ad usarlo
automaticamente
Tutti abbiamo molti impegni sia sviluppatori, sia utenti
e avvicinarsi ad un nuovo progetto costa sempre
tempo e fatica
Se software libero posso copiare/incollare codice
liberamente
Il codice sempre protetto da delle condizioni (es.
Attribuzione) necessario tenerne conto
(potenzialmente pi difficile che con il proprio codice)
http://producingoss.com/en/open-source-and-the-organization.html#dispel-myths 29 / 47
I falsi miti
Il codice open source meno caro
Non commettere l'errore di scegliere il software open
source con la scusa che meno caro; sii realista, la
situazione pi complessa
Come vero che il costo della licenza non il costo
pi importante del software propietario (lock-in), cos
vero che nel software open source ci sono altri costi
da sostenere (oltre alla licenza, che gratis)
http://producingoss.com/en/open-source-and-the-organization.html#dispel-myths 30 / 47
Abbracciare l'open source
Non solo una questione di software!
Il valore pi grande del FOSS non il codice sorgente
(l'aspetto tecnologico), ma la comunit in cui nasce e si
sviluppa (i processi)
Il software proprietario basato sulla segretezza, sul
denaro e su una gerarchia di gestione di etichetta
Il software libero basato sull'apertura, la
collaborazione ed una gerarchia definita dal consenso
Spesso un tutt'uno con l'open-data, open-government,
trasparenza, apertura, ecc.
- 31 / 47
Abbracciare l'open source
Occorre gestire in modo nuovo
l'organizzazione interna e i processi interni/esterni
Relazioni tra politiche/licenze aziendali e open source
Rapporti tra l'azienda e la comunit OS
Tracciare l'uso di software OS, brevetti, etc.
https://3rdpartycode.microsoft.com/
Riferimento: TODOgroup.org
open group of companies (Microsoft, Facebook, IBM,
Samsung, ...) who want to collaborate on practices, tools, and
other ways to run open source projects and programs
Code contributions, not title or position [or money],
are what determine influence and technical direction in an open source project.
Linux Foundation, How to build OS competency in your company
Lo sviluppo
Non deve dipendere da brevetti o altro codice
(eventualmente licenziati con il codice)
La messa in campo (deploy)
Non ci devono essere differenze tra il codice aperto
di sviluppo e quello messo in campo
La documentazione deve essere completa
33 / 47
Abbracciare l'open source
When a vendor whose normal mode is proprietary development
is hired to do open source, the result is usually a product
that is not truly open source and that no third party can actually deploy.
Karl Fogel, Producing Open Source Software
Independent verification and validation
Partner open source x scongiurare il vendor lock-in
riveda tutti gli output (documentazione e deploy compresi)
in modo da verificare che sia effettivamente utilizzabile da
terze parti (loro, e dal fornitore stesso)
relazioni direttamente al committente
35 / 47
La realt italiana
Comune di Mappano (TO) 11.06.2017
Varie societ e associazioni https://www.linux.it/comune-from-scratch
- 37 / 47
Codice amministrazione digitale
Capo VI - Sviluppo, acquisizione e riuso di sistemi
informatici nelle Pubbliche Amministrazioni
Art. 68: Analisi comparativa delle soluzioni
Linee guida per la valutazione comparativa
http://bit.ly/1OssjwU
Art. 69: Riuso delle soluzioni e standard aperti
Linee guida sul riuso
http://www.agid.gov.it/agenda-digitale/pubblica-amministrazione/riuso-software
Art. 70: Banca dati dei programmi informatici
riutilizzabili
Catalogo nazionale dei programmi riusabili
http://www.agid.gov.it/catalogo-nazionale-programmi-riusabili
http://www.agid.gov.it/cad/codice-amministrazione-digitale 38 / 47
Banca dati del riuso
Art. 70: Banca dati dei programmi informatici riutilizzabili
Catalogo nazionale dei programmi riusabili
http://www.agid.gov.it/catalogo-nazionale-programmi-riusabili
Non sono
documenti e
progetti vivi
Mi piacerebbe
sapere chi li ha
riutilizzati
- 39 / 47
Valutazione software in riuso
Le amministrazioni che vogliono acquisire in riuso un
programma del catalogo devono effettuarne una
valutazione di convenienza tecnica ed economica
attraverso:
la predisposizione della specifica dei requisiti
funzionali alle esigenze di automazione
dellamministrazione
la valutazione delladeguatezza tecnica del
programma individuato nel catalogo
la valutazione della convenienza economica al riuso
la predisposizione dello studio di fattibilit del progetto
di riuso
http://www.agid.gov.it/agenda-digitale/pubblica-amministrazione/riuso-software/richiesta-software-dal-catalogo 40 / 47
AgID + Team Digitale
Piano Triennale per l'Informatica nella PA (2017-2019)
Team per la trasformazione digitale (beta)
http://teamdigitale.governo.it
Open data
Comunit trasparente e collaborativa
- 42 / 47
developers.italia.it
Piattaforma tecnologica
uno spazio su GitHub (https://github.com/italia) per
ospitare il codice sorgente e librerie open-source;
unarea basata su ReadTheDocs per riscrivere la
documentazione finalmente in formato moderno;
una newsletter e uno spazio per le news, per essere
avvertiti quando esce una nuova versione;
un forum aperto basato su Discourse, dove poter
liberamente discutere con colleghi in tutta Italia.
- 43 / 47
Dati aperti
Tutta un'altra musica
AgID Open Data
http://www.agid.gov.it/agenda-digitale/open-data
Il portale dati.gov.it e i portali regionali e comunali
2010: regione Piemonte dati.piemonte.it
Regioni: Lombardia, Lazio, Emilia Romagna, ecc.
Comuni: Firenze, Bologna, Lecce, ecc.
Una questione pi gestibile?
http://www.dati.gov.it/ 44 / 47
Bibliografia
K. Fogel, Producing Open Source Software, 2017
http://producingoss.com/
Agenzia per l'Italia Digitale
http://www.agid.gov.it/
AA.VV., "Introduction to Free Software", Free Technology
Academy
https://archive.org/details/ost-computer-science-fta-m1-
intro_to_fs-v1
Piano triennale per l'informatica nella pubblica
amministrazione (2017-2019)
https://pianotriennale-ict.italia.it/
Riferimenti a pi di pagina
- 45 / 47
[ Attivit ]
Analisi software libero esistente
Cosa pu essere di interesse?
Esistono altre amministrazioni in Italia che hanno
sviluppato/riusato software libero?
Valutazione secondo
i criteri AgID
Curiosare su
developers.italia.it
46 / 47
Ricerca soluzioni esistenti
Si vedano i progetti su cui punta developers.italia.it
https://developers.italia.it/it/progetti/
47 / 47