Download El rol del Software y Hardware de Código Abierto en la Revolución

Document related concepts
no text concepts found
Transcript
 El rol del Software y Hardware de
Código Abierto en la Revolución de
la Impresión 3D
Marco Zennaro
Science Dissemination Unit,The Abdus Salam International Centre
for Theoretical Physics, Trieste, Italy
[email protected]
Todavía no sabemos si las impresoras 3D de escritorio son
las precursoras de la “Tercera revolución industrial” como
sugieren Jeremy Rifkin1 and Chris Anderson2. Es sin lugar a
dudas una de las tendencias tecnológicas más interesantes del
presente, y a continuación queremos subrayar el papel que el
software y el hardware abiertos ha jugado en su éxito.
Código abierto
Código abierto (también fuente abierta) es un
enfoque de diseño, desarrollo y distribución,
que ofrece acceso práctico a la fuente de un
producto. La expresión Código Abierto se hizo popular con el
surgimiento de Internet que dio acceso a diversos modelos de
producción, vías de comunicación y comunidades interactivas.
Mientras que esta expresión se refería en un principio sólo al
código fuente de software, ahora se aplica en otras áreas. El
punto de arranque fundamental de un proyecto de código
abierto es la comunidad.
Software de código abierto
El software de código abierto (OSS, por la sigla en inglés
de Open Source Software)3 puede definirse como el software de
computación para el que se pone a disposición su código
fuente en forma humanamente legible bajo una licencia con
algunas restricciones, (o de dominio público) y que cumpla con
la definición de Código Abierto4. Esto le permite al usuario
usar, cambiar, mejorar el software y distribuirlo en su forma
original o modificada. A menudo se desarrolla de manera
pública y colaborativa. El software de código abierto es el
ejemplo más importante de desarrollo del código abierto y a
menudo se lo compara con contenido generado por el usuario
(User Generated Content).
Licencias
Las licencias de Código Abierto definen los privilegios y
restricciones que un usuario debe seguir para poder usar,
modificar y redistribuir un software/hardware de código abierto.
La Licencia Pública GNU, (GNU General Public License,
GPL)5 es la licencia de Código Abierto más extendida. De todos
los software a los que ha sido aplicada, el más conocido es el
kernel de Linux. De hecho, la GPL se ha aplicado a la mayoría
2 de los módulos de software incluidos en las distribuciones de
Linux más conocidas. Su gran atractivo dentro de la comunidad
de Código Abierto se origina en el hecho de que entra en la
categoría de licencias de Código Abierto que obligan a las
partes que quieren redistribuir ese software en su forma original
o modificada (derivada) a hacerlo bajo los mismo términos de
la licencia bajo los cuales ese software se recibió. Es decir,
habiendo recibido los derechos de usar, modificar y redistribuir
el software bajo la licencia GPL, esta licencia exige a los
usuarios que extiendan los mismos privilegios bajo las mismas
condiciones a otras personas que reciban ese software.
Una licencia Creative Commons (CC)6 se usa cuando un/a
autor/a quiere darle a la gente el derecho de compartir, usar e
incluso completar un trabajo que aquél/aquélla haya creado.
Creative Commons le da flexibilidad a los autores. Estos
podrían, por ejemplo, permitir solamente usos no comerciales
de su trabajo; y también protege a la gente que usa o
redistribuye la obra de otros sin las preocupaciones por la
infracción de derechos de autor, siempre y cuando se cumpla
con los requisitos que el autor original haya especificado en la
licencia. Hay otros tipos de licencia CC. Estas van a diferir en
cuanto a las variadas combinaciones que determinan las
condiciones de distribución.
Software abierto e impresión 3D: el ejemplo
de ReplicatorG
El ReplicatorG7 es un sencillo programa de código abierto
para impresión 3D. Es el software que usan la MakerBot
Replicator, Thing-O-Matic, CupCake CNC, la máquina RepRap,
o la CNC genérica. Es capaz de procesar archivos de g-code o
STL; es multiplataforma (trabaja en Mac, Windows and Linux);
3 fácil de instalar; se basa en los entornos familiares
Arduino/Processsing. ReplicatorG es usado por miles de
operadores de MakerBot.
La interfaz de ReplicatorG basada en la de Arduino
Gracias a la licencia de Código Abierto, ReplicatorG está
basado en la GUI (Graphical User Interface) de Arduino para
controlar y operar máquinas compatibles con RepRap. Adopta
la versión 2 de GNUGPL que dice así en la introducción:
Cuando hablamos de software libre, hablamos de libertad, no de
precio. Nuestras Licencias Públicas Generales están diseñadas para
garantizar que usted tenga la libertad de distribuir copias de
4 software libre (y de cobrar por el servicio, si lo desea), que usted
reciba código fuente o pueda recibirlo si lo quiere, que pueda
cambiar el software o utilizar trozos del mismo en programas
nuevos abiertos; y que usted sepa que puede hacer todas estas
cosas.
Para proteger sus derechos, necesitamos establecer restricciones
que le impidan a cualquiera negarle a usted estos derechos o le
exija renunciar a ellos. Estas restricciones se traducen en algunas
responsabilidades para usted, si distribuye copias del software o las
modifica.
Por ejemplo, si distribuye copias de un programa determinado, sea
gratuitamente o cobrando, usted debe otorgarles a los receptores
todos los derechos que usted ha obtenido. Usted debe asegurarse
de que ellos también obtengan el código fuente. Y debe mostrarles
estas condiciones de manera tal que conozcan sus derechos.
Hardware abierto
Hardware de Código Abierto (OSH por su sigla en inglés)8
hace referencia a computadores y hardware electrónico
diseñado a la manera del software de código abierto. El
hardware de código abierto forma parte de la cultura de código
abierto que toma sus ideas y las aplica en otros campos
diferentes a los del software.
El término se ha usado principalmente para referirse a la
difusión libre de información sobre el diseño del hardware,
como esquemas, lista de materiales, y datos del diseño del PCB
(Printed Circuit Board), a menudo usando software de código
abierto para controlar el hardware. Además de las licencias de
software que hay, hay otras nuevas que se han propuesto para
manejar los asuntos relacionados con diseños de hardware.
Uno de estos ejemplos es la licencia Balloon9. La licencia dice
5 que cualquiera tiene el derecho de fabricar, vender, y distribuir
tarjetas Balloon sin modificarlas, con cualquier dotación de
dispositivos, a cualquier precio.
Arduino
El ejemplo de hardware abierto más popular es la placa
Arduino10. Arduino es la hija intelectual de un equipo
internacional de cinco ingenieros: Massimo Banzi y Gianluca
Martino de Italia; David Cuartielles de España; y David Mellis y
Tom Igoe de EEUU. Arduino fue desarrollado por el instituto
Interactive Design Institute Ivrea (IDII) de Italia para ayudar a
los estudiantes a construir prototipos de objetos que pudieran
reaccionar a las entradas aplicadas.
El hardware Arduino es completamente de código abierto
(bajo licencia CC) con archivos de diseño y especificaciones
disponibles e igualmente su software de control (bajo licencia
GPL) y documentación (también bajo CC). Lo único que no es
libre en Arduino es su nombre de marca registrada.
Una placa Arduino
6 Una placa Arduino, como la que se muestra en la figura,
consiste en un microcontrolador AVR Atmel de 8-bit con
componentes complementarios que facilitan la programación y
la incorporación a otros circuitos. Un aspecto importante de
Arduino es la manera estándar en que sus conectores están
expuestos, lo que permite a la placa de la CPU conectarse con
una variedad de módulos adicionados e intercambiables
conocidos como escudos. Algunos escudos se comunican con
la placa Arduino directamente por varios pines, pero a otros se
puede acceder individualmente usando un bus serial 12C, lo
que permite apilar los escudos y usarlos en paralelo. Las
Arduinos oficiales han usado la serie de chips megaAVR,
específicamente las ATmega8, ATmega168, ATmega328,
ATmega1280, y ATmega2560. Las compatibles de Arduino han
usado un montón de otros procesadores. La mayoría de las
placas incluyen un regulador lineal de 5 voltios y un oscilador
de cristal de 16 MHz (o un resonador de cerámica, en algunas
variantes), sin embargo algunos diseños como el LilyPAd
funcionan a 8 MHz prescindiendo del regulador de voltaje en
la placa debido a restricciones específicas de factor de forma.
Un microcontrolador Arduino también está pre-programado
con un cargador de arranque (boot loader) que simplifica la
carga de programas a la memoria flash del chip, en
comparación con otros dispositivos que suelen necesitar un
programador externo.
Hardware abierto e impresión 3D
El carácter abierto de Arduino significa que la placa
microcontroladora puede encontrarse en el corazón de muchos
dispositivos de hardware abierto de hoy en día, incluyendo las
impresoras 3D.
7 Hasta ahora, la impresora 3D de escritorio más popular ha
sido un diseño de código abierto basado en la impresora
original RepRap: la MakerBot Replicator. Contrariamente al
proyecto no comercial RepRap, MakerBot (introducida en
enero de 2012) no se enfoca en un objetivo final de autoreplicación. Esta impresora 3D mejorada tiene el doble de la
dotación de construcción, incluye un extrusor dual, lo que
permite trabajar con dos colores, y una electrónica mejorada
que incluye una pantalla de cristal líquido (LCD) y un panel de
control para la interacción directa con el usuario sin necesidad
de una PC. La Replicator se vende sólo pre-ensamblada. En
septiembre de 2012 las Makerbot Industries introdujeron la
Replicator 2.
La versión nueva también aumentó su dotación de
construcción y puede imprimir a 100 micrones por capa. La
opción de extrusor doble se abandonó, pero las mejoras
electrónicas de LCD, y panel de control son similares a las de la
Replicator original. El firmware, el software de la máquina y los
formatos de archivo se cambiaron también en la nueva versión
para adecuarse al tamaño y la precisión adicionales. A
diferencia de modelos anteriores, la Replicator2 puede sólo
imprimir plástico PLA y no incluye la placa caliente de
construcción, el extrusor, o las configuraciones de altas
temperaturas para el plástico ABS. La Replicator2 también se
vende sólo pre-ensamblada. En septiembre de 2012, la
compañía anunció que para la nueva Replicator2 ellos “no
compartirán la forma en que la máquina está diseñada, ni el
GUI”11.
El alejamiento del modelo Open Source Hardware
anterior ha sido criticado por una parte de la comunidad,
incluyendo a su co-fundador y ahora ex-empleado Zachary
Smith. Se ha querido explicar esta decisión como una respuesta
8 a la aparición de un clon casi idéntico de la Replicator que se
llama Tangibot. Sin embargo, Makerbot no es completamente
privativa todavía ya que la Replicator original sigue abierta.
Thingiverse, la popular tienda online y comunidad de
hackers de Makerbot permanece abierta y gratis, a diferencia de
otras tiendas minoristas online de diseños para impresión 3D.
La LulzBot AO-10012, de Aleph Objects, Inc., fue el primer
producto de hardware en recibir la certificación “Respects Your
Freedom”13 de parte de la Free Software Foundation. Este
programa de certificación para productos de hardware fomenta
la creación y venta de hardware que haga todo lo posible para
respetar nuestra libertad y privacidad, y para garantizar el
control sobre nuestros dispositivos. Aleph Objects fue fundada
con la idea de que la gente debería sentirse libre de usar,
mejorar y aprender de las máquinas que usa y de compartir sus
mejoras e innovaciones con comunidades colaborativas. Todas
sus impresoras se envían con los diseños del hardware,
software y documentación, todo bajo licencias libres. Uno
obtiene el paquete completo: código fuente, documentos de
diseño y especificaciones; todo lo necesario para jugar,
arreglar, y mejorar cada detalle de la impresora.
Referencias:
1 Jeremy
Rifkin, The Third Industrial Revolution: How lateral
Power is Transforming Energy, the Economy, and World,
Palgrave Macmillan, 2011
2 Chris
Anderson, Makers: The New Industrial Revolution,
Crown Business, 2012
9 3
http://en.wikipedia.org/wiki/Open_source_software
4 http://www.opensource.org/docs/definition.php
5
http://www.gnu.org/licenses/gpl.html
6 http://creativecommons.org/licenses/
7 http://replicat.org/
8 http://en.wikipedia.org/wiki/Open_source_hardware
9
http://www.balloonboard.org/licence.html
10
http://www.arduino.cc
11
http://www.makerbot.com/blog/2012/09/24/lets-try-that-
again/
12 http://www.lulzbot.com/company
13
http://www.fsf.org/resources/hw/endorsement/respects-your-
freedom
10