Sistema Windows de código abierto-Reactos
ReactOS está escrito principalmente en lenguaje C. Algunos componentes están escritos en C, como el explorador de archivos de ReactOS.
El acuerdo de licencia de ReactOS es principalmente la Licencia Pública General GNU, y una pequeña cantidad de código se distribuye bajo licencias de código abierto como la Licencia Pública General GNU y la licencia BSD.
Para garantizar que ninguna parte del sistema operativo haya sido escrita por alguien que haya visto el código fuente de Microsoft Windows filtrado, o que el proceso de ingeniería inversa no haya cumplido con los estándares de diseño de sala limpia, el desarrollador principal de ReactOS ordenó un Revisión integral del código fuente. Este comentario está actualmente cerrado.
Historia del desarrollo
Inicio del desarrollo
Hacia 1996, un grupo de desarrolladores de software de código abierto inició un proyecto llamado FreeWin95, con el objetivo de implementar Windows 95 y clonar el sistema operativo. . En aquel momento, el proyecto sólo se centraba en discusiones sobre la implementación del sistema.
Aunque había grandes expectativas para el proyecto FreeWin95, no se lanzó públicamente ninguna versión del proyecto hasta finales de 1997, por lo que el coordinador del proyecto Jason Filby unió fuerzas con todos para revivir el proyecto y lo llamó "ReactOS". y planea reimplementar Windows NT. En febrero de 1998, se lanzó oficialmente el proyecto ReactOS y se completó el desarrollo del núcleo del sistema y los controladores básicos.
Revisión de Código
Para evitar demandas por derechos de autor, ReactOS debe diferenciarse clara y completamente y no derivar de Windows, un objetivo que requiere un trabajo muy cuidadoso. Junio de 2006 5438 Octubre 65438 En julio, Hartmut Birr señaló en la lista de correo de desarrolladores de ReactOS que ReactOS contiene código fuente descompilado de Windows. Por lo tanto, los desarrolladores prohíben temporalmente que los no desarrolladores ingresen al sistema. Dado que ReactOS es un software de código abierto, esta medida causó insatisfacción en la comunidad de código abierto. Los contribuyentes de ReactOS no se vieron afectados por las acciones en ese momento. Pronto todos los proyectos de desarrollo de software podrán participar de forma gratuita. Como las acusaciones de Birr no pudieron probarse, los desarrolladores decidieron revisar el código fuente. Las fuentes potencialmente "contaminadas" se bloquearán hasta que se inspeccionen y se determine que están limpias.
La mayor parte del código fuente se ha abierto y se puede seguir manteniendo y desarrollando, y también se están realizando revisiones al mismo tiempo.
En 2008, el código fuente fue completamente desbloqueado. También se ha completado una revisión. El mantenimiento y el desarrollo pueden continuar normalmente.
Participa en Google Summer of Code.
El proyecto ReactOS ha participado en varios Google Summers of Code desde 2006. Por ejemplo, en GSoC 2011, ReactOS dirigió un proyecto estudiantil que integraba lwIP en la pila de redes. ReactOS ha participado en GSoC cinco veces hasta el momento: 2006, 2011, 2016, 2017, 2018. También participará en 2019.
Mítines y manifestaciones públicas
El político ruso Viktor Alksnis se reunió con el coordinador del proyecto, Aleksey Bragin. Alexei Brakin presentó el proyecto y realizó una demostración. Las demostraciones mostraron que ReactOS pudo ejecutar el actual Commander y Mozilla Firefox en 2007. Esto también llamó la atención del entonces presidente ruso, Dmitry Medvedev. Medvedev visitó una escuela secundaria en Stavropol.
Casualmente, Marat Karatov, el desarrollador de ReactOS, también es estudiante de secundaria en esta escuela. Aprovechó para presentarle al presidente el sistema Windows de código abierto y le pidió una financiación de 6.543,8 millones de euros. Medvedev dijo que estaba muy interesado en ReactOS y dijo que probaría la financiación.
ReactOS Community Edition
En abril de 2014, el proyecto ReactOS anunció el lanzamiento de iegogo y ReactOS Community Edition basado en la versión 0.4. El objetivo de recaudación de fondos es de 50.000 dólares, con objetivos adicionales más allá de eso. El desarrollo de ReactOS Community Edition se centrará en la comunidad, y los usuarios de ReactOS votarán y financiarán para decidir qué controladores de software y hardware está diseñado para admitir el proyecto. El 1 de junio de 2065 finalizó la campaña de crowdfunding flexible en Indiegogo, recaudando 25.141 dólares para el desarrollo de la versión comunitaria, y pronto comenzó un proceso de votación para soportar tanto el hardware como el software.
ReactOS Hackfest 2015
El proyecto ReactOS celebró una conferencia de hackers en Aquisgrán, Alemania, del 7 de agosto de 2015 al 2 de junio de 2015. El Hackfest terminó con éxito ya que agregó muchas funciones a ReactOS.
Desarrollo del sistema
Desarrollo central
ReactOS está escrito principalmente en lenguaje C y también contiene algunos elementos escritos en C, como ReactOS Explorer y la pila de sonido. El proyecto se compila utilizando MinGW y Visual Studio. Los desarrolladores pretenden hacer que las API del kernel y del espacio de usuario sean compatibles con Windows NT 5.2 (Windows Server 2003) y agregar soporte para más aplicaciones y hardware, con planes de apuntar a versiones más nuevas de Windows a medida que el desarrollo se vuelva más maduro. La compatibilidad con DirectX se implementa a través de la implementación interna de ReactX. La renderización acelerada por hardware 2D se realiza de forma nativa, mientras que otras funciones de dibujo se redirigen a OpenGL como medida provisional. El progreso del desarrollo se ve afectado por el tamaño y el nivel de experiencia del equipo de desarrollo. Como estimación del esfuerzo necesario para implementar Windows 7, Microsoft emplea aproximadamente 65.438.000 desarrolladores organizados en 25 equipos, con un promedio de 40 desarrolladores por equipo. Pero a partir del 2 de septiembre de 2011, sólo había 33 desarrolladores activos en la entrada ReactOS de Ohloh. Estos desarrolladores contribuyeron a la acumulación en 12 meses, acumulando 104 que anteriormente contribuyeron con el código del proyecto a través de Subversion. La desarrolladora de ReactOS, Michele C., señaló en un discurso en el Hackmeeting 2009 en Milán que la mayoría de los desarrolladores conocen la arquitectura de Windows cuando utilizan ReactOS sin ningún conocimiento previo. Aunque actualmente ReactOS está dirigido principalmente a plataformas de PC x86/AMD64, la migración a la arquitectura ARM está "en progreso", aunque no ha producido demasiadas funciones y ha sido abandonada. Xbox es una variante de la arquitectura IA-32 y la admite agregando HAL usando una forma específica de la arquitectura, aunque con la llegada de PowerPC ya no se mantiene activamente.
Pila de controladores de hardware
En términos de controladores de hardware, por ejemplo, el proyecto UniATA proporciona un controlador Serial ATA para ReactOS. El proyecto también intenta reescribir su sistema de archivos montable FAT utilizando la biblioteca FullFAT. ReactOS utiliza la pila USB de Haiku como referencia y como base para su soporte USB. Redes La pila de red de ReactOS se basa en la porción TCP del puerto de la pila de red OSKit en FreeBSD y en implementaciones desarrolladas internamente de protocolos orientados a paquetes como IP. Posteriormente, lwIP se integró en la pila de red de ReactOS.
El proyecto Samba/Samba TNG proporciona servicios de red de Windows como LSASS, SAM, NETLOGON y cola de impresión como alternativas de código abierto.
Asociación con el Proyecto Wine
Los proyectos ReactOS y Wine * * * disfrutan del objetivo de ejecutar software binario de Windows localmente, para que puedan * * * disfrutar de muchas dependencias y desarrollo. ReactOS utiliza parte del proyecto Wine, por lo que puede beneficiarse del progreso de Wine en la implementación de la API Win32. Aunque ReactOS no puede utilizar directamente los componentes NTDLL, USER32, KERNEL32, GDI32 y ADVAPI32 de Wine debido a diferentes arquitecturas, se pueden compartir fragmentos de código y otras partes entre los dos proyectos. Sin embargo, el kernel se desarrolló por separado de ReactOS, ya que Wine se basa en un kernel existente similar a Unix. .
Además, ReactOS tiene otro equipo experimental de Arwinss que utiliza otra forma de construir la API Win32, que puede soportar mejor USER32 y GDI32. El subsistema Win32 original de ReactOS se basa completamente en la equivalencia de Windows, pero Arwinss hace un buen uso de la compatibilidad del sistema de Wines al fusionar los subsistemas Win32 originales de ReactOS y Wines. De esta manera, Arwinss permite a los usuarios visualizar a través de un servidor X remoto sin tener que utilizar una pantalla de hardware.
Impacto y Evaluación
Las siguientes críticas al proyecto ReactOS presentan varias razones por las que no creen que ReactOS se convierta en un proyecto que valga la pena. Algunas personas señalaron que existen limitaciones para ser compatible con Windows NT 4.0 como objetivo de lanzamiento de ReactOS, porque NT 4.0 tiene malas críticas y está desactualizado.
En la respuesta, alguien señaló que aunque el objetivo actual es ser compatible con Windows NT 4.0, los sistemas basados en la arquitectura NT en Windows son muy similares a NT 4.0 a nivel de sistema (por ejemplo, Windows 2000, Windows XP, Windows Server 2003). Por tanto, si quieres ser compatible con versiones posteriores de Windows, sólo necesitas completar el objetivo de NT 4.0, y el resto será fácil. Por esta razón, quienes responden a esta crítica dicen que utilizar la compatibilidad con NT 4.0 como un hito no es una limitación, sino una base para el desarrollo futuro.
También se critica que ya disponemos de varios sistemas operativos basados en Unix (Linux y diferentes versiones de BSD). En lugar de crear uno nuevo, es mejor centrarse en mejorar el antiguo y esforzarse por mejorar WINE para que las aplicaciones WINDOWS existentes puedan ejecutarse mejor en él. Sin embargo, los desarrolladores de ReactOS y otros defensores argumentan que los sistemas operativos tipo UNIX no son necesariamente el único mejor tipo de sistema operativo. El diseño de NT incorpora muchos conceptos que suponen una mejora respecto al modelo de trabajo de Unix, un sistema operativo que se parece más a Windows en un nivel inferior (es decir, está diseñado para ser como Windows, en lugar de ejecutar una aplicación e intentar convertir otra en sistema operativo). sistemas que se convierten en Windows) tendrán más posibilidades de ser más ampliamente compatibles con las aplicaciones de Windows existentes y (especialmente) con los controladores de hardware.
Objetivos futuros
Requisitos de hardware
Vale la pena señalar que ReactOS también puede ejecutarse en software que pueda simular el hardware anterior, como Virtual PC, VMware, Bochs o QEMU.
Vea que Windows NT 4.0 puede ejecutarse en arquitecturas MIPS, Alpha AXP y PowerPC, además de que los sistemas operativos derivados de i386 NT, como Windows XP y Windows Server 2003, se han adaptado a diferentes arquitecturas de hardware (como. como x86-64, IA-32, IA-64), los desarrolladores de ReactOS comenzaron a prestar atención a la portabilidad. Por ejemplo, la versión 0.2.5 ya agregó soporte para la variante de plataforma Xbox de la arquitectura IA-32, y hasta la primera mitad de 2006, los proyectos de puerto PowerPC y puerto Xen todavía estaban en progreso.