3Domande ad Andrea Righi – Linux kernel developer @BetterLinux

Andrea Righi Kernel Hacker

Oggi le 3Domande sono per Andrea Righi, relatore al prossimo Better Embedded di Firenze. Esperto in sistemi embedded, architetture e sistemi operativi. Attualmente sviluppatore per BetterLinux.

Emanuele: Per prima cosa vorrei chiederti di presentarti alla community di Elettronica Open Source. Cosa fai nella vita, di cosa ti occupi nello specifico?

Andrea: Lavoro come freelance, la mia mansione principale e` quella di sviluppatore sul kernel Linux, o “kernel hacker” come preferisco definirmi io. :)

Collaboro prevalentemente con un’azienda americana chiamata BetterLinux. Sono specializzato in sistemi real-time, sistemi embedded e tecnologie di virtualizzazione.
Sono un sostenitore del modello open-source e in passato ho contribuito a vari progetti open, sempre con particolare interesse per il kernel Linux.

Emanuele: Come sappiamo sarai presente al Better Embedded 2012 (24 e 25 settembre 2012 a Firenze) con due Talk. Puoi darci un’anticipazione di quello che tratterai?

Andrea: Al BetterEmbedded cerchero` di introdurre alcune problematiche chiave della programmazione del kernel Linux dal punto di vista dello sviluppatore di sistemi embedded.

Quello che rende Linux appetibile per l’embedded e` sicuramente la sua elevata portabilita`, in particolare la presenza di driver praticamente per qualsiasi dispositivo, e ovviamente la totale possibilita` di customizzazione e integrazione: il codice e` open-source, quindi può essere adattato o portato su qualunque tipo di hardware.

Avere Linux sul proprio dispositivo embedded significa anche poter usare trasparentemente qualsiasi applicazione scritta per girare su Linux. Una volta che un sistema GNU/Linux parte sulla nostra nuova piattaforma embedded abbiamo fatto generalmente il 99% del lavoro. Con Linux abbiamo web server, applicazioni di networking, media center, etc.
Qualunque requisito utente puo` essere soddisfatto a tempo zero, o comunque può` essere soddisfatto in tempi molto piu` rapidi rispetto a scriversi un firmware totalmente custom, o appoggiarsi a qualsiasi altra piattaforma.

Chi investe oggi nelle soluzioni Linux per il mondo embedded? Beh, se pensiamo allo scenario mobile/tablet ad esempio ci viene subito in mente Android.
Android e` divenuta la piattaforma leader del mercato mobile, oggi si contano circa 400 milioni di dispositivi Android (tra tablet e telefonia), con circa 1 milione di nuove attivazioni per giorno (da wikipedia).
E Android non e` altro che un kernel Linux, con alcune modifiche prevalentemente mirate ad una gestione migliore del risparmio energentico.

Ma Android non e` solo mobile, ci sono tablet, addirittura alcune board nell’industria dell’automazione si stanno appoggiando alla piattaforma Android. Questo perche` un sistema usato da molti, e visto da molti, significa anche il piu` possibile libero da bug (cioe` affidabile): in questo il modello open-source funziona bene, c’e` una comunita` che revisiona il lavoro di tutti, se pubblichi il tuo lavoro e sei fortunato puoi ricevere gratuitamente la revisione al tuo codice e le correzioni degli errori che hai fatto. :)

In conclusione, considerando tutto cio` che ho detto sopra, la mia idea per BetterEmbedded era di presentare due talk: uno piu` introduttivo e generico sullo sviluppo driver per sistemi embedded Linux-based, un altro piu` specifico sempre sullo sviluppo kernel, ma mirato al kernel di Android, esaminando un po’ piu` in dettaglio le problematiche del consumo energetico.

Emanuele: I recenti successi, sia legali che di revenue, di Apple, che usa un modello di business chiuso all’ennesima potenza (sia hardware che software) da un lato e la carenza di supporto legale invece per chi segue licenze open, purtroppo fanno nascere forti dubbi a chi vuole investire nell’open source.
Quali suggerimenti vuoi dare per incentivare chi, pur sposando i principi Open non si sente tutelato dalle varie licenze
ed è tentato dal mito del modello di business closed?

Andrea: Domanda molto interessante.
Per quanto riguarda la mia esperienza personale posso dire che come sviluppatore il modello open funziona molto meglio del modello closed.
Ho iniziato questo lavoro contribuendo a progetti open-source. Venivo poi contattato da aziende sparse in tutto il mondo che mi offrivano lavoro per portare avanti quello che precedentemente avevo pubblicato.

Dal mio punto di vista e` un modello perfetto: posso continuare a fare quello che facevo nel tempo libero e in piu` vengo pagato. :) Dal punto di vista dell’azienda spesso va bene, perche` puo` interagire direttamente con l’autore, o comunque con qualcuno che ha partecipato attivamente allo sviluppo, senza dover formare altre persone. Questo vuol dire partire a tempo zero, magari con qualcosa che soddisfa gia` gran parte dei propri requisiti.

Piu` in generale metterei in evidenza due aspetti vincenti del modello open-source rispetto al modello closed:

1) notorietà: contribuire a progetti open-source noti da` visibilità` allo sviluppatore e all’azienda che lo “finanzia”. Il modello closed e`carente da questo punto di vista: bisogna spendere per lo sviluppo e per farsi conoscere.

2) rete di contatti: avere l’opportunita` di contribuire a progetti noti significa spesso interagire con una comunita` formata dai maggiori esperti del settore. Questo si traduce in formazione per chi si occupa di sviluppo, e un buon livello di revisione del codice, che alla fine permette di raggiungere una buona qualita` del prodotto. Queste opportunita` non ci sono nella controparte closed.

Tutto cio` non vale solo per i contributi a grandi progetti, ma anche per le realta` piu` piccole se viene raggiunta una massa critica di utilizzatori e/o esperti del settore che possono vedere “sotto il cofano” e contribuire con correzioni e/o idee innovative.

Per chi e` tentato dal modello di business closed deve scommettere molto sulle proprie capacita` e risorse per raggiungere un buon livello di qualita` e visibilita`. Come modello di business lo vedo molto piu` fragile, specie per le piccole realta` che devono partire da zero.

Il modello di business closed funziona per Apple, perché sostanzialmente se lo puo` permettere. :) Apple non e` un’azienda che parte da zero, sa bene come far parlare di se` e soprattutto sa come invogliare una grande massa di utenti ad acquistare i propri prodotti.

Nello specifico per la recente vicenda legale Apple/Samsung la mia opinione e` che la questione sia centrata molto su questioni di design piu` che sulla tecnologia vere e proprie. Difatti gran parte delle tecnologie usate da Apple non sono di fatto frutto di Apple, ad esempio il kernel di Mac OS X e` stato in gran parte ricavato da progetti open-source (BSD e NetBSD). Forse il modello di business closed si applica bene su questioni di design ad altissimo livello, ma non sulla tecnologia e sul software. Ogni volta che un software diventa closed, cessa l’opportunita` di innovazione da parte della comunita`. Sta tutto nelle mani di chi ne acquisisce la proprieta`.

STAMPA     Tags:,

2 Comments

  1. Emanuele 7 settembre 2012
  2. Emanuele 7 settembre 2012

Leave a Reply