Analyse du code de Linux dont SCO prétend qu'il viole leurs copyright et secrets commerciaux.

Bruce Perens <bruce@perens.com>, avec l'aide de nombreux membres de la communauté Linux. community.

Vous pouvez republier cet article.

Le 18 août à son show commercial de Las Vegas, SCO a montré du code qu'ils prétendent copié dans Linux en violation de leur copyright ou de leurs secrets commerciaux. L'éditeur allemand Heise a photographié deux diapos du show de SCO sur son code et les a rendu publiques sur son téléscripteur [ndt: "news ticker"]. Heise édite c't, un populaire magazine allemand d'informatique. Voici les diapos:


Cette diapo contient certains commentaires du code source de "System V", et montre leur correspondance avec des commentaires très semblables dans Linux. Quelques commentaires de System V sont délibérément dissimulés en utilisant les caractères grecs d'une police Symbol. Vous pouvez tout révéler en tapant le texte grec puis en revenant à une police latine. Le résultat est:

* As part of the kernel evolution toward modular naming, the
* functions malloc and mfree are being renamed to rmalloc and rmfree.
* Compatibility will be maintained by the following assembly code:
* (Also see mfree/rmfree below)
Ce commentaire apparaît au-dessus de la fonction montrée dans la diapo suivante. C'est amusant que les gens de SCO n'aient pas pensé que ce changement de police puisse être si facilement défait. Je suis content qu'ils ne travaille pas sur la sécurité de mon 'ordinateur: -)


Cette diapo a plusieurs erreurs de syntaxe C et ne compilerait jamais. Donc elle ne montre absolument aucun code source de Linux. Mais nous avons trouvé la fonction malloc() à laquelle cette diapo se réfère. Elle est incluse en code copyrighté par AT&T et a deux fois été libérée sous license BSD: une fois par Unix Systems Labs (AT&T), et à nouveau par Caldera, la compagnie qui s'appelle maintenant SCO. Certaines des versions libérées incluent le commentaire dans la première diapo. Les développeurs de Linux ont légalement le droit de se servir du code sous cette license. Aucune violation du copyright ou des secrets commerciaux de SCO n'a eu lieu.

La fonction a été écrite par Dennis M. Ritchie ou Ken Thompson à AT&T, en 1973. Elle apparaît dans les répertoires "dmr" et "ken", dans différentes versions. Vous pouvez voir la fonction dans ce fichier, à l'origine appelé dmr/malloc.c. Le code vient d'Unix version 3, la plus ancienne version connue d'Unix qui soit toujours compréhensible par une machine. Le source complet pour ce système peut être trouvée ici sur le Net. En 2002, Caldera a libéré ce code en Open Source, sous cette license. Caldera est, bien sûr, la compagnie qui s'appelle maintenant SCO. La license permet très clairement aux développeurs de Linux d'employer le code en question. L'information historique sur pourquoi Caldera a libéré le code source d'Unix au public est ici, et contient des informations en rapport avec les plaintes en justice de SCO.

Le code de malloc() apparaît également dans Lions Commentary on Unix 6th Edition. Le livre de Lions a été publié pour la première fois en 1977, avec une limite de divulgation, et a été employé comme manuel par les universités qui avaient une license du source d'Unix. AT&T vendait une copie de ce livre aux licensiés d'Unix pendant un certain temps, et une version photocopiée a largement circulée parmi les licensiés d'Unix. Santa Cruz Operation (maintenant Tarantella), avant sa vente d'UNIX à Caldera (maintenant SCO), a autorisé l'édition du livre sans limite de divulgation en 1996.

Une autre version de l'algorithme est parue dans Kernighan & Ritchie, The C Programming Language, Prentice Hall 1978, apparemment sans restrictions.

Une autre version du code est copyrightée par l'Université de Californie en tant que partie du système Unix BSD qu'elle a produit pour l'armée des Etats-Unis et libéré en Open Source. Ce code est également sous license BSD, et apparaît ici dans ce fichier libéré en 1984. C'est probablement cette version qui a pénétré à travers du code contribué par le fabricant de systèmes graphiques SGI à Linux. Il est intéressant de considérer comment ce code en est venu à appartenir à l'Université.

Au début des années 90, AT&T's Unix Systems Labs (USL) a poursuivi BSDI, une compagnie vendant le système BSD, et l'Université de Californie, à propos de ça et d'autre code dans le système BSD. Les réclamations que SCO fait sont très semblables aux réclamations d'AT&T. AT&T a perdu. On a découvert qu'AT&T avait fortement copié l'université sans lui attribuer le code, et donc AT&T a calmé l'affaire. Dans le règlement amiable, l'université accepta d'ajouter une notice de copyright AT&T à quelques fichier en continuant à les distribuer sous license BSD. AT&T accepta de payer les frais de justice de l'université. Quelques détails du procès sont ici.

Le code d'AT&T qui était l'objet de ce procès survit dans le système actuel de SCO. L'équipe de reconnaissance de motifs [ndt: pattern] de SCO a trouvé ce code et a conclu a raison qu'il était semblable au code dans Linux. Mais ils n'ont pas fait l'effort supplémentaire de vérifier si oui ou non le code était légalement copiable.

En fait, vous n'avez pas besoin d'une "équipe de reconnaissance de motif" - vous pouvez juste taper des lignes du programme prétendument copié dans google.com, et Google vous montrera certains des endroits où ce code a été posté sur le Net.

Ca me frappe que SCO montrait là son meilleur exemple. C'est ça?!?!? Du vieux code sale de 1973 qui a été partout sur le Net pendant trois décennies et qui est libéré sous une license qui permet aux développeurs de Linux de l'employer en toute impunité? Si c'est leur meilleur exemple, ils sont voués à perdre.

La réponse de SCO à ce document est C'est sa parole contre la nôtre. Je ne vous demande pas, cependant, de me croire sur parole. Je vous ai présenté des liens vers les preuves, tout cela est disponible sur des sites web qui ne sont pas sous mon contrôle. Je ne vous ai jamais demandé un accord de non-divulgation. Je n'ai dissimulé aucune de mes informations sous une police illisible. Ce serait gentil à SCO d'agir de cette façon aussi.

Je me suis laissé dire que le code en question a déjà été enlevé des plus récentes versions de développement du noyau Linux, pour des raisons techniques

Mes sources pour cette analyse sont quelques membres très obligeants de la communauté Linux qui ont signalé l'information sur le site web Linux Weekly News web site, et sur cette page d'information très utiles sur l'affaire SCO.

Traduction Xavier Brochard <xavier@alternatif.org> Voir l'article original.
Bruce Perens n'est en aucun cas responsable des erreurs contenue dans cette traduction, que vous pouvez republier.