Developpez.com - Rubrique Systèmes

Le Club des Développeurs et IT Pro

Un ingénieur de Microsoft accuse l'équipe ReactOS de plagiat du code source du noyau de Windows

Pour le développement de l'OS open source

Le 2019-07-08 12:42:29, par Patrick Ruiz, Chroniqueur Actualités
ReactOS est un système d’exploitation open source qui se veut compatible avec les applications et pilotes de Microsoft Windows. Sur cette plateforme, le projet est suivi depuis la version 0.3.16. Avec la sortie de la mouture 0.4.8 à mi-parcours de l’année précédente, l’OS s’est enrichi du support expérimental des jeux et applications développés pour le noyau NT 6 et les versions ultérieures ; c’est à dire Windows Vista et les systèmes d’exploitation ultérieurs de Microsoft. Les travaux de l’équipe de développement ont de façon spécifique porté sur la compatibilité avec Windows 8 et la dernière version du système d’exploitation de Microsoft – Windows 10. En principe, les applications conçues pour le noyau NT 5 tournent à merveille puisque la compatibilité avec Windows Server 2003 demeure l’un des axes majeurs des travaux.


Ce qu’il faut bien souligner avec cet OS c’est qu’il est encore au stade de développement alpha. Toutefois, sur la route vers une version 1.0, l’équipe de développement parle de montée en stabilité à chacune des nouvelles sorties. En droite ligne avec cet axe, l’équipe de développement a annoncé à la sortie de la version 0.4.8 que l’OS est capable de tourner sur un ordinateur équipé de 96 Mo de mémoire vive. Pour des utilisateurs qui ont l’habitude de faire usage de Windows, c’est surtout la ressemblance au niveau de l’interface graphique qui frappe au premier abord.


D’après ce que rapporte Alex Ionescu, le développement de ce système d’exploitation s’appuie sur de la rétro-ingénierie légale. ReactOS cible la compatibilité avec Windows NT et, de façon officielle, l’équipe s’appuie sur le désassemblage des sources de l’OS de Microsoft et sur les informations glanées de sources éparses comme le Microsoft Developer Network ou les kits de développement d’applications et de pilotes (SDK et DDK) de la firme de Redmond. Lors de l’édition 2019 de la conférence annuelle Offensivecon, il donne des détails sur l’approche dont son équipe use pour parvenir à ses fins. Grosso modo, le message qu’il passe est que les activités autour de ReactOS ont lieu sans accès au code source de Microsoft.


Toutefois, pour Axel Rietschin il n’en est rien. L’ingénieur de Microsoft dit avoir passé en revue le code source du projet et crie au plagiat.

« Je pense que c'est une copie du Windows Research Kernel dont Microsoft a concédé une licence à des universités en vertu d'un accord dont il est évident qu'il a été violé par certains. En effet, le code est disponible sur plusieurs plateformes dont GitHub. J'ai jeté un coup d'œil à l'arborescence de code de ReactOS, et à mon avis, il n'y a absolument aucune chance que l'équipe de développement soit partie de rien.

Pour commencer, il n'existe pas de documentation publique qui explique le fonctionnement interne du noyau NT. La seule documentation imprimée se compose de deux classeurs noirs où chaque page est étiquetée confidentiel.

De nombreuses structures de données internes et fonctions internes, qui ne sont exportées nulle part et ne font pas partie des symboles publics, portent exactement les mêmes noms que ceux qui apparaissent dans le Microsoft Research Kernel (qui, soit dit en passant, est assez désuet). Il n'y a presque certainement aucune probabilité que cela se soit produit, à cette échelle, par accident.

Un scénario plus sinistre serait que le ReactOS provient d'une des nombreuses fuites qui se sont produites dans le passé. Maintenant, je ne suis pas un expert en droit, mais je ne sais pas pourquoi on tolère de telles choses. C'est peut-être parce qu'au finish ReactOS est semblable à un bébé moustique sur le dos d'un éléphant .

Si l'un des auteurs nous explique ces similitudes, je changerai d'avis. J'espère seulement qu'il aura réponse à quelques questions sur les conventions de codage et de nommage, ainsi que sur les choix de conception », souligne-t-il dans une publication parue il y a deux ans. Cette sortie a pris un coup de neuf avec des discussions auxquelles participe Axel Rietschin ces derniers jours.


« Curieusement, j'ai eu une conversation avec un supérieur à propos de ReactOS. Il m'a dit que l'équipe s'est penchée sur le code source du projet et est parvenue aux mêmes conclusions. En particulier, cette personne se souvient très bien d'un hack qu'il a mis en place. Il me l'a expliqué et dit l'avoir retrouvé au sein du code de ReactOS. Il y a seulement que les auteurs présumés n'ont probablement aucune idée de la raison pour laquelle ce dernier a été mis en place », lance Axel Rietschin dans sa mise à jour.

Ce n’est pas la première fois que ce projet se retrouve au centre de préoccupations similaires. En 2006, un membre de l’équipe de développement a relevé d’importantes similitudes avec le code de Windows. Cet état de choses a mené à un audit interne du projet entre mars 2006 et décembre 2007, ce, pour l'épurer. Lors de sa sortie à l’occasion de la dernière édition de l’OffensiveCon, Ionescu a répondu qu’il a introduit des similitudes pour faire réagir les ingénieurs de la firme de Redmond.

Source : Quora

Et vous ?

Que pensez-vous du positionnement d’ Axel Rietschin ?

Est-il possible de parvenir à ce résultat sans disposer d’un accès au code source du noyau de Microsoft ?

Avez-vous déjà testé ce système d’exploitation ? Si oui, quel retour pouvez-vous faire ?

Voir aussi :

ReactOS 0.4.8 est disponible avec le support expérimental des jeux et applications développés pour Windows Vista, 8 et 10

Sortie de ReactOS 0.4.9 avec la capacité d'auto-hébergement et plus stabilité, le système d'exploitation continue sa mue vers une version 1.0

ReactOS 0.4.11 est disponible avec d'importantes améliorations du noyau et un accent mis sur une réimplémentation des API Windows
  Discussion forum
24 commentaires
  • deltree
    Membre confirmé
    Envoyé par yahiko
    Si la communauté Open Source s'inspire (voire davantage) de Windows, c'est la preuve qu'il s'agit d'un excellent OS.
    On n'est pourtant pas vendredi?
  • 4bstract
    Membre habitué
    Un OS qui ressemble trait pour trait à une ancienne version de Windows et dont le code source lui est identique... c'est une coïncidence bien évidemment !

    Est-il possible de parvenir à ce résultat sans disposer d’un accès au code source du noyau de Microsoft ?
    Si l'on a pas accès au code source d'une application, les chances sont infinitésimales d'arriver aux même code par rétro-ingénierie. Chaque personne a sa propre façon d'écrire du code alors arriver aux même structures de données, nommages et jusqu'à avoir les mêmes morceaux de codes est tout simplement impensable.

    À ce niveau là, j'attends de voir la réaction officielle de Microsoft si les développeurs de ReactOS ne se justifient pas.
  • yahiko
    Rédacteur/Modérateur
    Si la communauté Open Source s'inspire (voire davantage) de Windows, c'est la preuve qu'il s'agit d'un excellent OS.
  • Ev3r10st
    Membre habitué
    Parce que Microsoft n'a rien pompé a aucun autre OS j'imagine...
  • Sodium
    Membre extrêmement actif
    Je ne sais pas, je n'utilise ni Windows 95, ni ReacOS car je suis une personne normale
  • deltree
    Membre confirmé
    Je me demande l'intérêt de ce OS. Je comprends l'intérêt de faire tourner du Windows sur de l'open source, pour ça on a Wine, mais dans un OS à part, quel est l'avantage par rapport à Windows? la gratuité?
    Ou alors juste un challenge technique (du coup le plagia c'est bof ... dans tous les cas c'est "mal" mais la en plus sans intérêt.)

    Après pour du rétro gaming, ça m'intéresserait d'avoir toutes les versions de MSDos, windows 3 et 98 et donc NT comme c'est le cas ici. Microsoft pourrait "lâcher la bride" aux veilles applications comme c'est le cas pour les abandonwares.
  • laerne
    Membre éprouvé
    Ça tuerais de linker les sources listés de l'article et de lister toutes les sources.
  • redcurve
    Membre extrêmement actif
    Envoyé par Ev3r10st
    Parce que Microsoft n'a rien pompé a aucun autre OS j'imagine...
    Chez Microsoft ça n'est vraiment pas une bonne idée tu te fais virer sans autre forme de procès pour ce genre de truc
  • Neckara
    Inactif
    Envoyé par Sodium
    Je travaille autant sous Debian que Windows 10 et ce n'est pas avec ce dernier que j'ai le plus de problème. Rien que hier, d'un coup, impossible de faire quoi que ce soit avec le manager de paquets, j'ai mis une bonne après-midi à trouver une solution.
    J'utilise Debian sur deux machines depuis près de 8 ans, et franchement les seules fois où j'ai eu un problème avec le manager de paquets, c'est quand j'ai fais une bêtise :
    • arrêt de l'ordinateur alors qu'une mise à jour était en cours ;
    • passer à la version supérieure de Debian avec pleins de paquets installés manuellement ;
    • modification de /etc/apt/sources.list.


    Personnellement je passe toujours en ligne de commande. Une fois qu'on comprend comme ça marche, et qu'on comprend les messages d'erreurs, on les corrige assez facilement par la suite.

    Essaye de faire ces bêtises sous Windows, et tu es bon pour une restauration ou pire une réinstallation.

    Envoyé par Steinvikel
    Rencontrer des difficultés avec une solution, et mal coder une solution sont deux choses différentes.
    exemple : absence de logiciels vitaux sur linux (drivers, logiciels métier, API, etc.) rendant inutilisable mon environnement de production.
    Cela est d'ailleurs surtout de la faute des développeurs de ces outils, plus que de Linux.

    À part des logiciels métiers très spécifiques, il est parfois possible de trouver une version ou un équivalent Linux.
    Pour les drivers, idem, Linux en supporte un grand nombre.

    Après oui, certains constructeurs/éditeurs font plus d'efforts que d'autres.
  • Steinvikel
    Membre expert
    "Ionescu a répondu qu’il a introduit des similitudes pour faire réagir les ingénieurs de la firme de Redmond."
    ...c'est moi ou il y a anguille sous roche ? ^^'