RSS
Blog
Hardware abierto adecuado para cada vez más proyectos informáticos

Hardware abierto adecuado para cada vez más proyectos informáticos

22 de junio de 2021 - por Andrew Oram

El término "hardware abierto" entró en uso varios años después del software de código abierto. La primera defensa integral y basada en principios del software libre, hasta donde yo sé, fue la Manifiesto GNU de 1983. Por el contrario, el término "hardware abierto" se hizo popular entre los primer lanzamiento de Arduino en 2005y el primero Chip RISC-V llegó incluso después en 2011. Los proyectos etiquetados como “software libre” o “hardware abierto” simplemente aplican nombres para reconocer una tradición de compartir que se remonta al comienzo del software de computadora y también al hardware. Este artículo cubre algunos detalles históricos sobre el hardware abierto y por qué tanta gente se apresura a usarlo.

El artículo es parte de una serie mensual en el blog de LPI para celebrar el aniversarios de varios proyectos clave de código abierto, explorando diferentes ángulos y direcciones del amplio movimiento de código abierto.

Por qué utilizar hardware abierto

Un útil definición de hardware abierto proviene de la Asociación de hardware de código abierto (OSHWA). La definición es paralela a las definiciones de software de código abierto y cultura abierta: libertad para hacer y distribuir trabajos derivados, etc.

An artículo en EET Asia expone algunas razones variadas para el jardín para usar hardware abierto. Las personas que han investigado el software libre y de código abierto reconocerán estas consideraciones:

  • El hardware abierto es estándar, con transparencia en la definición del hardware para que pueda confiar en que todos los productos compatibles funcionarán como espera.
  • Evita el bloqueo del proveedor, que siempre ha conllevado el riesgo de cambios técnicos que no desea, aumentos abruptos de costos o cambios en las licencias, y la amenaza final de perder el acceso a la fuente del hardware por completo.
  • El hardware abierto se proporciona sin gravámenes legales.

Pero, ¿por qué ahora es popular el hardware abierto? Quizás se deba a que los desarrolladores están trasladando cada vez más funciones del software al hardware. El enrutamiento y el cifrado de la red solía ser realizado por el sistema operativo o las utilidades; ahora, a menudo se realizan dentro de un procesador físico. El mismo cambio está sucediendo en máquina de aprendizaje. Esencialmente, las aplicaciones modernas necesitan más computación y tiempos de respuesta más rápidos que las generaciones anteriores de aplicaciones. Y se está desarrollando hardware sofisticado para satisfacer estas necesidades. Los desarrolladores quieren las garantías que ofrece el hardware abierto para poder depositar su confianza en el hardware.

Cada vez más programadores, tanto profesionales como aficionados, también quieren diseñar su propio hardware. Las recompensas de escribir un programa que escupe un resultado en la pantalla palidecen ante la emoción de crear un dispositivo que pueda proteger sus puertas, regar su jardín o volar un dron. Los desarrolladores buscan dispositivos baratos con las garantías que aporta el hardware abierto.

Las computadoras personales fueron precedentes

Aunque nadie usaba el término "hardware abierto" en la década de 1970, esto era esencialmente lo que el famoso Homebrew Computer Club se estaba formando. Sin pensar en secretos comerciales u otra propiedad intelectual, los miembros de ese club intercambiaron planes para todo tipo de hardware. Su idealismo surgió al comienzo de una era en la que las personas podían permitirse el lujo de tener una computadora. No obtendría muchos interesados ​​si compartiera los diagramas de una máquina que cuesta cien mil dólares. Pero si alguien pudiera implementar su diseño por diez dólares, compartir se vuelve significativo. Según Jon "maddog" Hall, un promotor de Linux y el código abierto desde hace mucho tiempo que revisó este artículo, el histórico Altair y ELF COSMAC eran ambos diseños abiertos.

La era de las computadoras personales ofrece otro ejemplo de hardware abierto, uno sorprendente, porque proviene de la empresa más abotonada, IBM. Cuando lanzaron la PC que rápidamente se apoderó de un nuevo mercado para tales computadoras, adoptaron una arquitectura abierta que permitió a los competidores producir clones. A Artículo de PCMag UK sugiere que IBM tomó este camino audaz porque se dieron cuenta de que no podían producir todo lo que los usuarios querían en una PC y que una arquitectura abierta crearía un mercado secundario de periféricos y software. Hoy en día, hablamos de este principio como una "plataforma" sobre la que pueden construir terceros.

El hardware abierto actual comenzó como proyectos de investigación

Es comprensible que los dos principales proyectos contemporáneos destacados en este artículo, el Arduino y el procesador RISC-V, fueran lanzados por investigadores. Los inventores de Alambrado, el predecesor de Arduino, eran diseñadores que buscaban una herramienta para usar en sus proyectos de diseño. RISC-V fue la culminación de años de trabajo de ingenieros eléctricos, primero en UC Berkeley y luego en otras instituciones de investigación, cuyas motivaciones y recompensas no estaban ligadas a la cantidad de unidades que podían vender. UC Berkeley es la fuente de muchas contribuciones importantes a la computación, no restringidas a Berkeley Software Distribution (BSD) que incluyó avances cruciales de Unix y software de red. Como otros buenos proyectos abiertos, Arduino y RISC-V se han extendido mucho más allá de sus creadores originales.

Placas Arduino y DIY

Originalmente popular para proyectos de creación de prototipos, educación y aficionados, el Arduino se ha abierto camino en muchos productos comerciales. El programador / hacker de hardware Brian Jepson, en su revisión de este artículo, destaca una de las fortalezas de Arduino como una ventaja típica que ofrece el hardware abierto: debido a que muchas placas se basan en la especificación de Arduino, los desarrolladores pueden usar el mismo código y bibliotecas en una variedad de factores de forma (tamaños de placa) y tamaños de chip (8 bits frente a 32 bits). Arduino proporciona un entorno flexible y de bajo costo donde los programadores pueden crear rápidamente programas en lenguajes agradables como Python con amplias bibliotecas llenas de funciones útiles y ejecutar los programas en bare metal. El soporte está disponible para otros lenguajes con los siguientes entre los programadores integrados, como Lua y Adelante.

Los productos comerciales a menudo también se basan en otros dos tableros populares y de bajo costo: el Hueso Beagle (que es hardware abierto) y el Frambuesa Pi (cual es no abrir hardware). Las principales razones de la popularidad de estos dos tableros incluyen:

  • Han sido diseñados con una variedad de puertos y dispositivos de comunicación que son útiles para su mercado objetivo.
  • Ofrecen un rico conjunto de aplicaciones y bibliotecas, aprovechando GNU / Linux y todo el software escrito para él o adaptado a él.
  • Los desarrolladores pueden controlar dispositivos a través de lenguajes populares como Python y Lua, así como C ++ de mayor rendimiento.

El concepto de "apertura" debe considerarse en capas. Por ejemplo, una pintura de Rembrandt es de dominio público, pero si desea tomar una foto de esa imagen de la web, debe verificar los derechos del fotógrafo. Del mismo modo, puede ejecutar software propietario en un sistema operativo gratuito y viceversa. En el caso del BeagleBone, la placa en sí es hardware abierto, pero el procesador integrado no lo es.

RISC-V

RISC-V es un importante proyecto de hardware abierto a nivel de chip. Como señala el proyecto, RISC-V es en sí mismo solo un estándar, que se puede utilizar tanto para implementaciones propietarias como abiertas. Karim Yaghmour, un desarrollador de software de código abierto y sistemas integrados que ha pasado una década investigando hardware abierto y RISC-V, me dijo que algunos de los procesadores abiertos más populares basados ​​en RISC-V son los Plataforma PULP de Die ETH Zürich, Chip de cohete, un chip del equipo de UC Berkeley que lanzó originalmente el diseño RISC-V, picorv32 por Claire Wolf, autora de la herramienta de síntesis Yosys RTL, y VexRiscv por Charles Papon, autor del lenguaje de diseño de hardware SpinalHDL.

La idea de una computadora con conjunto de instrucciones reducido (RISC) se remonta a la década de 1980. Era atractivo porque los procesadores comunes de la época competían por la participación de mercado al agregar instrucciones cada vez más complejas, lo que finalmente reducía el rendimiento y aumentaba los costos. RISC se inventó como un rechazo audaz de esta tendencia. RISC movió más trabajo al compilador y mantuvo el conjunto de instrucciones lo más simple posible. La teoría validó el enfoque RISC: significaba chips más pequeños y más rápidos que requerían menos energía y eran más fáciles de probar. Sin embargo, pasaron décadas mientras varios diseños luchaban por establecerse.

Uno de los primeros proveedores de RISC fue MIPS, que proporcionó chips a Silicon Graphics, una empresa que ardió brevemente antes de colapsar. Silicon Graphics era lo suficientemente rico como para construir un enorme campus de tres edificios en el corazón de Silicon Valley, ahora Googleplex. En varias ocasiones, los chips Alpha de Digital Equipment, SPARC de Sun Microsystems y ahora los chips POWER de IBM han desempeñado un papel importante en la industria informática, incluidos los centros de datos de su época. El diseño del SPARC finalmente fue hecho abierto.

Aunque los primeros sistemas RISC solo tuvieron éxito en un nicho, sus conceptos gradualmente se convirtieron en la corriente principal. Muchas innovaciones de los primeros diseñadores de RISC se abrieron paso en chips complejos como Intel.

Alpha de Digital jugó un papel importante en la evolución de Linux, como explica maddog. Trabajaba para Digital cuando desarrollaron el chip Alpha e instó a Linus Torvalds a portar Linux al chip, lo que requería cambios profundos en el código para que pudiera admitir tanto la arquitectura Intel original de 32 bits para la que Torvalds lo escribió como el Alfa de 64 bits. Con el apoyo de Digital y Maddog, una vez que Torvalds generalizó el diseño del kernel para admitir ambos chips, la migración a otras arquitecturas se volvió mucho más fácil.

La mayoría de los dispositivos móviles ejecutan un chip RISC de ARM, lo que lo convierte en la arquitectura de procesador más común del mundo. RISC también comenzando a abrirse camino en las computadoras portátiles y los centros de datos.

Y ahora el estándar RISC-V. El diseño y el primer chip basado en él fueron lanzado en 2011, Aunque el celebración del décimo aniversario contabilizado hasta el lanzamiento del proyecto en 2010.

Otros diseños de RISC van y vienen, pero el diseño de RISC-V llegó para quedarse. Se ha vuelto particularmente importante en la India, reuniendo tanto financiacion gubernamental y adopción significativa tanto en la investigación como en la industria. Los proponentes esperan que RISC-V lleve el concepto RISC a grandes alturas, asumiendo el control de entornos informáticos que van desde Internet de las cosas hasta centros de datos.

La BeagleV reúne los dos aspectos principales de este artículo: es una placa de hardware abierta basada en un chip RISC-V de SiFive.

Además de la especificación "base" abierta, el proyecto RISC-V tiene un mecanismo para definir extensiones para cosas como manipulación de bits e instrucción única, procesamiento paralelo de datos múltiples (SIMD), para que los desarrolladores puedan trabajar por separado en proyectos que harán que el estándar abierto sea bueno para nuevas necesidades y oportunidades.

Fabricación abierta y herramientas

Así como los desarrolladores deberían poder confiar en el compilador y las bibliotecas al crear sus programas, a los diseñadores de chips les gustaría confiar en sus fabricantes. En software, los compiladores y bibliotecas de código abierto brindan la confianza. Según maddog, el proceso de fabricación puede volverse más transparente abriendo el Process Design Kit (PDK) utilizado por el fabricante. Google dio un paso hacia el PDK abierto, que pidió a su proveedor de chips, SkyWater, que publicar un PDK abierto.

Se obtienen varios beneficios de los PDK abiertos:

  • Hacen que sea difícil para un fabricante introducir un error o una puerta trasera maliciosa. El diseñador de chips puede comparar su diseño con la hoja producida por el fabricante para demostrar lo que están haciendo y verificar que coincidan.
  • Los usuarios que no tienen suministros (consulte la siguiente sección para ver un ejemplo) pueden aumentar más fácilmente la fabricación a nivel local.
  • Las nuevas instalaciones pueden ponerse al día mucho más rápido aprendiendo de los PDK de fabricantes avanzados.

Y con un escasez mundial actual de chips de computadora, se agradecería cualquier nueva capacidad de fabricación.

Las herramientas para producir máscaras para darles a los fabricantes para la producción de chips también deben evolucionar, según Yaghmour. Citó el basado en SkyWater OpenLane como un paso hacia las herramientas de código abierto. Yaghmour espera una mayor innovación en el diseño de chips que las herramientas de código abierto podrían facilitar. La velocidad del desarrollo de software se ha acelerado a lo largo de las décadas, ya que ya no tiene que enviar una baraja de tarjetas perforadas y esperar hasta el día siguiente para ver los resultados; puede compilar y ejecutar un programa en minutos. Pero llevar un chip desde el diseño hasta la fabricación todavía lleva años, y las herramientas de código abierto pueden reducir en gran medida los ciclos y ayudar a optimizar los diseños.

Algunos proyectos de hardware abierto para mantener en su radar

Un hacker cubano de hardware abierto llamado Pavel Milanes (con un segundo Sitio de GitHub para proyectos) ha estado creando soluciones de radio y herramientas de radioaficionado en la plataforma Arduino, que incluyen:

Milanes, en un intercambio de correo electrónico para este artículo, me dijo que los Arduinos y los escudos y componentes relacionados no se pueden comprar fácilmente en Cuba, y que los piratas informáticos solo pueden obtenerlos a través de un mercado negro de alto precio o mediante compras extranjeras con métodos de envío inciertos. Además, no tenía acceso a las radios Yaesu, por lo que su código se basó completamente en las hojas de datos de los fabricantes, pero fue validado por otros radioaficionados que poseen esas radios.

Ahora Milanes es uno de los desarrolladores del Proyecto chirp, un sistema de software unificado para controlar y programar muchas radios de diferentes proveedores con una sola aplicación.

Más tipos de hardware abierto

Un área donde el hardware abierto ha sido popular durante mucho tiempo es impresoras 3D. Algunas impresoras 3D pueden incluso imprimir otras impresoras 3D, acercando la Singularidad a su realización. Y si desea hardware abierto real, puede imprimir en 3D todo tipo de herramientas, como martillos, extensiones de abrazaderay artículos más peligrosos.

La Asociación de Hardware de Código Abierto certifica proyectos abiertos y apoya los esfuerzos hacia el hardware abierto. También hay un Fundación FPGA de código abierto Llevando el movimiento de hardware abierto a esta importante faceta del diseño de hardware.

Así, el hardware abierto ha hecho el viaje de tantas buenas ideas: primero una práctica sin nombre, luego un ideal marcado por implementaciones dispersas, y ahora una organización establecida con certificaciones. Al igual que el software, el hardware se ha convertido en un entorno complejo donde las ofertas patentadas se superponen con el código abierto y se benefician de él.
 

Leer publicación anterior | Leer la siguiente publicación

Sobre Andrew Oram:

Andrew Oram

Andy es escritor y editor en el campo de la informática. Sus proyectos editoriales en O'Reilly Media iban desde una guía legal que cubría la propiedad intelectual hasta una novela gráfica sobre hackers adolescentes. Andy también escribe a menudo sobre tecnologías de la información para la salud, sobre cuestiones de política relacionadas con Internet y sobre tendencias que afectan la innovación técnica y sus efectos en la sociedad. Las publicaciones impresas donde ha aparecido su trabajo incluyen The Economist, Communications of the ACM, Copyright World, Journal of Information Technology & Politics, Vanguardia Dossier e Internet Law and Business. Las conferencias en las que ha presentado charlas incluyen la Convención de Código Abierto de O'Reilly, FISL (Brasil), FOSDEM (Bruselas), DebConf y LibrePlanet. Andy participa en la organización de políticas de la Association for Computing Machinery, USTPC.