In questi giorni sto leggendo “Il calderone magico” di Eric S. Raymond (Giugno 1999), lettura corta ma non facile e scorrevole (o forse ero io che puntualmente mi mettevo a leggere dopo l’1 di notte 😀 ).
Un capitolo interessante e più facile da comprendere degli altri è un’appendice che parla dei driver e del motivo per cui rilasciarli con una licenza proprietaria è dannoso:
I produttori di periferiche hardware (schede Ethernet, schede di controllo del disco, schede video e simili) sono storicamente restii a passare all’open source. La situazione sta cambiando, attualmente, con imprese quali Adaptec e Cyclades che iniziano a diffondere specifiche e codice sorgente dei driver dalle loro schede. Ciononostante, si trova ancora una certa resistenza. In questa appendice, tenteremo di chiarire diversi equivoci economici che ne sono causa.
Se siete produttori di hardware, potreste temere che l’open source riveli dettagli importanti sul funzionamento del vostro hardware e che la concorrenza possa copiarlo, riportando ingiustamente un vantaggio competitivo. Al tempo in cui i cicli di produzione duravano dai tre ai cinque anni, questa era un’obiezione valida. Oggi, il tempo che impiegherebbero gli ingegneri della concorrenza per copiare e capire la copia occuperebbe una parte considerevole del ciclo di produzione e questo tempo non lo impiegherebbero per innovare o differenziare i loro stessi prodotti. Il plagio è quindi una trappola in cui a voi fa piacere che la vostra concorrenza cada.
In ogni caso, questi dettagli non rimangono segreti a lungo, al giorno d’oggi. I driver hardware non sono come i sistemi operativi, né come le applicazioni: sono piccoli, facili da disassemblare e semplici da clonare. Potrebbero farlo anche dei ragazzini, novelli programmatori: e spesso lo fanno.
Sono letteralmente migliaia i programmatori Linux e FreeBSD che hanno sia le capacità, sia la motivazione per costruire driver per una nuova scheda. Per molte classi di dispositivi con interfacce relativamente semplici e standard ben conosciuti (come le schede controller e di rete), questi appassionati hacker riescono spesso a prototipare un driver quasi alla stessa rapidità in cui può farlo il vostro laboratorio, anche senza documentazione e senza disassemblare un driver esistente.
Anche per dispositivi problematici come le schede video, non si può fare granché per contrastare un programmatore abile armato di un disassemblatore. I costi sono contenuti e le barriere legali penetrabili: Linux è un’opera internazionale, e ci sarà sempre una giurisdizione in cui il reverse engineering sarà legale.
Per avere prove concrete della verità di queste affermazioni, vi basterà esaminare la lista di dispositivi supportati dal kernel di Linux o contenuti negli indici di siti come Metalab riguardanti i driver e notare la frequenza con cui ne appaiono di nuovi.
Il messaggio? Mantenere segreto il vostro driver sembra una buona idea a breve scadenza, ma probabilmente, si rivelerà cattiva, alla lunga (ovviamente, qualora siate in concorrenza con altri produttori che abbiano già adottato l’open source). Ma se proprio siete costretti a farlo, memorizzate il codice in una ROM sulla scheda. Poi pubblicatene l’interfaccia. Adottate l’open source per quanto vi è possibile, per costruire il vostro mercato e dimostrare alla potenziale clientela che credete nelle vostre capacità di superare la concorrenza per idee e innovazioni, quando serve.
Se mantenete la soluzione commerciale, normalmente otterrete il peggio del peggio: i vostri segreti verranno divulgati, non otterrete assistenza gratuita allo sviluppo e non avrete fatto perdere tempo ai vostri concorrenti più stupidi per clonarvi. Ma la cosa più grave è che avrete perso l’occasione, per i vostri driver, di un’adozione diffusissima e veloce. Un mercato ampio e importante (formato dai gestori dei server che fanno funzionare tutta Internet e più del 17% delle banche dati delle imprese) metterà da parte la vostra azienda, giustamente, considerandola incompetente e paurosa, perché voi non avrete compreso queste cose. Poi, compreranno le vostre schede da qualcun altro che invece le avrà capite.
In nove anni le cose cambiano ma in questo caso cambia molto poco, sicuramente sono state sviluppate periferiche hardware per le quali è più difficile “inventarsi” i driver, vedi schede video di ultima generazione e schede wireless, anche se comunque i progetti che lo fanno resistono e si comportano bene.
Alcune aziende comunque non seguono il consiglio e credo siano una maggioranza, stolte 😀 .
Ben detto! I driver aperti devono essere la norma e non l’eccezione! Ne ho parlato anche in un vecchio post sul mio blog…
😉
il bello di questo stralcio è però anche il fatto che si guarda la situazione dalla prospettiva delle aziende…le quali vengono danneggiate loro stesse dal rilascio dei driver con licenze proprietarie