Ingeniería inversa en Acuática


La ingeniería inversa es, según la Wikipedia, el proceso mediante el cual se averigua cómo funciona algo para poderlo reconstruir bajo circunstancias diferentes. En el caso de la informática, la ingeniería inversa suele referirse a los programas que controlan equipos, circuitos, tarjetas o procesadores, y también al proceso de desensamblar aplicaciones compiladas para averiguar cómo están hechas y poderlas adaptar a otra arquitectura, otro sistema operativo o para que funcionen con dispositivos distintos de aquellos para los que inicialmente fueron diseñadas. Este tipo de ingeniería inversa es legítimo siempre que la aplicación que se desensambla o el circuito que se quiere controlar se haya adquirido de manera legal y lo permita la licencia que lo acompaña.

Como ejemplos de ingeniería inversa para equipos, tarjetas, procesadores o circuitería tenemos los controladores de «chipsets» que han sido adaptados a otros sistemas operativos. Abundan los ejemplos de adaptaciones de estos controladores en sistemas que se ejecutan sobre núcleo Linux, aunque también los hay en sistemas que se ejecutan sobre otros núcleos.

Como ejemplos de ingeniería inversa para aplicaciones existen los programas de emulación. Normalmente suelen crearse descifrando el modo interno de funcionamiento de aquello que pretenden emular, lo que supone desensamblarlas y descifrar el código desensamblado para modificarlo convenientemente de modo que funcione sobre el sistema operativo o el procesador, placa o tarjeta sobre que se pretenda. Esto es así porque generalmente se recurre a la ingeniería inversa cuando el programador de la aplicación original no facilita información sobre el código fuente, o el fabricante del circuito o procesador no revela información sobre las especificaciones técnicas de su producto.

¿Qué tiene que ver Acuática con todo esto?

En realidad el proceso de producción no tiene nada que ver, en ninguna de sus fases. En la producción de Acuática todo se hace  siempre con aplicaciones de fuente abierta, con lo que la ingeniería inversa en las aplicaciones se vuelve innecesaria. Pero en algunas pruebas fuera del proceso estricto de producción se comprueba que los resultados sean visibles desde otros sistemas operativos. Y aquí es donde Wine entra en escena. Wine (publicado bajo la licencia GNU/GPL) es el nombre del programa que hace de puente entre la API de otro sistema operativo con Debian. Su nombre proviene de un acrónimo recursivo: Wine Is Not an Emulator, aunque debido al uso que se le da, algunas personas de manera extraoficial cambian el origen del acrónimo a Win Emulator.

¿Afecta todo esto en algún punto a la licencia de Acuática?

No. Acuática llevará licencia Creative Commons, que permite utilizar el producto o cualquiera de sus partes, alterarlo bajo ciertas premisas, redistribuirlo o incluso venderlo siempre y cuando se mencione al autor en los créditos principales.  La alteración derivativa del contenido principal se permite en tanto que el autor original no responde de los cambios efectuados, aunque debe aparecer en el producto alterado como autor del material original.

Siempre se permite el uso de cualquier aplicación mientras
se haya accedido a ella de forma legítima y se respete al pie de la letra su licencia. No importa que en un proyecto se utilicen aplicaciones o ficheros que tengan distintas licencias entre sí siempre y cuando no entren en conflicto o no se incumpla ninguna de ellas. En concreto, en Acuática se utilizan aplicaciones con licencia GNU/GPL y algunos modelos 3D con licencia de Creative Commons.



© 2006 Juan Javier Martínez sobre todos los contenidos.
Inicio