O ReactOS iniciou seu desenvolvimento como um projeto clone do Windows 95 chamado FreeWin95; após um período inativo devido a divergências entre os programadores, ressurgiu como ReactOS em 1997 e mudou seu foco para ser um clone da versão Windows NT5.x (2000,XP e 2003).[6][7][9][10]
O projeto do sistema é primariamente escrito em C, com alguns elementos, como o Explorador de Arquivos, escrito em C++, implementando parcialmente a Arquitetura do Windows NT, a Interface de Programação de Aplicações da Microsoft, portado para o conjunto de instruçõesAMD64.[14] O ReactOS, como parte do ecossistema de software livre e de código aberto, reusa e colabora com muitos outros projetos livres,[15] mais notavelmente o projeto Wine, o qual desenvolve uma camada de compatibilidade Windows para sistemas operativos tipo Unix.[16]
História
Início do desenvolvimento
Em meados de 1996, um grupo de desenvolvedores de software livre e de código aberto iniciou um projeto chamado FreeWin95 para implementar um clone do Windows 95. O projeto parou nas discussões sobre a arquitetura do sistema.
Apesar de o FreeWin95 ter iniciado com grandes expectativas, ainda não havia nenhuma compilação liberada para o público até o final de 1997. Como resultado, os membros do projeto, liderados pelo coordenador Jason Filby, se reuniram para revivê-lo. O projeto renovado procurou duplicar a funcionalidade do Windows NT.[17] Ao criar o novo projeto, um novo nome, ReactOS, foi escolhido. O projeto iniciou o desenvolvimento em fevereiro de 1998 ao criar a base para um novo núcleo compatível com o Windows NT e controladores de dispositivos básicos.[18] O nome ReactOS foi cunhado durante uma conversa IRC. Enquanto o termo OS é de Sistema operativo, o termo React se referia à insatisfação do grupo — e reação à — atitude e posição monopolística(em inglês) da Microsoft.[6]
Em 2002, a Fundação ReactOS (ReactOS Foundation) foi estabelecida em Moscou com Maxim Osowski e Aleksey Bragin como diretores executivos e Vladimir Bragin, Saveliy Tretiakov e Alexey Ivanov no conselho de administração.[19] Em 2015, a fundação foi dissolvida.[20]
Para evitar um processo de indenização por direito autoral, o ReactOS precisa ser expressamente distinto e não derivado do Windows, um objetivo que precisa de trabalho muito cuidadoso.[24] Uma alegação foi feita em 17 de janeiro de 2006, pelo agora ex-desenvolvedor Hartmut Birr, na lista de discussãoros-dev de que o ReactOS continha código derivado de desmonte do Microsoft Windows.[25] O código que Birr contestou envolveu a função BadStack no arquivo syscall.S,[26] bem como outros itens não especificados.[27] Ao comparar essa função com binários desmontados do Windows XP, Birr argumentou que a função BadStack foi simplesmente copiada e colada do Windows XP, dado que elas eram idênticas. Alex Ionescu, o autor do código, afirmou que enquanto o binário em questão do Windows XP foi realmente desmontado e estudado, o código não foi meramente copiado, mas reimplementado; a razão pela qual as funções foram idênticas, Ionescu contestou, foi porque havia uma única possível maneira de implementar a função.[28]
Em 27 de janeiro de 2006, os desenvolvedores responsáveis por manterem o repositório de código do ReactOS desativaram o acesso após uma reunião feita para discutir as alegações. Quando abordada por NewsForge, a Microsoft recusou-se a comentar sobre o incidente. Uma vez que o ReactOS é um projeto de desenvolvimento de software livre e de código aberto, a alegação desencadeou uma reação negativa pelo movimento software livre; em particular, o Wine barrou vários desenvolvedores inativos de fornecer contribuições e,[29] cooperação formal de alto nível entre os dois projetos desde 2006.[30] Contribuições de vários desenvolvedores ativos do ReactOS foram aceitos após a auditoria, e cooperação de baixo nível para correção de falhas ainda ocorre.
Em uma declaração em seu portal, o ReactOS citou diferentes definições legais sobre o que constitui engenharia reversa de sala limpa como uma causa para o conflito.[31] Alguns países, incluindo os Estados Unidos da América, requerem que uma reimplementação baseada em código desmontado precise ser escrita por outra pessoa que não a que desmontou e examinou o código original,[32][33] enquanto outros países permitem que ambas as tarefas sejam executadas pelo mesmo indivíduo. Consequentemente, o Projeto ReactOS clarificou em sua Declaração de Política de Propriedade Intelectual que os requerimentos de engenharia reversa de sala limpa obedecem à lei dos EUA. Uma auditoria interna foi conduzida para assegurar que apenas engenharia reversa de sala limpa fosse usada, e todos os desenvolvedores tiveram que assinar um acordo se comprometendo a cumprir com as políticas do projeto sobre engenharia reversa.[30] Contribuidores do seu desenvolvimento não foram afetados por esses eventos e todo o acesso às ferramentas de desenvolvimento de software foi restaurado pouco depois. Em setembro de 2007, com a auditoria se aproximando da conclusão, o estado da auditoria foi removido da página inicial do ReactOS. Embora a auditoria tenha sido concluída, detalhes específicos não foram tornados públicos porque era apenas um esforço interno para assegurar conformidade com a política do próprio projeto.[34]
Ainda, o vazamento em 2004 do código-fonte do Windows 2000[35] não foi visto como risco jurídico para o ReactOS, já que o segredo comercial foi considerado indefensável em julgamento devido à ampla propagação.[36]
Participação no Google Summer of Code
Com início em 2006,[37] o Projeto ReactOS participou em alguns Google Summers of Code. Por exemplo, no GSoC 2011,[38]. O Projeto ReactOS já participou seis vezes no GSoC: 2006, 2011, 2016, 2017, 2018 and 2019.
↑vicmarcal (14 de abril de 2018). «ReactOS 0.4.8 released» [ReactOS 0.4.8 lançado]. Blog corporativo Project News (em inglês). Fundação ReactOS. Consultado em 13 de outubro de 2020. Cópia arquivada em 15 de abril de 2018. With software specifically leaving NT5 behind, ReactOS is expanding its target to support NT6+ (Vista, Windows 8, Windows 10) software
↑Sugar, David (31 de janeiro de 2006). «A reaction to ReactOS» [Uma reação ao ReactOS] (em inglês). Free Software Magazine. Consultado em 11 de dezembro de 2009. Cópia arquivada em 22 de janeiro de 2009. For those who wish to write such software, or to create portable applications that they may wish to later migrate to other platforms, it is essential to be able to target a clean and generic reference implementation of the Microsoft framework, freed from secret and undocumented behaviors. Microsoft offers no such thing today — besides the lack of proper interface documentation, many of their own development tools depend on and offer libraries which use undocumented or secret API calls that are then built into applications. This is well illustrated in the difficulty Wine has with running applications, even those that were created purely within ‘standard’ Microsoft development tools and not using odd behaviors or undocumented functions on their own. We can think of ReactOS, then, as the ‘Microsoft Windows documentation project’.
↑
Royal, Simon (16 de fevereiro de 2014). «ReactOS: A Windows Compatible Alternative OS» [ReactOS: Um SO Alternativo Compatível com Windows]. www.LowEndMac.com (em inglês). Consultado em 15 de outubro de 2020. Cópia arquivada em 7 de março de 2014. (…) this is still a very early alpha version. The developers do not claim it is stable or the ability to operate as your main OS and clearly state it is ‘recommended only for evaluation and testing purposes’. (…) While the main core of ReactOS is built from scratch, it has some dependencies on existing software and protocols. It uses parts of Wine, networking in the form of lwIP, USB from Haiku, as well as FreeType, Mesa3D, and UniATA.
↑
Vincent, Brian (15 de maio de 2004). «Interview with Steven Edwards» [Entrevista com Steven Edwards]. winehq.com (em inglês). Consultado em 6 de janeiro de 2016. Cópia arquivada em 12 de julho de 2018. BV: Wine and ReactOS have had a mutually beneficial relationship. (…) BV: You guys have certainly contributed a lot of your work back to Wine, including some of the utilities you've written. For instance, the task manager was recently ported from ReactOS. Do you guys have any plans in the works for developing more tools? Steven: I really want to see a solitaire clone make it in to Wine and ReactOS. (…) At some point we are going to have to develop replacement components for everything in Windows so if there is a program that Wine needs and ReactOS implements it then I will try to make sure it's released under a compatible license.
↑
Loschwitz, Martin (março de 2004), «Projects on the Move»(PDF), Linux Magazine, p. 87, consultado em 18 de novembro de 2009, arquivado do original(PDF) em 19 de maio de 2011, ReactOS is an effort to re-create the WindowsNT platform, in an open source sense (GPL). The team works towards source compatibility with NT's applications and drivers by re-creating the Microsoft APIs.
↑Hancock, Terry (29 de agosto de 2008). «What if copyright didn't apply to binary executables?» [E se o direito autoral não se aplicasse aos binários executáveis?] (em inglês). Free Software Magazine. Consultado em 1 de novembro de 2020. Cópia arquivada em 11 de março de 2012. (…) ReactOS aims to run actual Windows binary executable programs. This means that ReactOS must implement the entire Windows environment. Functions must do exactly what their Windows counterparts would do. In other words, like our notional parallel stew recipes, ReactOS and Windows should be functionally identical. In order to avoid copyright prosecution, though, ReactOS must be expressly completely distinct and non-derivative from Windows. This is a careful tightrope walk! ReactOS is a free, clean room re-implemented drop-in replacement for Windows. So, consider this, especially regarding extremely simple library calls: is it legal for ReactOS to produce identical binary code to Windows?
↑Birr, Hartmut (18 de janeiro de 2006). «Bye bye» [Tchau-tchau]. ros-dev (Lista de grupo de correio) (em inglês). Consultado em 1 de novembro de 2020. Cópia arquivada em 4 de setembro de 2017. Sometimes in the past, I didn't understand some changes, because the code didn't make sense for the current state of reactos and was not used. Currently, I've compared disassembled code from win2k and winxp with ReactOS. In my opinion, some of the developers do disassemble windows code to implement ReactOS.
↑Schwartz, Mathew (12 de novembro de 2001). «Reverse-Engineering» [Engenharia Reversa] (em inglês). computerworld.com. Consultado em 1 de novembro de 2020. Cópia arquivada em 8 de agosto de 2019. To protect against charges of having simply (and illegally) copied IBM's BIOS, Phoenix reverse-engineered it using what's called a ‘clean room’, or ‘Chinese wall’, approach. First, a team of engineers studied the IBM BIOS—about 8KB of code—and described everything it did as completely as possible without using or referencing any actual code. Then Phoenix brought in a second team of programmers who had no prior knowledge of the IBM BIOS and had never seen its code. Working only from the first team's functional specifications, the second team wrote a new BIOS that operated as specified.
↑sedwards (27 de janeiro de 2006). «Reset, Reboot, Restart, legal issues and the long road to 0.3» [Redefinir, Religar, Reiniciar, questões jurídicas e o longo caminho para 0.3]. ReactOS.org Project News (Blog corporativo) (em inglês). Consultado em 1 de novembro de 2020. Cópia arquivada em 27 de março de 2020. Now as for the issue of leaked source code, I want to try to put all fears to rest. We don't know what the legal ramifications are for someone downloading and having leaked code, as the party that maintains copyright ownership of that code might still try to claim Trade Secrecy on information contained in the sources in a court of law. It is our point of view that the source code leaks of Windows have been spread to a broad enough audience that it would be impossible to claim the product is still under Trade Secrecy.