Hace un par de semanas que os hablamos de ReactOS, un sistema operativo muy particular -exceptuando su modelo de desarrollo abierto, nada tiene que ver con Linux- que parece haber resurgido en las últimas fechas con nuevos bríos. Para hablar de este clon libre de Windows creado de cero a partir de ingeniería inversa contamos con Víctor Martínez, ReactOS Strategy & Partnership Coordinator, a quien agradecemos su buena disposición respondiendo a todo lo que le preguntamos.
He presentado a ReactOS como «un clon libre de Windows creado de cero a partir de ingeniería inversa». ¿Es acertada esa definición? ¿Cómo le explicarías a alguien que no lo conoce qué es ReactOS?
La definición es totalmente correcta.
A veces el término «ingeniería inversa» asusta a más de uno porque lo asocian a «ingeniería inversa ilegal», pero teniendo en cuenta que MuyLinux tiene un target más especializado, supongo que lo entenderán correctamente. Wine, Samba, Open/LibreOffice por ejemplo, son también productos (o hacen uso) de «ingeniería inversa».
Dependiendo del público objetivo usamos desde la descripción mas técnica: «ReactOS es una reimplementación Open Source y gratuita de la arquitectura NT de Windows»; a la más básica: «ReactOS es un Windows gratuito y libre, donde puedes instalar las aplicaciones y drivers diseñados para (ser compatibles con) Windows»; a la versión «para que lo entienda hasta mi abuela»: «quitas Windows, pones ReactOS y todo debería funcionarte. O ese,al menos, es nuestro objetivo».
Aunque el origen del proyecto se remonta a mucho antes, lo que hoy conocemos como ReactOS ha cumplido este 2014 diez años desde su primera versión. ¿Qué se ha conseguido en este tiempo?
A nivel de código la evolución ha sido notable. En la versión 0.2.0 integramos nuestra primera interfaz gráfica. La versión 0.3.0 no era compatible con Virtualbox o VirtualPC, no disponía de drivers USB, tampoco drivers SATA, ni soporte de audio, tampoco soporte Wireless, ni soporte de red. Actualmente estos problemas ya han sido superados y ReactOS funciona de manera estable sobre Qemu, VBOX, Vmware, Boch, VirtualPC, gracias a la mejora de compatibilidad con el hardware.
Y respecto a software y drivers, aquí podéis ver, de manera simplificada, la evolución en compatibilidad de las últimas versiones. Nos queda mucho por mejorar, pero el salto ha sido importante: de 9.595.514 tests aún fallamos 5.533.
A nivel de relación con otros proyectos Open Source, ReactOS es seguramente el proyecto externo que más contribuye a Wine, ya que al utilizar parte de su código encontramos bugs y enviamos parches periódicamente. Gracias a nuestros partnerships con empresas del sector, tenemos a nuestra disposición herramientas muy potentes de análisis de código estático y dinámico, de los que se benefician directamente los proyectos Open Source que usamos en ReactOS, y son unos cuantos. Posiblemente estos proyectos Open Source no tendrían posibilidad de acceder directamente a dichas herramientas de manera gratuita.
A nivel de Comunidad, cada día son más los que conocen ReactOS, y se está haciendo un importante esfuerzo no solo en ampliarla, sino en hacer llegar la dificultad que supone «clonar» un sistema operativo desde cero tan complejo como es Windows. Gracias a ellos, millones de gracias, por fin tenemos nuestro primer desarrollador contratado a tiempo completo. Español, por cierto.
Pero nosotros no nos fijamos en lo que hemos conseguido, sino en lo que nos queda por conseguir. Tenemos que arreglar esos 5.333 tests, explicar las ventajas que supone usar ReactOS junto con Linux en la Administración pública reduciendo costes de licencias y generando empleo local (ya no hay excusas) y, sobre todo, conseguir apoyos de empresas para acelerar el desarrollo.
Una espinita personal es que Google nos acepte en sus Summer of Code donde año tras año somos rechazados mientras que otros proyectos, con respaldo empresarial y con probablemente menos necesidades, parecen tener «sitio permanente cogido». Tendremos que trabajar más para conseguirlo, o aún mejor, ponerle una vela a San Cirilo.
En vuestra wiki indica que fuisteis aceptados en el Google Summer of Code en 2006 y 2011.
Esos fueron, precisamente, los años que pusimos las velas a San Cirilo. A lo mejor en 2016 nos dan otra oportunidad. Nuestros resultados en ambas ediciones en el GSOC han sido calificados de muy buenos, pero no hemos conseguido lo que han conseguido otros proyectos, que además tienen mucho más apoyo financiero: tener sitio permanente año tras año. Tendremos que seguir trabajando para conseguirlo.
¿Es factible la utilización hoy en día de ReactOS como sistema operativo principal y no solo como herramienta puntual?
Realmente depende del hardware y del software que quiera correr el usuario.
No es lo mismo la necesidad de un usuario «de casa», que se pone a instalar «de todo», a un usuario «específico», que solo está interesado en ciertas aplicaciones y en cierto hardware. En este grupo de usuarios podemos encontrar desde usuarios Linux obligados a utilizar una aplicación de Windows en máquina virtual, usuarios de Windows pro-Open Source que no quieren cambiar de sistema operativo y se adaptan a las aplicaciones que mejor corren en ReactOS, administraciones públicas que usan Linux pero utilizan maquinas virtuales con Windows (por lo que siguen pagando licencias a Microsoft) o incluso empresas de hardware embebido que quieren ReactOS para ejecutar una aplicación muy específica en un entorno muy concreto.
No se puede perder de vista que hay decenas de miles de aplicaciones y drivers para Windows, y por tanto es imposible ser compatible con todo de «golpe».
En estos momentos os encontráis en plena campaña de financiación en Indiegogo para sacar adelante ReactOS Community Edition. Háblanos un poco sobre esto.
Hasta la fecha, en ReactOS habíamos estado desarrollando compatibilidad «global»: mirábamos los tests y hacíamos parches para arreglar los bugs detectados. Esto nos ha conducido a tener una base decente de compatibilidad con una tasa de 0.057% de fallos (los tests no engañan), pero con muy pocas aplicaciones funcionando al 100% (los usuarios tampoco). ¿De qué nos sirve tener una tasa de 0,057% de fallos si las aplicaciones y hardware que los usuarios desean no funcionan al 100% en ReactOS?
Ahí es donde el Departamento de Estrategia nos pusimos a darle vueltas a la cabeza y dimos con la «ReactOS Community Edition»: había llegado la hora de movernos de compatibilidad «global» a compatibilidad «focalizada» en las aplicaciones que los usuarios desean.
La campaña de financiación en Indiegogo nos permitirá conocer qué aplicaciones quieren los usuarios ver funcionando en la ReactOS Community Edition, lo que nos evita hacer suposiciones erróneas. Financiar nuestro desarrollo de compatibilidad «focalizada» con, al menos, las 3 aplicaciones y piezas de hardware más votadas, mejorando la compatibilidad global. Y crear la «ReactOS Community Edition», una versión especial que trae novedades y mejoras adicionales al actual ReactOS. Demostrando que somos capaces de desarrollar compatibilidad «a la carta».
La «ReactOS Community Edition» forma parte de una estrategia global donde hemos lanzado entre otras ideas el «Open source Support Program», que de manera totalmente gratuita permite a las aplicaciones Open Source promocionarse dentro de esta versión especial facilitando llegar a usuarios que de otra manera no los conocerían.
El fin Windows XP, ¿afecta en algo al valor como proyecto de ReactOS?
El fin de Windows XP abre una puerta interesante para Linux y ReactOS. Las empresas e instituciones ahora tienen dos opciones, pagar por el prohibitivo soporte extendido de XP, o migrar a Linux como ha hecho recientemente China [Ndr. La noticia se refiere a la intención que ha manifestado públicamente el Gobierno chino, queda por ver su puesta en marcha].
Sin embargo, sabemos que hay muchas empresas e instituciones que no migran a Linux porque dependen de una aplicación en concreto que solo funciona en Windows. Ahora ya no tienen excusas para migrar a Linux, pues saben que pueden contar con ReactOS en una máquina virtual y que gracias a nuestros programas de «compatibilidad bajo demanda» podemos dar 100% soporte a dicha aplicación gracias a nuestros nuevos programas «Corporate».
Por otra parte, ReactOS sigue siendo una herramienta educativa perfecta para conocer cómo funciona la arquitectura NT de Windows, que se sigue utilizando, con modificaciones, incluso en Windows 8.
Windows es tristemente conocido por sus problemas de seguridad. ¿Qué se puede esperar de ReactOS en este sentido?
Windows tiene tres problemas de seguridad fundamentales. El primero es su gestión de privilegios, que intentaron resolver con su famosa UAC. El segundo es que hoy en día es el sistema operativo mas utilizado, y por tanto si los desarrolladores de malware tienen que decidir entre buscar un hueco en Windows o un hueco en una distro GNU/Linux, obviamente se tiran por el primero. Y el tercer problema y principal, se suele sentar entre “la silla y el teclado”, que acepta la instalación de “toolbars”, “aplicaciones recomendadas” o incluso “plugins”. Y ante eso ReactOS poco puede hacer y probablemente tampoco GNU/Linux si es adoptado por la masa. Un buen ejemplo es Android, donde ya hay “espabilados” aprovechándose del tercer y segundo problema.
Llegados a este punto, es imposible no lanzar esta pregunta, y no es sencilla de formular… ¿Es ReactOS realmente necesario, realmente positivo más allá de su sentido académico? Recrear un sistema operativo privativo en el que ejecutar aplicaciones privativas bajo el paraguas del software libre, ¿no es contradictorio?
“Recrear un sistema operativo privativo….” Tendríamos que preguntar a Stallman y/o Linus si era necesario y positivo recrear un sistema privativo como UNIX, y dar a luz lo que hoy conocemos como GNU/Linux. Y creo que es evidente que sí lo fue. Si un usuario quiere un sistema operativo Open Source “Unix-alike” tiene decenas para elegir. Para empezar, todas las distros GNU/Linux. Pero si quiere un sistema operativo Open Source “Windows-alike” solo tiene uno: ReactOS. Ya solo por eso creemos que es necesaria nuestra existencia.
“… En el que ejecutar aplicaciones privativas…” Nuestro objetivo no es crear ReactOS para que el usuario pueda ejecutar aplicaciones privativas. Nuestro objetivo es darle la libertad de hacerlo si así lo desea y que lo pueda hacer en un entorno libre y gratuito, sin licencias y sin miedo a puertas traseras o “cosas raras”. En este punto destacar que existen aplicaciones y drivers Open Source para Windows que no tienen versión GNU/Linux. Y devolviendo la pelota sobre preguntas interesantes: ¿no existen drivers y aplicaciones privativas para o sobre GNU/Linux?
Así pues no veo ninguna contradicción en “recrear un sistema operativo privativo en el que ejecutar aplicaciones privativas bajo el paraguas del software libre”. Simplemente lo veo excesivamente simplista. Tanto, que incluso podríamos llegar a encajar a GNU/Linux en dicha definición, por lo dicho anteriormente, y obviamente estaríamos perdiendo no solo la grandeza de GNU/Linux, sino el foco de sus verdaderas ventajas.
Más de un gurú tecnológico ha señalado en el pasado a ReactOS como la verdadera alternativa abierta a Windows, por encima de Linux, pero lastrada por su lento desarrollo. De conseguir cumplir sus objetivos, ¿supondría ReactOS una amenaza para GNU/Linux?
La Linux Foundation siempre ha tenido un apoyo económico bestial por parte de las empresas tecnológicas, por lo que dudo que supongamos para el entorno GNU/Linux algún tipo de amenaza. No solo no creo que ReactOS sea una amenaza, sino que a día de hoy ReactOS es el perfecto aliado para GNU/Linux en las migraciones.
Casi todas las administraciones públicas y grandes empresas privadas tienen una o dos aplicaciones específicamente desarrolladas para ellas y que funcionan solo en Windows, y esa es una de las principales razones que les frena a la hora de migrar a GNU/Linux según el informe de CENATIC. Aquí es donde una máquina virtual con ReactOS corriendo sobre el sistema operativo principal GNU/Linux resolvería el problema, aumentando el número y la viabilidad de las migraciones.
Un caso particular ha sido el de la Junta de Andalucía, donde tuvieron que pagar 12 millones de euros por usar Guadalinex junto a Windows piratas en máquinas virtuales precisamente por este problema. Y, lo peor, sabemos que no son los únicos.
¡Lo que ReactOS podría haber hecho con la décima parte de esa multa, generando trabajo en Andalucía y resolviendo gran parte del problema!
¿Para cuándo ReactOS 0.4?
Ahora mismo es muy complicado poder dar una fecha concreta. Depende, en parte, de cuánto nos “acelere” la campaña de Indiegogo. Lo que es seguro es que será en este año, un par de meses tras finalizar la campaña, y con el feedback obtenido, terminaremos de pulir la ReactOS Community Edition.