City_Hunter
15-02-2004, 21:22
L'argomento non è certo storia nuova, ma è rimasto sconosciuto a tutti coloro che non si fossero addentrati negli ingranaggi di Linux o ritrovati nella situazione di dover far funzionare un componente hardware particolare.
Nel corso degli anni, la prospettiva della sempre maggiore presenza di moduli closed source, rilasciati dalle case produttrici hardware, caricati dall'utente finale nel proprio kernel per far funzionare al meglio un componente, ha fatto storcere il naso non poco agli sviluppatori open source.
Verso la fine del 2001 si decise di assegnare ai vari moduli un parametro relativo alla licenza con cui venivano rilasciati e di avvisare l'utente quando questi tentasse dii caricare nel kernel un modulo closed source (il famoso "tainted kernel").
Oltre a questo, Linus Torvalds diede il permesso agli sviluppatori più fanatici e insistenti di rendere disponibili le interfacce da loro scritte (ed usate anche dai moduli closed source) soltanto ai moduli con licenza GPL o compatibile. Questo valse solo per le interfacce nuove, scritte da quel momento in poi.
Non tutti gli sviluppatori di moduli si trovarono d'accordo con questa decisione di "limitare" in qualche modo i moduli closed source, come si può leggere in questa pagina:
http://www.smcc.demon.nl/webcam/tainting.html
la sua lettura è molto interessante per comprendere a fondo il problema.
Volendo si può anche risalire alla discussione che ne scaturì nella mailing list del kernel di linux:
http://www.ussg.iu.edu/hypermail/linux/kernel/0110.2/0369.html
A questo punto dò una mia opinione in proposito e invito chi fosse interessato a fare altrettanto.
A mio parere ogni forma di estremismo è sbagliata e questo vale anche per l'open source.
Al di là della facilissima aggirabilità delle verifiche di licenza del modulo nel kernel; per esempio basterebbe creare un modulo GPL che faccia da wrapper ad una libreria closed source... e il gioco è fatto. Senza contare che basta modificare parti del kernel di linux (module.h , insmod.c et similia), cosa che chiunque è libero di fare visto che si tratta di software GPL.
Da un lato posso comprendere la volontà di evitare che i moduli closed source diventino un'abitudine troppo frequente.
Dall'altro mi riesce veramente difficile credere (sono anzi convinto del contrario) che limitando questi moduli, le case hardware cominceranno a rilasciare driver open source. E' molto più probabile che, se i moduli closed source smetteranno di funzionare (ipotesi comunque pessimistica), i produttori HW lascino del tutto il poco supporto offerto a Linux. E questo sarebbe un peccato perchè questi moduli rappresentano spesso e volentieri il modo migliore per utilizzare al meglio il proprio hardware. Chiedete a chi ha una scheda nvidia o ati se rinuncerebbe ai driver nvidia-glx o firegl.
Le case hardware sono società a scopo di lucro, ben intenzionate a proteggere i propri segreti industriali, come è normalissimo che sia.
I moduli closed source hanno rappresentato fino a questo momento l'unica via di dialogo con i produttori hardware, che hanno fornito le specifiche necessarie per creare dei drivers a patto che parte del loro lavoro restasse segreto (NDA, Non Disclosure Agreement). Se per esempio philips collabora per far funzionare la sua webcam su linux, è ragionevole pensare che non voglia rendere comunque pubblico il proprio algoritmo di compressione e decompressione dell'immagine su cui ha lavorato per anni e che rappresenta una fonte di guadagno importante.
Nel corso degli anni, la prospettiva della sempre maggiore presenza di moduli closed source, rilasciati dalle case produttrici hardware, caricati dall'utente finale nel proprio kernel per far funzionare al meglio un componente, ha fatto storcere il naso non poco agli sviluppatori open source.
Verso la fine del 2001 si decise di assegnare ai vari moduli un parametro relativo alla licenza con cui venivano rilasciati e di avvisare l'utente quando questi tentasse dii caricare nel kernel un modulo closed source (il famoso "tainted kernel").
Oltre a questo, Linus Torvalds diede il permesso agli sviluppatori più fanatici e insistenti di rendere disponibili le interfacce da loro scritte (ed usate anche dai moduli closed source) soltanto ai moduli con licenza GPL o compatibile. Questo valse solo per le interfacce nuove, scritte da quel momento in poi.
Non tutti gli sviluppatori di moduli si trovarono d'accordo con questa decisione di "limitare" in qualche modo i moduli closed source, come si può leggere in questa pagina:
http://www.smcc.demon.nl/webcam/tainting.html
la sua lettura è molto interessante per comprendere a fondo il problema.
Volendo si può anche risalire alla discussione che ne scaturì nella mailing list del kernel di linux:
http://www.ussg.iu.edu/hypermail/linux/kernel/0110.2/0369.html
A questo punto dò una mia opinione in proposito e invito chi fosse interessato a fare altrettanto.
A mio parere ogni forma di estremismo è sbagliata e questo vale anche per l'open source.
Al di là della facilissima aggirabilità delle verifiche di licenza del modulo nel kernel; per esempio basterebbe creare un modulo GPL che faccia da wrapper ad una libreria closed source... e il gioco è fatto. Senza contare che basta modificare parti del kernel di linux (module.h , insmod.c et similia), cosa che chiunque è libero di fare visto che si tratta di software GPL.
Da un lato posso comprendere la volontà di evitare che i moduli closed source diventino un'abitudine troppo frequente.
Dall'altro mi riesce veramente difficile credere (sono anzi convinto del contrario) che limitando questi moduli, le case hardware cominceranno a rilasciare driver open source. E' molto più probabile che, se i moduli closed source smetteranno di funzionare (ipotesi comunque pessimistica), i produttori HW lascino del tutto il poco supporto offerto a Linux. E questo sarebbe un peccato perchè questi moduli rappresentano spesso e volentieri il modo migliore per utilizzare al meglio il proprio hardware. Chiedete a chi ha una scheda nvidia o ati se rinuncerebbe ai driver nvidia-glx o firegl.
Le case hardware sono società a scopo di lucro, ben intenzionate a proteggere i propri segreti industriali, come è normalissimo che sia.
I moduli closed source hanno rappresentato fino a questo momento l'unica via di dialogo con i produttori hardware, che hanno fornito le specifiche necessarie per creare dei drivers a patto che parte del loro lavoro restasse segreto (NDA, Non Disclosure Agreement). Se per esempio philips collabora per far funzionare la sua webcam su linux, è ragionevole pensare che non voglia rendere comunque pubblico il proprio algoritmo di compressione e decompressione dell'immagine su cui ha lavorato per anni e che rappresenta una fonte di guadagno importante.