HardwareTutoriales

Open Hardware: todo lo que necesitas saber

El Open Hardware es una filosofía que sigue la misma dinámica que el código abierto en el software. Es decir, permite estudiar, copiar, crear proyectos, o derivados sin tener que pagar regalías en la mayor parte de las ocasiones o con más libertades que el hardware propietario. En este artículo podrás conocer más a fondo esta filosofía abierta.

¿Qué es el Open Hardware?

Arduino Open Hardware

«Hardware abierto» o «hardware de código abierto», u «Open Hardware» (algunos también lo denominan hardware libre, pero hay que diferenciar entre libre y abierto, puesto que no es lo mismo, como se verá en el apartado de las licencias), como lo desees llamar, se refiere al diseño de un objeto físico de electrónica que se licencian de tal manera que dicho objeto puede ser estudiado, modificado, creado y distribuido por cualquier persona. Es decir, igual que el código abierto en el software, pero aplicado al hardware.

El «hardware abierto» es un conjunto de principios de diseño y prácticas legales, no un tipo específico de hardware. Por lo tanto, el término puede referirse a cualquier tipo de objetos físicos, como vehículos, robots, electrónica, etc., aunque en este artículo nos importa solo el término aplicado a la tecnología.

Al igual que el software de código abierto, el hardware también tiene su propio «código fuente», aunque en este caso son esquemas, planos, diseños lógicos, dibujos, especificaciones, o archivos de diseño asistido por computadora (CAD), etc. Pero, al igual que en el software, está disponible para que cualquiera lo modifique o mejore bajo licencias abiertas de varios tipos. Los usuarios con acceso a las herramientas que pueden leer y manipular estos archivos fuente pueden actualizar y mejorar el código que subyace en el dispositivo físico. Pueden agregar funciones o corregir errores en el software. Incluso pueden modificar el diseño físico del propio objeto y, si lo desean, proceder a compartir dichas modificaciones.

Las regalías o royalties son pagos por usar la propiedad intelectual o patentes de proyectos propietarios. Los proyectos open-source suelen estar libres de estas regalías, pero no todos son gratuitos. Además, algunas cláusulas pueden implicar ciertas restricciones del uso de los logos, de marcas registradas, etc.

Por otro lado, la filosofía de hardware abierto también implica que el código fuente del hardware abierto sea de fácil acceso, y sus componentes deben ser preferiblemente fáciles de obtener para cualquier persona, aunque también existen dispositivos muy avanzados. Esencialmente, el hardware abierto elimina los obstáculos comunes para el diseño y la fabricación de bienes físicos; proporciona a tantas personas como sea posible la capacidad de construir, remezclar y compartir su conocimiento sobre el diseño y la función del hardware.

Las licencias de hardware de código abierto generalmente permiten a los destinatarios de los diseños y la documentación estudiarlos, redistribuirlos y modificarlos, y luego distribuir cualquier modificación. Además, las licencias abiertas de hardware no impiden que alguien distribuir su proyecto de forma totalmente gratuita ni tampoco cobrar por ello.

Al igual que el software, los diseños e invenciones de hardware están sujetos a derechos de autor y leyes de patentes. Y al igual que el software de código abierto, el hardware de código abierto utiliza estas leyes de propiedad intelectual de manera creativa para hacer que los diseños de hardware sean de acceso público. Debido a su similitud con los proyectos de software de código abierto, muchos proyectos de hardware abierto simplemente utilizan las licencias de software de código abierto y gratuito existentes al licenciar sus obras. Otros usan las licencias Creative Commons By Attribution, que se centran más en las características de las obras de arte, en contraposición al software. Tanto la ley de derechos de autor (en el caso del código fuente y la documentación de diseño) como la ley de patentes (en el caso de los procesos de diseño y las tecnologías de materiales) se aplican al hardware abierto. La ley de marcas registradas también es pertinente para los nombres de marcas y logotipos de hardware abierto.

Diferencias con el hardware propietario

Todo el hardware abierto debe ir acompañado de documentación, incluidos los archivos de diseño y el código fuente. Además, la licencia que rige la reproducción de hardware abierto debe permitir el estudio, copia, modificación y distribución de esos archivos de diseño de manera que otros puedan obtenerlos fácilmente. Esto hace posible, e incluso fomenta, el estudio, la resolución de problemas, la modificación y la mejora del hardware abierto.

El software propietario y hardware propietaro es aquel que es propiedad de la empresa o desarrollador que lo ha creado y no permite su libre distribución, no aporta ciertos detalles que están protegidos bajo patentes, y no permite crear derivados o modificaciones. En algunos países, según las leyes, incluso podrían impedir la reparación.

Si una pieza de hardware abierto incorpora software o firmware de cualquier tipo necesario para funcionar, entonces ese software generalmente debe publicarse bajo una licencia de código abierto aprobada. Alternativamente, las interfaces del hardware abierto deben documentarse de una manera que haga que escribir software de código abierto para el hardware sea lo más fácil posible o usar estándares abiertos.

Esencialmente, el hardware abierto consiste en hacer que el objeto sea lo más fácil posible de analizar, derivar y reproducir. El hardware cerrado utiliza la ofuscación (por lo que habría que usar técnicas de ingeniería inversa para aprender o analizar) y la ley de patentes para hacer que la recreación de los objetos sea lo más difícil posible, por lo general para garantizar el bloqueo del proveedor en una línea de suministro que no involucre a aficionados y fabricantes u otros competidores.

Diferencias con el software abierto

Debido a que los proyectos de hardware abierto generalmente resultan en la producción o creación de prototipos de un objeto físico, casi siempre implican una inversión monetaria en materiales físicos. Si bien los proyectos de software abierto implican costos de mano de obra e inversión monetaria, el software generalmente se puede distribuir con gastos generales más bajos y, a veces, se ofrece «gratis como en una cerveza» (o «gratis»). Además de ofrecer documentación y archivos fuente al público sin costo alguno, no es económicamente factible que los componentes físicos de la mayoría de los proyectos de hardware abierto se ofrezcan de forma gratuita.

Esto no significa que el movimiento de hardware abierto no esté enfocado en minimizar el costo para los desarrolladores. De hecho, iniciativas como el Open Source Hardware Central Bank ayudan a asegurar una financiación sostenible para proyectos de hardware abierto. Herramientas como KiCad también ayudan a desarrollar esquemas para estos proyectos.

Licencias

licencias

He comentado que el open hardware se puede licenciar bajo diversas licencias que son diferentes a las del hardware propietario. Pero estas se dividen, como en el software, en:

Permisisvas o blandas

Las licencias permisisvas o blandas son aquellas licencias que permiten mayor libertad, ya que no obligan a liberar las obras derivadas, es decir, a licenciarlas bajo la misma licencia, sino que pueden licenciarse bajo cualquier licencia, incluso la propietaria. Ejemplos de este tipo de licencias permisivas las tenemos en la CERN Open Hardware License, MIT License, BSD License, etc.

Restrictivas

Las licencias restrictivas o duras, también denominadas a veces robustas, son licencias que fuerzan en sus cláusulas a que las obras derivadas o modificaciones tengan que adquirir ciertos términos de igualdad o similitud con la obra original, y esto pasa por licencias que no sean propietarias o deriven en que la obra finalmente sea ofuscada.

Dentro de estas licencias se puede distinguir entre dos tipos:

  • Robustas fuertes: incluyen una cláusula que obliga a que las obras modificadas o derivadas se licnecien bajo mos mismo términos que la original, es decir, bajo la misma licencia. Por ejemplo, la GNU GPL.
  • Robustas débiles: es otro caso diferente, donde las cláusulas permiten a las modificaciones licenciarse bajo la misma licencia que la original, mientras que las obras derivadas, que no sean simples modificaciones, se pueden licenciar bajo otros términos y condiciones diferentes. Algunos ejemplos de este tipo de licencias GNU LGPL.

También existen otros tipos de licencias, como las éticas. Se parecen bastante a las de código abierto, tanto a las permisivas y restrictivas, pero que no permiten el uso para ciertos fines, como los que atentan contra los derechos humanos.

Ejemplos

Algunos ejemplos de licencias de código abierto aplicadas al hardware pueden ser: TAPR Open Hardware License, Balloon Open Hardware License, LGPL, BSD, Hardware Design Public License, CERN Open Hardware License, etc.

Ejemplos de Open Hardware

Arduino Open Hardware

Algunos ejemplos de open hardware de distintos niveles que seguro que conoces pueden ser los proyectos:

  • ISA RISC-V: es una ISA de código abierto, por lo que se pueden crear aceleradores o procesadores basados en ella sin pagar regalías. En cambio, no pagar esos royalties no significa que los proyectos derivados sean también de código abierto, sino que pueden ser también propietarios o cerrados. Y es que esta ISA tiene una licencia permisiva. Por ejemplo, los chips SiFive basados en RISC-V son propietarios, aunque también hay CPUs abiertas, tanto en formato RTL, como en HDL, e incluso en formato físico. MIPS también es otra ISA que se ha abierto recientemente, ya que hasta no hace mucho era porpietaria. Lo mismo que OpenPOWER, aunque no es exactamente igual que las condiciones de la ISA RISC-V.
  • Arduino: la placa de desarrollo electrónico Arduino también es de código abierto, pero solo en parte, ya que algunos de sus componentes no lo son, como su microcontrolador. Es decir, podrías estudiar los esquemas, y la documentación de la placa Arduino para crear un derivado o tu propia placa idéntica a ésta. Se ofrece toda esa información, pero el procesador no está bajo las mismas condiciones que el resto de la placa, tampoco la interfaz, que es un puerto USB, que aunque es un estándar abierto, no se puede denominar open hardware.
  • Otros: existen otros muchos proyectos de memorias RAM, procesadores, GPUs, y un largo etc, que se puede descargar en formato HDL desde webs como librecores.org. Los encontrarás en lenguajes de programación como VHDL, Verilog, Chisel, etc. También en GitHub y GitLab existen algunos proyectos de CPUs, GPUs, SoCs, open hardware.

Ahora seguro que te ha quedado más claro la diferencia entre open hardware y propietario. ¿Te gusta esta filosofía? ¿Qué proyectos abrirías bajo estas licencias? No olvides comentar…

Isaac Romero Torres

Más de una década trabajando en el ámbito de la investigación sobre arquitecturas y microarquitecturas de CPUs, de la electrónica, la lógica digital, de los sistemas operativos Unix (con los que trabajé como asesor para algunas empresas), programación de MCUs, PLCs, hacking, etc.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en info@profesionalreview.com
Botón volver arriba