Dall’opensource all”artigiano digitale


Per poter capire la figura dell’artigiano digitale è necessaria conoscere la storia e la filosofia che c’è dietro la cultura dell’opensource partendo da una breve introduzione ad alcuni concetti basilari di  informatica.

Il software e l’hardware

Un sistema informatico è composto tipicamente da un software e un hardware.

Il termine hardware deriva dalla composizione delle parole in inglese hard (duro, pesante) e ware (oggetto, manufatto).

Il termine software nasce  per imitazione del termine hardware, dalla composizione delle parole soft (morbido, leggero) e ware. Il software a sua volta è composto da due parti fondamentali:

  • il codice sorgente
  • il codice eseguibile

Generalmente il software per essere eseguito su un determinato hardware deve essere scritto in un linguaggio comprensibile dall’hardware, detto linguaggio macchina. Il codice che compone un software scritto in linguaggio macchina è chiamato codice eseguibile. Il linguaggio macchina è poco comprensibile all’uomo, per questo sono stati inventati dei linguaggi più leggibili dall’uomo che vengono successivamente trasformati dai cosiddetti compilatori in linguaggio macchina.

Il codice scritto in uno di questi linguaggi è detto codice sorgente. Dal momento che per funzionare è sufficiente il codice eseguibile, le leggi dei vari paesi che tutelano il diritto di autore per il software tendono a consentire la distribuzione del solo codice eseguibile, lasciando che chi detiene i diritti di autore possa mantenere nascosto il codice sorgente. Inoltre, le leggi di questi paesi tendono a considerare illecita la de-compilazione, ovvero lo studio del codice eseguibile volto a scoprirne il funzionamento. I software proprietari sono protetti da una licenza d’uso per difendere i diritti di autore del proprietario, queste licenze sono generalmente chiamate copyright. La licenza è il “contratto” che descrive il rapporto dell’utente nei confronti dell’applicazione stessa e del suo autore.

Il software libero


Il termine software libero (freesoftware, in inglese) identifica una ben specifica categoria di applicazioni software, che sono caratterizzate dal fatto che la licenza d’uso con cui vengono distribuite garantisca sempre almeno quattro libertà fondamentali:

  • libertà di eseguire il programma per qualsiasi scopo
  • libertà di studiare il programma e modificarlo
  • libertà di ridistribuire copie del programma
  • libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti

Tali libertà concesse hanno un prerequisito implicito: chi adopera il software deve avere accesso al suo relativo codice sorgente. Dunque il software libero è qualcosa di diverso dal software gratuito (o freeware,in inglese). Per potersi difendere dalle licenze dei software proprietari sono nati i copyleft.

Il copyleft

La parola copyleft (permesso d’autore) è un’invenzione e vuole rappresentare il copyright di chi, mentre difende il proprio diritto di autore, vuole difendere la libertà della sua opera, imponendo che questa e le sue derivazioni restino libere. In pratica, una licenza appartenente alla categoria copyleft impedisce che chi ridistribuisce il software (originale o modificato che sia) possa aggiungere delle restrizioni ulteriori. Il classico esempio di licenza di questo tipo è la licenza pubblica GNU-GPL.

Creative Commons

Nel 2001 viene fondato Creative Commons con lo scopo di trasferire alcuni principi del software libero a opere artistiche di tipo differente. Il lavoro importante di Creative Commons sta nello studio delle problematiche legali che riguardano le opere artistiche in generale, classificando diversi tipi di esigenze da parte degli autori, che si traducono in pratica in diversi tipi di licenza, ognuna con un diverso grado di «libertà».

Storia del software libero

Sistema Operativo

Un sistema operativo è un software che fornisce all’utente o ad altri software applicativi una serie di comandi e servizi per usufruire al meglio della potenza di calcolo di un qualsivoglia elaboratore. Il S.O. fornisce questo servizio nascondendo tutti i dettagli tecnici legati allo specifico hardware e architettura rappresentando le informazioni ad un alto livello, meglio comprensibile dall’uomo. Esso garantisce l’operatività di base di un calcolatore, coordinando e gestendo le risorse del sistema.

UNIX e BSD

Negli primi anni 70 alla AT&T e Bell Laboratories nasce UNIX, e con esso il più importante dei linguaggi di programmazione il C. UNIX inizialmente è utilizzato solo nelle università. A Berkeley, a partire dal 1978, si è cominciato a distribuire una variante di questo sistema operativo, con il nome BSD, ovvero Berkeley Software Distribution. Per questo software è nata una licenza d’uso che rimane il progenitore della filosofia del software libero: la licenza BSD. Per molto tempo, la variante BSD di UNIX è rimasta relegata all’ambito universitario o a quello delle aziende che avevano acquistato i diritti per utilizzare il codice sorgente dello UNIX originale. Ciò fino a quando si è sentita l’esigenza di ripulire lo Unix BSD dal codice proprietario. Il risultato iniziale è stato 386BSD, pubblicato nel 1992 con la versione 0.1. Tuttavia, questa edizione libera dello Unix BSD non ha avuto vita facile, dal momento che da quel punto sono iniziate delle contese giudiziarie sulla proprietà di alcune porzioni di codice ritenute libere. Altre varianti cercano di risolvere il problema dei diritti di autore, in particolare NetBDSFreeBDS e OpenBSD. FreeBSD riesce a diventare libera solo nel 1995 con la versione 2.

UNIX è molto importante perché da esso nasce Arpanet. Infatti Arpanet nasce come rete di PC UNIX, e successivamente dalle ceneri di arpanet nascerà Inernet.

GNU

Nel 1985, Richard Stallman fonda la FSF, Free software foundation, con lo scopo preciso di creare e diffondere la filosofia del software libero. Libertà intesa come la possibilità data agli utenti di distribuire e modificare il software a seconda delle proprie esigenze e di poter distribuire anche le modifiche fatte.Queste idee filosofiche si sono tradotte nella redazione di un contratto di licenza d’uso,la General Public License (GNU-Gpl) studiato appositamente per proteggere il software libero in modo da non poter essere accaparrato da chi poi potrebbe impedirne la diffusione libera.Per questo motivo, oggi, il copyright di software protetto in questo modo, viene definito copyleft.

Il software libero richiede delle basi, prima di tutto il sistema operativo. In questo senso, l’intento pratico di Richard Stallman è stato quello di realizzare, con l’aiuto di volontari, un sistema operativo completo. Per fare questo si parte dalle basi di UNIX. Con questo obiettivo è nato il progetto GNU(Gnu’s not Unix), si inizia a creare tanto software libero su standard UNIX e infatti questo software gira anche su UNIX. Manca però il cuore del SO, il kernel. Nel 1990 parte il progetto Hurd che nel 200 partorirà GNU/Hurd. Alla fine degli anni 80 nasce anche Minix, SO basato su UNIX per elaboratori x86, ma con una licenza che ne permette l’utilizzo solo in ambito didattico.

Linux

Linux nasce all’inizio degli anni 1990 come un progetto personale di studio delle funzionalità di multiprogrammazione dei microprocessori i386 da parte di Linus Torvalds, all’epoca uno studente all’università di Helsinki, in Finlandia. L’idea di Linus Torvalds era quella di realizzare qualcosa di meglio del sistema Minix. Dopo molto lavoro, Linus Torvalds arriva a un sistema minimo e soprattutto autonomo da Minix. Non è ancora un SO completo. Il 5 ottobre 1991 invia un messaggio al gruppo di discussione comp.os.minix dove ne dà annuncio e lo distribuisce come software libero con licenza GNU-Gpl. Tutti i software scritti dalle iniziative della FSF riguardanti il progetto GNU confluiscono su Linux che così diventa un SO completo: GNU-Linux.

Il difficile inizio del software libero

Nei primi anni 90 il futuro del software libero non si presenta così roseo come potrebbe sembrare, perché il livello qualitativo che questo software tende a raggiungere costituisce anche l’ostacolo principale alla sua diffusione e al suo utilizzo. Inoltre le grandi aziende che producono e vendono software proprietari arrivano a definire il software libero come un Cancro che rischia di distruggere l’economia basata sul sistema capitalistico, togliendo lavoro a chi produce valore. Inizia una dura guerra fredda tra i produttori di software proprietario e quelli di software libero.(per chi fosse interessato un caso di studio esemplare è la causa tra SCO e IBM).

Il successo di Linux e del software libero

La potenze del software libero sta nel suo modello di sviluppo. La conoscenza e il sapere che viene prodotto nelle comunità che si vengono a creare attorno a questo movimento è libero e alla portata di tutti. In tutto il mondo chiunque sia appassionato di informatica può partecipare allo sviluppo dei progetti opensource mettendoci il suo piccolo contributo. Tanti piccoli contributi di tante persone diverse sono il motivo del vero successo di questo modello di sviluppo, che raggiunge delle potenzialità che nessuna azienda che produce software proprietario riesce a raggiungere. Piano piano anche le aziende che producono software proprietario iniziano a utilizzare il codice opensource, e ad un certo punto iniziano anche a contribuire alle comunità che producono questo software. Oggi Linux, il sistema operativo aperto a tutti e senza restrizioni (open source), è il SO più utilizzato in assoluto:

  • è alla base del 91% dei supercomputer del Pianeta (che gestiscono aspetti delicatissimi come la ricerca, la difesa, la finanza, etc.)
  • costituisce il cuore Android, sistema operativo per smartphone e smartwatch, leader del settore
  • viene integrato nella maggior parte di elettrodomestici Smart TV frigoriferi,lavatrici, ecc…

E’ un sistema multipiattaforma, gira su quasi tutte le piattaforme hardware.

Un’articolo interessante da leggere.

Arduino e l’hardware opensource.

La storia di Arduino nasce ad Ivrea. Il nome Arduino deriva dal bar che Massimo Banzi(uno dei creatori) usava frequentare all’epoca: il bar Re Arduino. La scheda elettronica è stata sviluppata all’Interaction Design Institute di Ivrea, scuola post laurea sviluppata da Olivetti S.p.A. in collaborazione con la Telecom. In qualche modo, lo spirito più profondo della Olivetti di molti anni fa, ha contaminato indirettamente il lavoro del Team Arduino, capeggiato da Massimo Banzi, ma a cui hanno partecipato anche David Cuartielles, Tom Igoe, GianlucaMartino, e David Mellis.

 

Stampa 3D – un caso di studio che testimonia la validità dell’opensource come modello di sviluppo

 

Un esempio clamoroso dell’influenza dell’approccio Opensource nella diffusione e nello sviluppo della tecnologia è il caso delle stampanti 3D.
La stampa non è una tecnologia del tutto nuova. Chuck Hull, che è considerato il padre dell’additive manufacturing, fonda la sua 3D Systems (ancora oggi uno dei maggiori produttori di stampanti 3D professionali) alla metà degli anni ’80.
Nel 2005 scade il brevetto per la stampa a filo fuso e un professore inglese, Adrian Bowyer costruisce una macchina in grado di stampare oggetti e di autoreplicarsi, la RepRap. Il progetto è open source ed è pubblicato su un wiki (www.reprap.org).
Pochi anni dopo i fondatori della Makerbot costruiscono e vendono su Internet i loro kit (3500 il primo mese).
Reprap e Makerbot sono i progetti Opensource di stampanti 3D più famosi, e grazie a loro che è iniziata una diffusione incredibile di stampanti 3D.

L’artigiano digitale

Gli artigiani digitali, o maker, costituiscono un movimento culturale contemporaneo che rappresenta un’estensione su base tecnologica del tradizionale mondo del bricolage.
La nascita della subcultura dell’artigianato digitale è strettamente associata alla nascita di spazi hacker, ovvero di spazi di innovazione collaborativa
Tra gli interessi tipici degli artigiani digitali vi sono realizzazioni di tipo ingegneristico, come apparecchiature elettroniche, realizzazioni robotiche, dispositivi per la stampa 3D, e apparecchiature a controllo numerico.
Per fare potersi approcciare a questo “mestiere” non sono necessarie complicate conoscenze scientifiche, ma bastano le conoscenze base dell’informatica e dell’elettronica. Se poi abbiamo anche qualche conoscenza di Meccanica, grazie alle stampanti 3D, si possono realizzare progetti davvero interessanti.

Se opportunamente sostenuto, questo mondo può vivacizzare il mercato del lavoro e valorizzare la cultura del fare/fabbricare, ovvero dell’anima del Made in Italy.
Il modello produttivo italiano (pmi, strutture distrettuali a rete, forte presenza della cultura artigiana) non è un’anomalia, ma anzi possiamo dire che anticipa i modelli organizzativi ed imprenditoriali del XXI secolo. Questo modello è inoltre molto “coerente” con gli sviluppi organizzativi suggeriti dalla digital economy (economie di rete, social networking, 2.0).
La vera anomalia è quindi il fatto che queste imprese e aggregazioni di imprese abbiano una bassa adozione delle tecnologie digitali.
Oltretutto i concetti di artigianato e di digitale – a lungo considerati distanti,  se non incompatibili sono invece fortemente collegati e lo sono doppiamente. Innanzitutto come processo produttivo: sviluppare una soluzione software, un’app, un’interfaccia digitale, un modello 3D di un luogo non è certamente un processo industriale che può essere standardizzato e automatizzato. Ma anche il loro utilizzo richiede personalizzazione e adattamenti tipici degli artefatti artigiani. Non si tratta inserire nei contesti organizzativi soluzioni digitali che impongano metodi e comportamenti standard che sarebbero deleteri nel mondo e delle imprese, togliendo diversità, dinamicità e in ultima istanza competitività – quanto piuttosto di adattare una “cassetta di attrezzi” a uno specifico contesto, bilanciando correttamente buone pratiche consolidate con specificità individuali.