Los diseños del hardware deberían ser libres.

Segunda parte del artículo de Richard Stallman sobre la necesidad de desarrollar diseños libres para el hardware.

Imagen: Biser Todorov para Wikimedia

 

Hace unos días pudiste leer en mi blog la traducción realizada por el amigo Jcsl sobre el artículo de Richard Stallman para la web Wired, que se preguntaba sobre los motivos por los que necesitamos hardware libre. Puedes leerlo en este enlace:

Hoy yo mismo he traducido el segundo artículo de Stallman que define la manera de crear y licenciar esos diseños libres.

El artículo original en inglés lo puedes leer en el siguiente enlace:

El artículo original está escrito por Richard Stallman con la siguiente licencia: Copyright 2015 Richard Stallman. Released under Creative Commons Attribution No Derivatives 3.0 license. Y la traducción pertenece es mía licenciada bajo los mismo derechos. Empezamos…

Debemos diseñar hardware libre. Pero la pregunta sigue siendo: ¿cómo?

Primero, debemos entender porque no podemos realizar hardware libre de la misma manera que lo hacemos con el software libre. El hardware y el software son fundamentalmente diferentes. Un programa, incluso en forma de un ejecutable compilado, es una colección de datos que son interpretados como una instrucción por un ordenador. Como cualquier otro trabajo digital, puede ser copiado y cambiado usando un ordenador. Una copia de un programa no tiene una forma física inherente ni una entidad física.

En contraste con esto, el hardware es una estructura física y su físico es crucial. Mientras que el diseño de hardware puede ser representado como datos, en algunos casos incluso como un programa, el diseño no es propiamente el hardware. Un diseño para una CPU no puede ejecutar un programa. No llegarás muy lejos intentando escribir utilizando un diseño para un teclado, o mostrar píxeles en un diseño para una pantalla.

Además, mientras que puedes utilizar un ordenador para modificar o copiar el diseño del hardware, un ordenador no puede convertir el diseño en la estructura física que describe. Eso necesita de un equipo de fabricación.

Niveles de diseño.

El software tiene niveles de implementación; un paquete de software debe incluir librerías, comandos, y scripts por ejemplo. Pero estos niveles no suponen una diferencia significativa para la libertad del software porque es posible realizar todos los niveles de manera libre.

Imagen: JackStone para Wikimedia

El diseño de los componentes de un programa es el mismo tipo de trabajo que el diseño del código que las combina; Igualmente, la compilación de los componentes desde la fuente es el mismo tipo de operación que la compilación del programa en conjunto desde la fuente. Para hacer que todo sea libre simplemente se requiere continuar el trabajo hasta que hayamos hecho todo el trabajo.

Por lo tanto, insistimos en que un programa sea libre en todos sus niveles. Para que un programa sea calificado como libre, cada línea del código fuente que lo compone debe ser libre, para poder recmpilar el programa con sólo el código fuente.

Los objetos físicos, en contraste con esto, son construidos a menudo con componentes que son diseñados y construidos en diferentes tipos de fábricas. Por ejemplo, un ordenador está hecho con chips, pero diseñar (o fabricar) esos chips es muy distinto de diseñar o fabricar el ordenar sin esos chips.

Por lo tanto, tenemos que distinguir niveles en el diseño de un producto digital (y tal vez algunos otros tipos de productos). El circuito que conecta esos chips es un nivel; El diseño de cada chip es otro nivel. En una FPGA, la interconexión de las células primitivas es de un nivel, mientras que las propias células primitivas son otro nivel. En el futuro ideal querremos que el diseño sea libre en todos los niveles. En las circunstancias actuales, hacer que un solo nivel sea libre ya es un avance significativo.

Por lo tanto, si un diseño en uno de sus niveles combina partes libre y no libres, por ejempo un circuito HDL libre que incorpore “nucleos blandos” privativos, debemos concluir que el diseño en su conjunto es no libre en ese nivel. Lo mismo sucede con los “asistentes” o “macros”, si especifican parte de las interconexiones de chips o partes de chips conectadas de forma programable. Las partes libres pueden ser un paso hacia logro futuro de un diseño libre, pero conseguir esa meta requiere reemplazar las partes no libres. No pueden ser admisibles en un mundo libre.

Licencias y derechos para los diseños de hardware libres.

Realizas un diseño de hardware libre lanzándolo bajo una licencia libre. Recomendamos utilizar la GNU General Public License, versión 3 o posterior. Hemos diseñado la licencia GPL versión 3 con vistas a usos como esos.

Copyleft en circuitos, y objetos no decorativos, no van tan lejos como podría suponerse. Los derechos en estos diseños sólo se aplica en la manera en que ese diseño es dibujado o escrito. El Copyleft es una manera de usar la ley de derechos, así que su efecto sólo alcanza hasta donde llega la ley de derechos.

Imagen: Altzone para Wikimedia

Por ejemplo, un circuito, como una topología, no puede ser registrada (y por tanto no puede liberarse bajo copyleft) Las definiciones de los circuitos escritas en HDL pueden ser registradas por derechos de autor ( y por tanto también pueden licenciarse bajo copyleft), pero la licencia copyleft cubre unicamente los detallse de expresión de el código HDL, no la tipología del el circuito que este genera.

Del mismo modo, un dibujo de un esquema de un circuito puede registrarse bajo copyright, así que también puede licenciarse bajo copyleft, pero esto sólo cubre el dibujo o esquema, no la tipología del circuito. Cualquiera puede legalmente dibujar la misma tipología del circuito de un punto de vista diferente, o escribir una defición diferente de HDL que produzca el mismo circuito.

El copyright no cubre el circuito físico, así que cuando la gente construya réplicas de el circuito, la licencia del diseño no tendrá efecto legal sobre lo que hacen con los dispositivos que ellos han construido.

Para dibujos de objetos, y modelos de impresoras 3D, el copyright no cubre hacer un dibujo diferente de la misma forma del objeto puramente funcional. Tampoco cubre la funcionalidad del objeto físico hecho a partir del dibujo. En lo que concierne al copyright, cualquiera es libre de hacerlos y usarlos (y esa es una necesidad que realmente necesitamos). En los USA, el copyright no cubre los aspectos funcionales que el diseño describe, pero cubre aspectos decorativos. Cuando un objeto tiene aspectos decorativos y aspectos funcionales, entras en un terreno peligroso (*).

Todo esto puede que ocurra también en tu país, o puede que no. Antes de producir objetos comercialmente o en cantidad, deberías consultar con un abogado local. El copyright no es el único problema que te concierne. También puedes ser atacado usando las patentes, muy probablemente en poder de entidades que no tienen nada que ver con realizar el diseño que está utilizando, y puede haber otras cuestiones legales.

Ten en mente que las leyes de copyright y leyes de patentes son totalmente diferentes. Es un error suponer que tienen ambas algo en común. Esto es por lo que el término “propiedad intelectual” es una pura confusión y debería ser totalmente rechazado.

* Un artículo de Public Knowledge da una información valiosa sobre esta complejidad en los USA, aunque utiliza el término confuso de “propiedad intelectual” y el término “protección” de manera sesgada.

Promocionando el hardware libre a través de los repositorios.

La manera más efectiva de impulsar la publicación de hardware diseñado para ser libre es a través de reglas en los repositorios donde estos han sido publicados. Los operadores de repositorios deben establecer la libertas de la gente que utilizará los diseños por encima de las preferencias de la gente que realiza esos diseños. Esto significa que se requieren diseños de objetos útiles que sean libres, como una condición para publicarlos.

Para objetos decorativos, esos argumentos no se aplican. Aunque, un repositorio que maneje ambos, modelos de objetos decorativos y funcionales debería tener una apropiada política de licencias para cada categoría. (Para diseños digitales, yo sugiero que el repositorio insista en la licencia GNU GPL v3 o posterior. Para diseños 3-D funcionales, el repositorio debería pedir al autor del diseño que elija entre una de estas cuatro licencias: GNU GPL v3 o posterior, CC-SA, CC-BY o CC-0. Para diseños decorativos, debería permitir cualquiera de las licencias CC, o GNU GPL v3 o posterior).

El repositorio debería requerir que todos los diseños sean publicados con el código fuente, y el código fuente en formatos secretos utilizable sólo por programas de diseño privativos no es realmente adecuado. Para un modelo 3D, el formato STL no es el formato preferido para cambios de el diseño y aunque no es el código fuente, el repositorio no debería aceptarlo, excepto quizás si está acompañado del código fuente real.

No hay razón para elegir un solo formato para el código fuente de los diseños de hardware, pero los formatos de fuentes que no pueden ser utilizados con software libre deberían ser aceptados con reticencias.

También tenemos licencias adecuadas para hacer diseños de hardware libre. Lo que necesitamos es reconocer como comunidad que esto es lo que deberíamos hacer e insistir en diseños libres cuando fabriquemos objetos nosotros mismos.

——————————————-

2 pensamientos en “Los diseños del hardware deberían ser libres.

  1. Me ha resultado realmente confuso.
    Un detalle que no me ha quedado tampoco claro es la diferencia que puede haber entre crear un prototipo, aprovechando las licencias libres, y crear cientos de unidades para la venta, aprovechando el trabajo de los creadores, y sin aportar ningún valor.

  2. Pingback: Los diseños del hardware deberían...

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s