Software e codicesorgente



Documenti analoghi
Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software

Software Libero. Terra Futura - Firenze

Definizione di Open Source

Il software. E' una serie di istruzioni eseguite dal PC.

LICENZE D'USO E TIPOLOGIE DI SOFTWARE

Le licenze d uso. Le principali tipologie di licenze

S o f t w a r e L i b e r o : p e r c h é? a cura di don Paolo La Terra


L'Open Source nella cultura giuridica italiana. -e anche al di fuori di essa

Introduzione al Software Libero

ALTRA ECONOMIA. Le licenze nel software. di virtualmondo. terza parte del seminario sul software libero. per contatti

L Open Source un mondo che forse dovresti conoscere? Viaggio alla scoperta dell open source e le sue caratteristiche.

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

Linux e Open Source: Libero! Non "gratis"...

Corso ForTIC C2 LEZIONE n. 1

Uomo Libero software Libero

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova)

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico

I programmi applicativi

Perchè usare sw open source nelle scuole

Modulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.8) Rielaborazione dal WEB: prof. Claudio Pellegrini - Sondrio.

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Corso di Informatica

Architetture Applicative

Software - Software applicativo - Altri campi di applicazione

Le licenze The cathedral and the bazaar Il mercato Open Source l'open Source come soluzione aziendale

Linux Day Perche' siamo qui???

Sviluppo, Acquisizione e Riuso

OPEN SOURCE CLOSED SOURCE

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

Software open-source nella Pubblica Amministrazione italiana

GPL 3 e Creative Commons Le licenze per la vostra libertà. Di Martino Martyn Colucci

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Linux nella scuola...proviamo!

Corso sul pacchetto R

Avete detto Open Source?!

Il Sistema Operativo Linux

Altre due categorie non rientrano né nel software di sistema, né in quello applicativo pur contenendo elementi tipici di entrambi sono:

Software Gestionali Open Source per le PMI

GNU/Linux e *BSD: filosofia del software libero ed open source

PRESENTAZIONE. Chi è B-Bright

Docebo: la tua piattaforma E-Learning Google Ready.

Introduzione al Software Libero e a GNU/Linux

Unix, Linux, Software Libero e Open Source: cenni storici e definizioni

Le fattispecie di riuso

Corso Eclipse. Prerequisiti. 1 Introduzione

Trieste: efficienza digitale. buongiorno - pozdravljeni

La normativa sul riuso del software nella P. A. e l esperienza Toscana

Software libero e aperto Il dialogo tra informatica e diritto. Roberto Caso

Open Source e Riuso. Lezione 4bis. Termini del problema (i)

Cosa è il sistema operativo

Il computer. Software libero. Hardware + Software Hardware La «ferraglia», elettronica. Software. Il Sistema Operativo, i Programmi

Presentazione Data Base

IMMAGINA UN MONDO in cui la tecnologia contribuisce a risolvere i problemi più difficili...

Open. Source. Il software AUTORE: ELENA COCCO UNIVERSITÁ DEGLI STUDI DI CAGLIARI FACOLTÁ DI GIURISPRUDENZA DIRITTO PRIVATO DELL INFORMATICA

**************************************************************************/

La Soluzione per CdA e Top Management. La soluzione è Secure Board by Boole Server

Dai Mainframe ai Personal Computer

Software per Helpdesk

Migrare a OpenOffice.org

Corso di Sistemi di Elaborazione delle informazioni

Che volontari cerchiamo? Daniela Caretto Lecce, aprile

Software open source. Cenni. Termini del problema (i) Termini del problema (ii) Scenario. Approfondimento 2. diagram by Chao-Kuei

CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA

POLINUX. Linux for Polimi people

Corso di Informatica

lem logic enterprise manager

Guadagnare con l'open source

È evidente dunque l'abbattimento dei costi che le soluzioni ASP permettono in quanto:

Open source e Pubblica Amministrazione: ha ancora senso parlarne? Flavia Marzano

Software proprietario

Il web server Apache Lezione n. 3. Introduzione

AMMINISTRARE I PROCESSI

Il database management system Access

.EVERYWHERE LOGIN. entra nel futuro. partnership signed

Lezione 3. Il software libero. Linux avanzato. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

MagiCum S.r.l. Progetto Inno-School

APPENDICE I Pratiche di tecnologie informatiche per la elaborazione della musica e del suono

Cosa è un foglio elettronico

Cap.1 - L impresa come sistema

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015

Risparmiare innovando

Open Source e business

COMMERCE: FORME DI TUTELA. Andrea L Episcopo Convitto Nazionale Mario Cutelli

REGOLAMENTO DEI SERVIZI DI CONNETTIVITÀ

Open Source::cenni. Termini del problema (i)

Migrare all'open Source

Il Software Open Source per la Statistica Ufficiale

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

MODULO 02. Iniziamo a usare il computer

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

COME FACCIO? A chi offro i miei prodotti Cosa si aspettano i miei clienti Come posso interessarli

Gestione di un magazzino: sviluppo di un applicazione web-database

Università per Stranieri di Siena Livello A1


Transcript:

L Open Source

Software e codicesorgente Programmatore produce codice sorgente (linguaggio) Codice sorgente viene tradotto in codice macchina(0,1) da un compilatore Codice macchina è il software, eseguito dal processore(cpu) Commerciale, shareware, freeware (es. pdf), open source

Software e codice sorgente In base al tipo di lavoro che svolge èpossibile suddividere il software in diverse categorie: software di base software applicativo software di ambiente

Software di base 1. Sistemi operativi (DOS, OS2, MAC OS, Unix, Linux, Windows) 2. Linguaggi di programmazione (Basic, Pascal, Cobol, C ++, Visual Basic, Java ecc )

Software applicativo L insieme dei programmi che non sono compresi nel sistema operativo, ma che vengono invece installati dall'utente per svolgere compiti specifici. Per esempio sotto Windows il programma di videoscrittura Microsoft Word è forse l'applicativo piùdiffuso. Word non fa parte di Windows ma deve essere acquistato a parte e installato sulla macchina dopo che questa contiene giàil sistema operativo.

Software di ambiente Pacchetti di software generici usati per la creazione di software applicativi: gestione degli archivi (database) fogli elettronici trattamento testi grafica

Software e diritto d autore Il software èun codice per il cui utilizzo, commercializzazione e distribuzione si fa riferimento alle leggi sul diritto d autore, in maniera simile a quanto avviene per le opere letterarie.

Software e licenza Tradizionalmente, il contratto che regola l uso del software èla licenzaed èsempre importante conoscere i termini di questo accordo per il software con cui si intende avere a che fare. Quando un software ètutelato da copyright, il software ha un proprietario, che ètale in quanto detiene i diritti d autore

Caratterizzazioni del software Il software si può caratterizzare principalmente in: 1. software libero 2. software non libero 3. software commerciale

Software libero èunaquestionedi libertà, non di prezzo. free as in free speech, not as in free beer I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a non disclosure agreement or a software license agreement. hacker: unapersona chesidilettaad esplorare i dettagli di un sistema programmabilee come spingereailimitile sue capacità, figura opposta a quella del più degli utenti, che preferiscono imparare solo il minimo necessario.

Un po' distoria In origine non c era protezione per il software. 1985: Richard Stallman fonda la FSF 1989: La filosofiadistallman sitraduce in GPL (General Public License) Il tuttoparte dallanascitadiunix, sistema operativo multi-utente e multi-processo Nel 1991 uno studente finlandese(linus Torvald) crea un sistema simil-unix(linux)

ProgettoGNU GNU = GNU'sNot Unix «L'obiettivo principale di GNU era essere software libero. Anche se GNU non avesse avutoalcunvantaggiotecnicosuunix, avrebbeavutosiaun vantaggiosociale, permettendo agli utenti di cooperare, sia un vantaggio etico, rispettando la loro libertà.»

Similitudini Free/OSS Distribuzioneapertadel codice sorgente Libertà di modifica LicenzeGPL o OSS, Cpl Team di sviluppatori distribuiti in rete Competizione libera Ricerca scientifica Diffusionepubblicadei risultati Libertà di ricerca Peer Review Attribuzione della paternità dei risultati Cooperazione Internazionale Competizione libera

Stallman e la FSF Secondo la FSF di Stallman il software deve essere libero non in quanto gratuito, ma per una questione etica e di principio. Esistono una serie di diritti dell'utente del software che devono essere tutelati Il software deve essere "libero" per questi motivi prima ancora che per motivi di carattere economico e di mercato.

Free vs. non-free Il software non èun semplicestrumento E' un artefatto cognitivo che incorpora lavoro e conoscenza, induce schemimentalie modelli cognitivi. Influenza gli stili di relazione fra le persone Perciòchesialiberoo non liberofala vera differenza

Software liberovsproprietario Libertà Migliore formazione informatica Sicurezza--> contributo dei programmatori Assenza di libertà Impossibilità di adattare il sw Minoresicurezza--> minore contributo dei programmatori Minorecontrollo--> non so cosa effettivamente fa

Free Software Libertà0, o Libertàfondamentale: La libertàdi eseguire il programma per qualunque scopo, senza vincoli sul suo utilizzo. Libertà1: La libertàdi studiare il funzionamento del programma, e di adattarlo alle proprie esigenze. Libertà2: La libertàdi redistribuire copie del programma. Libertà3:Lalibertàdi migliorare il programma, e di distribuirne i miglioramenti.

Sfatiamo alcuni miti softwarelibero=gratuito: falso. Libertànon èil prezzo. Infatti ci sono programmatori che vivono di vendita e manutenzione dei programmi liberi da loro creati. softwaregratuito=libero: falso. Molti programmi proprietari vengono distribuiti gratuitamente. softwarelibero=nocopyright: falso. Benchési possa rinunciare al copyright su un proprio programma e renderlo cosìdi pubblico dominio, la gran parte del software libero èdistribuito con una licenza. l autore diun programma libero lo deve pubblicare su Internet: falsa argomentazione. Sia gli autori che gli acquirenti di un programma libero hanno il diritto di distribuirlo a titolo oneroso o gratuito, ma non hanno alcun obbligo in tal senso.

Linux Linux creato (91) per far girare OS Unix sul proprio PC 386. Scrivere un programma OS garantisce lavoro di altri programmatori. Nel 1984 Stallman decise di mettere in piedi il progetto GNU perla creazione di un sistema operativo che fosse libero e migliore. Enunciò i principi del Free Software. Il kernel del sistema operativo GNU ancora oggi non esiste, ma sono stati creati tutti quei programmi che hanno rivestito il Linux di Torvald e che si trovano in ogni distribuzione del sistema operativo.

PerchéSL? Le motivazionipolitiche: èun benepubblico, favoriscela concorrenza, non trasferisce denaro pubblico a imprese lontanein pagamentodi licenze, eliminala dipendenzadaun solo fornitore. Le motivazioni economiche: non richiede licenze, permette installazioni multiple, contrasta pirateria Le motivazioni educative: si può studiare e modificare, si creano persone competenti e non UTONTI, disponibilità dei sorgenti permette accesso diretto al funzionamento dei programmi

LicenzaGPL Il software è opera d'intelletto protetta L'autore può cedere diritti di uso(licenza) DalprogettoGNU nascela licenzagpl «Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di condividerlo e di modificarlo. Al contrario, la GPL è tesa a garantire la libertà di condividere e modificare il free software, al fine di assicurare che i programmi siano "liberi" per tutti i loro utenti.»

Copyleft Autore permette copia, distribuzione e fruizione legandoa questaeticai lavoriderivati. È regola che impedisce di aggiungere restrizioni che neghino ad altri le libertà principali Condividere il software con altri utenti per i sostenitori del software proprietario èun attodipirateria, per i sostenitori del SL è una necessità sociale

Non sono la stessa cosa Free software Ha licenzachepermettea chiunquediutilizzarlo, studiarlo, modificarloe redistribuirlo. Si contrappone al software proprietario ed è differente dalla concezione open source, incentrandosi sullalibertàdell'utentee non solo sull'apertura del codice sorgente, che rimane un prerequisito del software libero Open Source Èsoftware i cui autori permettono il libero studio e l'apportodi modifichedaparte di altriprogrammatori. Questo è realizzato mediante l'applicazione di apposite licenze d'uso.

Il movimento open source Nel 1998 Bruce Perens, Eric Raymonde altri si convinsero che i principi di libertàdel SL fossero malvisti nel mondo business. Evitarono ogni riferimento politico o di principio e lanciarono una campagna per i numerosi vantaggi pratici: facilitàdi adattamento, affidabilità, sicurezza, conformitàa standard, indipendenza dai singoli fornitori. Scrissero Open Source Definition. Esempio di successo è l'atteggiamento dell'ibm, che ha fatto grandi investimenti nel software libero, e parla di open source, no di SL. La voluta neutralità del movimento open source verso gli aspetti etici e politici del software libero è la caratteristica sostanziale che lo distingue dalla filosofia del SL, che al contrario pone l'accento sulle motivazioni ideali

Open source èsoftware rilasciato con licenza di uso del sorgente. I due aspetti chiave dell'open source: licenza e codice sorgente. Ciò permette di modificare ed adattare all uso il programma. L'open source non èscappatoia per evitare l'acquisto di software proprietario, ma èuna scelta in favore della libertàdi circolazione e dello scambio di idee. Esempio: macchina con motore avvolto da schermo inviolabile.

ComunitàOpenSource La comunitàdel software OS condivide in larga misura le posizioni del mondo del software libero, ma deenfatizza gli aspetti etici, fondando le proprie scelte e motivazioni su considerazioni di carattere tecnicoeconomico. [...] deve includere il codice sorgente e deve consentirne la distribuzione tanto in codice sorgente che in forma compilata. [...] Il codice sorgente è un preliminare necessario alla riparazione o alla modifica di un programma. L'intento qui è che il codice sorgente sia distribuito con l'opera iniziale e con tutte le opere derivate.

Shareware Disponibilità dell eseguibile ma non del codice La licenza d uso prevede un piccolo importo, una scadenza o limitazioni d uso L utente può ridistribuire il programma e chi lo riceve è soggetto agli stessi obblighi Freeware Eseguibile gratuito ma niente codice Nessuna licenza d uso, nélimitazioni alla distribuzione Spesso legato a strategie di marketing o standards

CosaNON èl OS Freeware Shareware Public Domain For non-commercial use only Community Codes

Cos èopen Source? software that is collectively developed by a community of technologists with an interest in a particular application or tool and then distributed at no cost to the broader community of individuals who can find a use for it

Open Source: definizione Il codice creato dall autore non deve essere alterato e poi distribuito come fosse l originale. Non sono ammesse discriminazioni contro persone o gruppi o ambiti di utilizzo Non sono ammesse forme di licenze aggiuntive.

Open Source èun modellodi sviluppo Project lead sviluppatore sviluppatore sviluppatore sviluppatore

Caratteristiche di un OSP Peer review del codice Se dai a tutti il codice sorgente, ognuno di essi diventa un tuo ingegnere" [John Gage] Se ci sono abbastanza occhi [che cercano errori], gli errori diventano di poco conto [Raymond] Segnalazione e correzione errori Se tratti i tuoi beta-tester come se fossero la tua risorsa piu importante, essi risponderanno diventando la tua risorsa piu importante. [Raymond]. Trattare gli utenti come co-sviluppatori è la strada migliore Sviluppo distribuito La disponibilita dei codici sorgenti permette a chiunque sia interessato e ne abbia le capacità di partecipare allo sviluppo di un programma. Conflitti all interno del gruppo Mancanza di incentivi 33

Cattedrale Principi di sviluppo Confronto Cattedrale vs Bazaar Mastodontiche release di versioni definitive Debugging tra versioni Aspettative di perfezione smentite dai rilasci Bazaar I bug sono intrinseci e marginali Rapidita di diffusione per ottenere le correzioni Alberto Ornaghi 2002 34

Cos èopen Source veramente? Free/Libero da usare Free/Libero da modificare Free/Libero da distribuire Un alternativa al software commerciale

Conclusioni Confronto con modelli Closed Source Modello Risorse Planning Utenti Obiettivo Motivazione Stato di progresso Collaborazione Assic. di Qualita Proprietario Cattedrale Definite Intero progetto Utente pagante Risp. del contratto Forte (stipendio) Segreto Faccia a faccia Management OpenSource Bazaar Sconosciute Step by step Co-developers Risolvere un prob. Debole (voglia) Pubblico Internet Peer review Alberto Ornaghi 2002 36

Cattedralee Bazaar Saggiodel 1998 scrittodae. Raimond Propone due modelli di sviluppo del software «cattedrale» usato per sviluppare la maggior parte del software proprietario, dove tuttoe' «settorializzato» e organizzato e ogni sviluppatore ha compiti specifici. «bazaar», invece, in cui sie' formatolinux, gli utentisonoanchesviluppatoricheaiutanoa migliorare il codice

Alternative Open Source a Microsoft Office Open Office: Suite office. Multilingua. Multiformato. Gratuito e Free. Neo Office. La più popolare applicazione office per Mac OS X: Word Processing, Tabelle, Presentazioni, Disegno, Database