Ces pages contiennent les traductions fran�aises des r�ponses d'Andrew Tanenbaum au sujet de l'affaire de la petite souris. Dans cette affaire, le pr�sident de l'institut Alexis de Tocqueville, Ken Brown, accuse publiquement Linus Torvalds d'avoir copi� Minix pour cr�er Linux.
Extrait du site de l'institut Alexis de Tocqueville aujourd'hui, 28 juin 2004 :
Linus Torvalds... didn't actually try to write Linux from scratch. Instead, he started
by reusing code and ideas from Minix, a tiny Unix-like operating system....
M�me sans prendre parti, il est amusant de constater que malgr� le fait que l'auteur de Minix, Andrew S. Tanenbaum, ait d�menti plusieurs fois cette accusation, qu'un employ� dudit institut ait publi� (traduction pr�sente ici) un comparatif du code de Linux et de Minix sans trouver aucune preuve tangible d'une quelconque copie, Ken Brown continue � clamer haut et fort que Linus n'est qu'un pirate sans vergogne qui a vol� du code partout o� il pouvait ...
Cette traduction a �t� r�alis�e par Baptiste <Batmat> Mathus.
Vous pouvez la mettre en lien et la mirrorer autant que vous le souhaitez du moment que cette note reste visible.
![]() |
|
Réfutation de l'article de Ken Brown |
Pour ceux qui viennent juste d'arriver au coeur de l'action, voici un bref résumé de l'histoire jusqu'à maintenant. Ken Brown, le président du comité d'expert appelé l'institut Alexis de Tocqueville a écrit un livre affirmant que l'open source utilisant la GPL est une mauvaise idée et que Linus Torvalds a volé Linux à MINIX, que j'ai écrit. Linus, le prétendu voleur, a répondu. En tant que prétendu volé, j'ai aussi ressenti le besoin de répondre. À présent, Ken Brown a réagi à mes réponses. Je doute beaucoup que lorsqu'il est venu me rendre visite, il s'attendait à ce que (1) je défende Linus dans notre entrevue et (2) le faire ensuite publiquement plus tard.
Je prévoyais de passer mon dimanche après midi à faire quelque chose d'utile, mais puisque Brown m'a directement impliqué dans son article indiqué ci-dessus, j'ai senti que je devais répondre. Je ferai cela sous la forme d'un commentaire d'article. Ses interventions sont affichées typographiquement comme ceci :
| "Samizdat est une série d'extraits d'un livre à paraître sur l'open source et les systèmes d'exploitation qui sera publié dans le courant de cette année. AdTI ne l'a pas publié avec l'espoir que les développeurs à fond pro-linux seraient d'accord." |
Je dois donner raison là où c'est mérité. Brown a totalement raison sur ce point.
| "Les États-Unis sont la maison de l'office des brevets et des marques des États-Unis, une agence internationalement respectée qui contribue à l'effort mondial de protection et de gestion de la propriété intellectuelle." |
***Tout*** pays possède un office des brevets. Les États-Unis ne sont pas seuls dans ce cas. De plus, beaucoup de gens pensent que breveter les logiciels est une terrible idée. Le sujet des brevets logiciels est un problème très controversé en Europe en ce moment.
| "Le rapport Samizdat recommande que le gouvernement des États-Unis investisse 5 milliards de dollars dans des efforts de recherche et de développement qui produisent de véritables produits open source, comme l'open source basé sur les licences BSD ou MIT. Des investissements du gouvernement dans l'open source accélerera l'innovation." |
Ça me va. Les profs sont toujours à la recherche de nouvelles sources de financement pour leurs recherches.
| "La dérangeante réalité est que le modèle de source hybride (NDT : il parle des sources publiées sous licences avec copyleft telles que la GPL) dépend lourdement de l'absorption des talents des entreprises américaines et du logiciel propriétaire américain. La plupart de ces discutables emprunts ne a) sont pas dans le meilleur intérêt des entreprises américaines ..." |
Pardon ? Un étudiant finlandais écrit un logiciel (en Finlande) que beaucoup de gens apprécient et il est accusé d'absorber le meilleur des entreprises US ? Et la dernière fois que j'ai regardé, un certain nombre d'entreprises américaines, comme IBM, avaient l'air plutôt contente de Linux. Et un très large nombre d'entreprise américaine ont l'air d'utiliser le serveur web (open source) Apache. Et même si l'open source n'était pas dans l'intérêt des entreprises américaines, où est-il écrit que toutes les activités partout dans le monde doivent être accomplies avec pour premier objectif l'intérêt des entreprises américaines ?
| "Linux est une lêpre; ..." |
Cette affirmation n'est ni grammaticalement, ni politiquement ni correcte dans les faits. Cela signifie-t-il que "Linus a le syndrome de Hansen" ? J'espère que non. Mais si c'est le cas, heureusement, cela se traite actuellement très bien. S'il veut dire que Linux est un gaspillage, les faits parlent tout autrement. S'il veut dire que "Linux est très contagieux", c'est vrai, mais une meilleure formulation eut pû être choisie.
| "... et a un effect nocif sur l'industrie américaine des Technologies Internet en dépréciant progressivement la valeur du secteur de l'industrie du logiciel. Le logiciel est aussi embarqué dans le matériel, puces, imprimantes et même l'électronique. Est-ce les logiciels embarqués devraient devenir 'libre' aussi, il serait naturel de conclure que la valeur du matériel chutera aussi." |
Si, disons, HP met du logiciel libre dans ses imprimantes, comment cela peut-il réduire la ***valeur*** de leurs imprimantes ? Cela réduirait le coût un peu, ce qui dans un marché compétitif les encouragerait à baisser un peu le prix, mais je ne vois pas pourquoi avoir des imprimantes moins chères soit une si mauvaise chose.
| " ... Torvalds et l'équipe de gestion du noyau Linux acceptent aveuglément des contributions de code source. Ensuite, ils demandent une certification. Mais la certification ne tient pour responsable ni le contributeur, ni la communité Linux, ni Torvalds. Ça ne garantit pas non plus que les sources sont produites "proprement". |
Ce commentaire est effectivement vrai, mais c'est valable pour tout logiciel et tous produits. Comment une entreprise avec des milliers de programmeurs peut-elle savoir d'où provient tout son code ? Vous allez dire: "Les avocats vérifie chaque ligne de code pour voir si elle est copyrightée." Bien sûr. C'est certainement pour ça qu'il y a tant d'avocats. Il y a beaucoup de code à vérifier.
Est-ce que Microsoft possède Windows? Peut-être que HP le possède. Un peu d'histoire devrait être clarifiée ici. Windows 3.1, 95, 98, et ME n'étaient basiquement que de vulgaires coquilles tournant au dessus d'un MS-DOS 16 bits (que Microsoft n'a pas écrit, mais acheté à une entreprise appelée Seattle Computer Products). Dans les années 80, Microsoft réalisa qu'elle aurait un jour besoin d'un véritable système d'exploitation 32 bits. À cette époque, David Cutler, l'un des principaux architectes du système d'exploiration pour le DEC VAX, VMS, venait juste de déménager à Seattle pour mettre en place le centre de développement destiné à produire le sucesseur de VMS. Quand le [top executives] de chez DEC a tué son projet en 1988, Cutler décida de quitter DEC et fut vite engagé par Microsoft pour diriger l'équipe qui a produit Windows NT. Cutler avait emmené quelques-uns de ses meilleurs éléments avec lui. Ce fut vraiment un coup de maître pour Microsoft. Les concepteurs de système d'exploitation de la qualité de Cutler sont rares.
Pour faire d'une longue histoire une courte, Cutler et son équipe réussirent et le résultat fut Windows NT.Lorsque l'interface graphique de Windows 98 fut ajoutée et quelques améliorations furent faites, le tout fut renommé Windows 2000. Une version légèrement modifiée est maintenant vendue sous le nom de Windows XP.
De façon non surprenante, WNT ressemblait beaucoup à VMS (Ajoutez juste un à chacune des lettres). Après tout, la même personne était l'architecte en chef des deux. Quand un concepteur talentueux écrit un système d'exploitation 32 bits puis en écrit un autre quelques années plus tard, il est possible qu'ils aient quelques sérieuses ressemblances. Je ne sais pas si une partie du code est le même. Pour plus de détails, allez voir cet article de Mark Russinovich. Quand DEC eut connaissance de WNT, ils en discutèrent un peu avec Microsoft et un truc excédant les 60 millions de dollars fut transférée de Redmond à Maynard pour résoudre le problèmeto solve the problem. Le cas ne passa jamais devant les tribunaux (probablement parce que Microsoft voulait sortir WNT rapidement et ne pas être ennuyé avec des années de litiges, même s'ils pensaient qu'ils gagneraient). Quelques années plus tard, DEC poursuivit Intel pour une prétendue violation de brevet sur le processeur Alpha, bien que le cas fut géré hors tribunal. En 1990, toutefois, il était clair pour tout le monde que l'ère du mini-ordinateur était terminée, malgré la remarque du président de DEC, Ken Olsen, "Personne n'a besoin d'un ordinateur dans sa [sic] maison." Au milieu des années 1990, DEC s'accrochait à n'importe quoi, menacant tout le monde en vue, juste pour survivre. Ça n'a pas fonctionné et en 1998 DEC fut racheté par Compaq, qui fut à son tour racheté par Hewlett-Packard, qui possède maintenant les droits de VMS.
Si Microsoft n'a pas pu s'assurer que son programmeur star, qui était connu pour avoir fait un travail similaire pour une compagnie concurrente, n'avait pas enfreint les lois de la propriété intellectuelle, comment eux ou n'importe quelle compagnie peuvent ils s'assurer que ses milliers de programmeurs n'ont pas fait quelque chose qu'ils n'auraient pas dû faire ? C'est impossible. Le problème des programmeurs utilisant du code de façon illégale est réel mais n'est pas réservé au logiciel libre. Et comment une entreprise peut-elle être sûre que ses chercheurs, ses ingénieurs et ses autres employés n'utilisent pas des techniques ou des procédés brevetés par ses concurrents. Ça ne peut pas être fait. Mais dire que le problème de vol de propriété intellectuelle est plus grand avec le logiciel libre que le logiciel propriétaire est totalement non fondé.
|
"... Linus ne pourrait pas avoir écrit tant de code," a dit Tanenbaum. "Mais il y a d'énormes variations d'un programmeur à un autre -- quelques recherches que j'ai vues disent qu'un excellent programmeur peut être 30 fois plus fort qu'un mauvais -- et Linus pourrait facilement être dans les premiers 10% ou premiers 1% des programmeurs.
--Lisa Stapleton, Linux Insider, May 21, 2004" |
Cet extrait est pris hors contexte. Ce "autant de code" désigne le système d'exploitation actuel Linux. Personne n'a jamais affirmé que Linus avait écrit toutes les lignes de la version actuelle. Ce que je disais était qu'un bon programmeur pourrait aisément avoir écrit les 10,000 lignes de Linux 0.01 en un an.
| "AdTI et Tanenbaum sont d'accord sur un point : le noyau Linux est un incroyable, mais formidable accomplissement." |
En fait, nous ne sommes pas d'accord sur ce point. Je n'étais pas du tout impressionné par le design monolotithique de Linux 0.01. Je pense avoir insisté sur ce point plusieurs fois déjà.
| "Comme beaucoup le savent, j'ai interviewé le professeur Tanenbaum, l'auteur de Minix, a copyright protected property by Prentice Hall. On March 8, 2004, Professor Tanenbaum sent me the following e-mail: "MINIX was the base that Linus used to create Linux. He also took many ideas from MINIX, including the file system, source tree, and much more." |
Linus a utilisé MINIX comme plate-forme de développement. Il n'y a aucune discussion à ce sujet. Il a aussi utilisé quelques idées de MINIX. But MINIX n'était pas original non plus. Un peu d'histoire :
Linux a utilisé des idées de MINIX
MINIX a utilisé des idées de UNIX
UNIX a utilisé des idées de MULTICS
MULTICS a utilisé des idées de CTSS
CTSS a utilisé des idées de FMS
En science, tout travail est basé sur ce qui l'a précédé. Rien d'inhabituel ici donc. Linus n'a pas volé le code de MINIX. Ce sujet a été bien documenté.
| "Dans une interview avec Tanenbaum, il est apparu que le professeur était un individu animé mais tendu au sujet des droits et attributions. Il sentait que les faits bien connus à propos du développement de Minix/Linux ne devait pas être discutés. Il était clair qu'il était embêté et probablement désolé d'avoir envoyé l'email en premier." |
Je suis plutôt animé tout le temps. Mais je deviens seulement tendu lorsque des gens essaient de me mettre des mots dans la bouche. Après une demie-heure à répondre constamment à la question "Linus pourrait-il avoir écrit le kernel lui-même ?" par l'affirmative, je commençais à être un peu irrité. Les psychologues débutants prennent souvent cela pour de l'embêtement [for being conflicted]. Les gens qui me connaissent savent que se moquer de moi ne me rend pas spécialement content.
| "Question #1: Est-il possible qu'un étudiant (Linus Torvalds) sans expérience en systèmes d'exploitation, non licencié Unix, sans utiliser du tout le code source de Minix ou Unix, pourrait écrire un noyau fonctionnel en six mois, alors que cela vous (Tanenbaum) a pris trois ans pour construire Minix ?" |
Comme je l'ai déjà dit avant, je ne travaillais pas dessus à plein temps du tout. J'avais un boulot régulier et je lisais des histoires à mes enfants pour qu'ils s'endorment tous les soirs. Ironiquement, le principal personnage de ces formidables livres de Sheila McCullagh était Roger Red-hat. Les théoriciens de la conspiration devrait s'intéresser à cette nouvelle information.
| "Dans les récents articles de Tanenbaum (5), il explique (comme il me l'a dit) que "d'autres" ont créé des clones d'Unix ou des systèmes d'exploitations avec les mêmes contraintes. L'argumentation de Tanenbaum n'a fait qu'augmenter nos doutes au sujet de l'histoire de Torvalds parce que la comparaison était trop incroyable. Il voulait nous faire croire qu'à 21 ans, Linus Torvalds, avec un an de programmation C, on comparait Doug Comer, un scientifique informatique accompli, ou qu'il était plus fort que l'équipe de Coherent, et bien entendu était aussi un meilleur programmeur que le bon professeur." |
Bien que j'encourage mes étudiants à penser que les professeurs sont infaillibles, spécialement dans la préparation des examens de passage, tous les profs ne sont pas des programmeurs hors norme. Des professeurs de mon département, plusieurs peuvent difficile écrire la moindre ligne. Le fait qu'un ou deux profs soient bons n'impliquent pas nécessairement que les étudiants soient de mauvais programmeurs. De plus, la première version de Linux n'était pas si grosse. J'ai déjà parlé de ça, je le rappelle.
| "Tanenbaum nous a parlé à plusieurs reprises du projet Coherent, mais il était facile de vérifier que c'était une situation totalement différente. Ce ne fut pas un effort en solo, c'était une équipe. Deuxièmement, le temps annoncé était faux. Tanenbaum nous a dit que ça a leur a pris 2 ans et s'est ensuite corrigé sur son site web en écrivant que ça avait pris 6 ans." |
Oui, je me suis corrigé. C'était 6 années-homme, pas 6 véritables années. Mais dans ce temps, il écrivirent le système d'exploitation complet, un compilateur C et tous les utilitaires. Dans son article, Brown dit que le compilateur GNU fait maintenant 110000 lignes de code. Le compilateur de Coherent faisait la moitié de çacompiler was half that, c'est à dire 60,000 lignes de code. Les utilitaires MINIX faisaient environ 30000 lignes de code et couvrait environ la même chose que Coherent. Ajoutez un noyau de 10000 lignes à cela, ce qui fait que les trois programmeurs de Coherent ont écrit 100000 lignes de code en 6 années-homme. C'est une productivité de 16000 lignes par année-homme. Sous cette lumière, je ne vois pas pourquoi il est plausible que des étudiants Canadiens produisent 16000 lignes par an mais pas plausible pour des étudiants finlandais de produire 10000 lignes par an. Il fait aussi froid en Finlande qu'au Canada, les programmeurs ne sont donc jamais tentés de sortir de chez eux.
| "Ritchie et Thompson avaient d'exceptionnelles connaissances de MULTICS-- et ont ensuite écrit UNIX from scratch. Complètement différent de Linus, qui dit qu'il a démarré sans rien et n'avait pas d'expérience. Une autre raison pour laquelle ceci est intéressant est que le noyau de Ritchie et Thompson faisait 11000 lignes de code après un certain nombre d'années et le noyau de Torvalds en faisait 32000 en moins d'un an. |
Ken Thompson était un jeune programmeur qui travaillait sur MULTICS. Il n'était pas l'un des concepteurs. Dennis Ritchie n'a rien écrit du code de MULTICS, bien qu'il avait un boulot à temps partiel au MIT pour écrire de la documentation sur le système de fichiers du système MULTICS lorsqu'il était étudiant en [graduate] à Harvard. Dire qu'ils étaient exceptionnellement familier avec MULTICS suggère que les deux connaissaient le noyau de fond en comble, ce qui n'est pas vrai. Ken a écrit la première version d'UNICS lui-même en code assembleur sur un PDP-7. Je pense que ça a pris moins d'un an. Il n'avait pas le livre de Lions puisque celui-ci ne serait pas écrit avant une décennie environ. Il s'est juste assis devant son terminal, probablement un ASR-33, et a commencé à taper. Dennis ne fut pas impliqué dans la première version du tout. Linux 0.01 ne faisait pas 32000 lignes de code. Ça faisait juste un peu moins de 10000 lignes.
| "Un autre problème avec la logique de Tanenbaum est qu'il ne présente que des exemples de gens qui possédaient des licences d'UNIX, avaient le code source d'UNIX ou étaient exceptionnellement familiés avec le développement logiciel. Il ne peut pas fournir un exemple raisonnablement comparable au cas de Torvalds." |
Dans mes précédents articles, j'ai indiqué presque une demie douzaine de noyaux écrits en environ une année. La plupart de ceux-ci n'était pas licenciés Unix. J'en ai même oublié un, IDRIS, écrit par Bill Plauger. Je pense que l'écriture en C de Linus sur un PC avec au moins 64 KB était plus simple que l'écriture de Ken de UNICS en assembleur sur PDP-7 avec 4k. L'expérience de Ken avec MULTICS (qui n'a initialement pas réussi à démarrer parce qu'il ne tenait pas dans les 256K de mémoire du gros mainframe pour lequel il avait été écrit) ne l'a pas beaucoup aidé pour écrire du code assembleur pour un petit mini-ordinateur. En bref, l'écriture de Linux pour le PC n'est pas si différente de l'écriture de Ken d'UNICS pour le PDP-7. Ken avait un peu plus d'expérience, mais l'utilisation de l'assembleur et la petite mémoire ont rendu le boulot plus difficile. Je trouve l'argument que quelque chose ne peut pas être fait parce que la demie douzaine de personnes qui l'ont déjà fait avait plus d'expérience que la précédente un peu étrange. Faire quelque chose est plus facile lorsque quelqu'un d'autre a montré que ça pouvait l'être.
| "Problème [sic] #2: Pourquoi tout le monde affirme continuellement que Torvalds "a écrit Linux from scratch"?" |
Peut-être parce que tout le monde familier avec les faits, à l'exception de Ken Brown, est arrivé à la même conclusion ? Comment se fait-il que personne ne remette en question que Dennis ait conçu le langage C et écrit le premier compilateur C entièrement par lui-même ? C'était probablement aussi difficile que d'écrire un noyau.
| "Question #3 : Si Linux était basé sur Minix, est-ce qu'il ne doit pas des droits, des attributions à Prentice Hall?" |
Premièrement, Linux 0.01 ne contient pas de code de MINIX, comme la comparaison d'Alexey Toptygin le montre. Deuxièmement, même si ça avait été le cas, il n'y avait aucune interdiction pour utiliser le code MINIX pour des buts non commerciaux, même au début. Je trouve extrêmement déshonorant pour Brown d'avoir engagé Toptygin pour comparer le code de Linux et de MINIX, avoir reçu un rapport disant qu'ils étaient complètement différents, et de continuer à clamer joyeusement que Linux est basé sur MINIX. Je ne sais pas si Brown a utilisé MS-Word pour écrire son livre, mais dire que Linux est basé sur MINIX est comme dire que le livre de Brown est basé sur MS-Word.
| "AdTI a contacté l'employeur de Torvalds, OSDL, pour l'interviewer pour une clarification. Sans aucune preuve, Tanenbaum va jusqu'à dire qu'AdTI n'a pas essayé de contacter Linus, mais ceci est contredit pas le post attaché. Le contact chez OSDL a dit à AdTI que si Linus ne revient pas vers nous, il n'est pas intéressé par l'interview." |
AVANT de dire que Brown n'a pas parlé à Linus, j'ai demandé à Linus si Brown l'avait interviewé. Voici un extrait de son email :
----------------------
AST: Est-ce que Brown est venu vous voir ?
Linus: Nan. Je n'arrive même pas à trouver un email dans mes archives, à moins qu'il ait utilisé un autre nom ou que son mail a été marqué comme spam et supprimé, il n'a jamais essayé de m'approcher.
----------------------
Pour le moins, Brown n'a pas beaucoup essayé. Pendant les dernières semaines, des reporters de partout ont réussi à me trouver pour des interviews. Il n'aurait sûrement pas été si difficile pour Brown de contacter Linus à propos de ce brûlant sujet.
| "L'université de Vrije est un superbe endroit. AdTI encourage quiconque passant à Amsterdam d'aller la visiter. Sur la recommandation du bon professeur, AdTI a passé un certain nombre d'heures à parler avec les gens de la faculté des sciences informatiques de Vrije. Ces heures furent très intéressantes et extrêmement aidante, nous sommes très reconnaissants." |
Un autre point pour Ken Brown. Nous avons cette superbe maîtrise en systèmes distribués et parallèles...
| "Le professeur Tanenbaum n'a pas convaincu AdTI que Linus Torvalds a écrit le noyau Linux from scratch. " |
J'étais dans l'équipe de débat au lycée [high school?]. Je crois que je deviens rouillé.
Quoi qu'il en soit, le seul argument de Brown est qu'il, personnellement, ne croit pas qu'un enfant de 21 ans puisse avoir écrit un noyau de système d'exploitation en un an, malgré le fait qu'une douzaine de personnes l'ait fait plus auparavant et que le code de Linus n'était initialement pas génial du tout. Même devant un groupe de personnes qui lui disent autrement et que le consultant qu'il a engagé pour examiner le code lui dise que le code est complètement différent de MINIX, Brown ignore simplement les faits et persisite dans son idée. Je parierais qu'il ne croit pas l' affirmation largement reportée selon laquelle Mozart a écrit trois symphonies et les a jouées pour le roi d'Angleterre quand il avait 9 ans sur la base que les enfants de 9 ans ne font normalement pas ce genre de choses..
Andy Tanenbaum, 6 juin 2004
Si vous avez remarqué une erreur, vous pouvez m'écrire ici of this page.