Axel Rietschin, inginer la Microsoft, responsabil cu dezvoltarea nucleului Windows, posibilitatea dezvoltării sistemului de operare ReactOS fără a împrumuta cod din Windows. În opinia sa, dezvoltatorii ReactOS au utilizat cod din nucleul Windows Research, ale cărei surse au fost licențiate pentru universități. Scurgerile acestui cod au fost publicate în diverse locuri, inclusiv pe GitHub.
Rietschin este convins că este imposibil din punct de vedere fizic să scrii nucleul ReactOS de la zero, așa cum este scris în prezent, folosind doar documentația publică disponibilă. În special, numele structurilor interne și funcțiilor din nucleul ReactOS coincid cu numele similare din nucleul Windows Research, în timp ce aceste nume nu sunt exportate la compilare și nu apar nicăieri altundeva în afară de codul original. Aceeași observație se aplică și numelui macro-urilor și parametrelor, al căror nume nu pot fi reproduce cu acuratețe fără a consulta codul original Windows.
Să ne amintim că în 2006, în ReactOS a avut loc includerea a aproximativ 100 de linii de cod în assembler, obținute prin decompilarea Windows. După aceasta, dezvoltarea a fost suspendată timp de aproximativ o lună pentru a efectua un audit al posibilelor intersecții. De atunci, dezvoltatorii ReactOS sunt deosebit de atenți la verificarea surselor propuse pentru includerea în proiect.
În cadrul ingineriei inverse, pentru a respecta legislația americană în domeniul drepturilor de autor, proiectul ReactOS aplică o schemă duală, în care un cercetător realizează analiza funcționării și, pe baza acesteia, elaborează documentația, iar un alt dezvoltator își creează o nouă implementare pentru ReactOS pe baza acestei documentații. Nu este exclus ca, în etapa analizei, să fi fost utilizate sursele Windows obținute în urma scurgerilor și ca numele funcțiilor și structurilor corespondente să fi fost reflectate în documentația elaborată, dar schema de dezvoltare aplicată în ReactOS va fi complet diferită și creată de la zero.
În plus, deja Publicații despre neglijarea construcțiilor nucleu NT și W2K cu informații de depanare necurățate, incluzând date despre numele variabilelor interne. Multe denumiri de structuri și funcții sunt de asemenea listate în fișierele header incluse în SDK/DDK, iar structura apelurilor sistemului poate fi definită prin analiza unor componente precum runtime-ul COM. Fără curățarea tabelelor simbolurilor, numele sunt adesea publicate prin actualizări hotfix. În plus, unele programe și drivere pentru Windows folosesc apeluri nedocumentate, iar multe funcționalități ascunse ale Windows ies la iveală în timpul adaptării lansării în sistemele de virtualizare și emulatoare.
Dezvoltatorii ReactOS ar fi putut utiliza aceste componente în procesul de inginerie inversă.

Sursa: opennet.ro
