Axel Rietschin, engenheiro da Microsoft que trabalha no desenvolvimento do núcleo Windows, a possibilidade de desenvolver um sistema operacional como o ReactOS sem copiar código do Windows. Segundo ele, os desenvolvedores do ReactOS usaram código do núcleo do Windows Research, cujos códigos fonte foram licenciados para universidades. Vazamentos desse código foram publicados em vários lugares, incluindo no GitHub.
Rietschin está convicto de que é fisicamente impossível escrever o núcleo do ReactOS do zero, como ele é atualmente, usando apenas a documentação pública disponível. Em particular, os nomes das estruturas internas e funções no núcleo do ReactOS coincidem com os nomes correspondentes no núcleo do Windows Research, enquanto esses nomes não são exportados na construção e não aparecem em nenhum lugar, exceto no código original. O mesmo se aplica aos nomes de macros e parâmetros, cujos nomes não podem ser reproduzidos com precisão sem consultar o código original do Windows.
Lembramos que em 2006, no ReactOS, foi o uso de cerca de 100 linhas de código em assembler, obtidas por meio da descompilação do Windows. Após isso, o desenvolvimento foi suspenso por cerca de um mês para realizar uma auditoria das possíveis sobreposições. Desde então, os desenvolvedores do ReactOS têm especialmente cuidado ao verificar os códigos fonte propostos para inclusão no projeto.
Ao realizar engenharia reversa para cumprir a legislação dos EUA sobre direitos autorais, o projeto ReactOS aplica um esquema duplo, onde um pesquisador analisa o funcionamento e, com base nisso, elabora a documentação, enquanto um outro desenvolvedor, baseado nessa documentação, cria uma nova implementação para o ReactOS. Não se pode descartar a possibilidade de que, na fase de análise, foram utilizados códigos fonte do Windows obtidos por vazamentos, e que nomes de funções e estruturas correspondentes tenham sido refletidos na documentação elaborada, mas na metodologia de desenvolvimento aplicada no ReactOS, a implementação será completamente diferente e criada do zero.
Além disso, já publicações sobre a negligência na montagem dos núcleos NT e W2K com informações de depuração não limpas, incluindo dados sobre nomes de variáveis internas. Muitos nomes de estruturas e funções também são fornecidos em arquivos de cabeçalho que fazem parte do SDK/DDK, e a estrutura das chamadas de sistema pode ser definida através da análise de componentes como o tempo de execução do COM. Sem a limpeza das tabelas de símbolos, nomes frequentemente são publicados em atualizações hotfix. Além disso, alguns programas e drivers para Windows utilizam chamadas não documentadas e não públicas, e muitas funcionalidades ocultas do Windows surgem durante a adaptação de inicializações em sistemas de virtualização e emuladores.
Os desenvolvedores do ReactOS puderam usar esses componentes durante o processo de engenharia reversa.

Fonte: opennet.ru
