Drivers privativos en el Linux
En LWN discuten porqué no son buenos los módulos propietarios. Es la típica exigencia de la gente que no entiende el software libre, cómo funciona y evoluciona y sobre cuáles son los objetivos del software libre y de sus programadores: “tenéis que poner un API binario estable para facilitar la tarea de las empresas que desarrollan drivers propietarios”.
El artículo está muy bien desde el punto de vista técnico y legal, la argumentación es brillante. Pero no entra en temas éticos ni tampoco –que considero fundamental si se habla de los “desarrolladores del Linux– en las motivaciones de esos desarrolladores.
Peor aún son algunos de los comentarios. Así que dejé un comentario que lo traduzco rápidamente (enseguida tengo que salir corriendo a dar clases).
OK, la explicación de porqué los drivers FOSS son deseables y mejores que los “cerrados”. El argumento legal también está bien, el núcleo es GPL y los drivers privativos podrían violar la licencia. Todo muy bien.
Pero está faltando algo y que obviamente se ignora o se malinterpreta por parte de los autores de algunos comentarios.
¿Por qué el núcleo es libre? ¿Por qué tiene licencia GPL? En la comunidad de los desarrolladores existen dos razones evidentes:
Esos que piensan, como Linus Torvalds, que el software libre y el “open source” es la forma de producir mejores sistemas operativos y software en general. También creen que desarrollar software libre en comunidad es divertido.
Aquellos que piensan, como Alan Cox, que el software privativo genera dilemas morales y que el software libre es LA forma de evitar esos dilemas y las relaciones discriminatorias que se establecen alrededor del software privativo. Estos desarrolladores suelen también pensar que el desarrollo de software libre en general y núcleos de sistemas operativos en particular es divertido.
Entonces, ¿por qué los desarrolladores del Linux deberían esforzarse en establecer un API binario que los limitaría sólo para facilitar la coexistencia de los drivers privativos si estos están claramente en contra de las [dos] razones fundamentales de la propia existencia de Linux?
Quizás geekz.co.uk/lovesraymond/archive/gpl-3-democracy lo explica mejor.
Dejando aparte el problema moral o ético de usar/desarrollar controladores de dispositivo cerrados, evitar o dificultar su uso no es la solución, al menos si lo que se desea es que Linux sea un sistema operativo fantástico y pueda ser utilizado por cualquiera independiente del hardware disponible.
Precisamente, el hecho de que el soporte Wireless deje mucho que desear debido a la gran cantidad de hardware basura que hay ahí fuera (como las tarjetas SMC), es un factor limitante en la utilización y uso de Linux. Soluciones como ndiswrapper o driverload permiten la utilización de hardware que, de otra forma, acabaría guardado en un cajón.
Otro problema adicional con los controladores de dispositivo Wireless no es el hecho de que el fabricante no quiera liberar el driver, sino que es que la FCC la que se lo impide. En este caso, no se trata de un problema moral o ético, sino un problema legislativo y técnico.
Comment by Felipe Alfaro Solana — Thursday 10/11/2005 @ 20:48
> evitar o dificultar su uso no es la solución, al menos si lo que se desea es que Linux sea un sistema operativo fantástico
Los que quieren dificultan no son los desarrolladores de Linux, sino los que hacen hardware sin liberar drivers ni especificaciones.
Y tampoco tiene sentido hacer esfuerzo por divulgar un sistema lleno de software privativo, si fuese así nunca hubiese habido un sistema libre, seguiríamos con Solaris, Irix, Ultrix o Windows.
Para muchos “divulgar por divulgar”, aunque esté plagado de drivers propietarios, tiene ventajas inherentes, ¿cuales?
> Wireless no es el hecho de que el fabricante no quiera liberar el driver, sino que es que la FCC la que se lo impide.
Mentira (o mejor dicho a medias). Si miras el 2.6.14 verás la cantidad de drivers que se han integrado, como el hostap. ¿Me dices que esos están prohibidos por la FCC? ¿que son ilegales? No. Si así lo fuese no habría los siguientes drivers en el 2.6.14: Intel PRO/Wireless 2100/2200, Cisco/Aironet, Hermes, Nortel, Prism 2.5, Atmel at76c50x, Intersil Prism GT/Duette/Indigo..
Lo que quiere impedir la FCC es que las características de las señales sea modificable por software de terceros (libres incluidos), pero eso en todo caso afecta un firmware base del chip de radio, no necesariamente a los drivers del sistema operativo.
Comment by gallir — Thursday 10/11/2005 @ 21:02
A #4, integrar un driver en el núcleo no es ilegal. Lo que es ilegal es manipular el hardware de una tarjeta Wireless (que no deja de ser una radio) para poder acceder fuera de la banda pre-establecida.
Éso es lo que la FCC regula: el uso del hardware y, por consiguiente, el funcionamiento del driver para evitar eso. Si alguno de los drivers de Linux permitieran éso, entonces dicho driver sería ilegal, según la FCC.
Comment by Felipe Alfaro Solana — Thursday 10/11/2005 @ 21:29
“En LWN discuten porqué no son buenos los módulos propietarios”
¿Propietarios de qué?
Comment by yo mismo — Sunday 13/11/2005 @ 12:20
¿de la libertad del usuario?
Comment by gallir — Sunday 13/11/2005 @ 12:35