Mangeur de cigogne

Vincent a raison ! Nous ne serions rien sans notre mangeur de cigogne préféré. Ce site DOIT gagner parce qu’il est très beau tout en étant, ce qui ne gâte rien, valide XHTML et valide CSS.

Vous qui trouvez ce site agréable, ajoutez un lien vers celui-ci sur votre site (recopiez par exemple ce bout de code html : <a href="http://mangeur-de-cigogne.info/" title="mangeur de cigogne">mangeur de cigogne</a>).

Allez ! Ensemble nous pouvons faire de ce site le vainqueur du concours en ajoutant chacun un lien vers lui.

Mais pourquoi ajouter un lien sur mon site va-t-il aider ce site à gagner, me direz vous ?

C’est très simple : le concours se termine le 15 juin 2004 et le vainqueur sera celui qui est le premier résultat dans google à la recherche de “mangeur de cigogne”. Google utilise pour classer ses résultats (entre autre) le nombre de liens vers un site parce qu’il considère qu’un site souvent lié est certainement le meilleur, pas totalement saugrenu, vous en conviendrez. En tapant ces mots sur google, vous verrez que ce site est actuellement classé environ à la 4ème position : tout est donc encore largement jouable !

Bref, vous comprenez maintenant pourquoi le moindre lien supplémentaire peut l’aider à gagner, vous savez donc ce qu’il vous reste à faire…

Linus a-t-il écrit Linux, traduction d'un des contacts de Ken Brown

À la fois pour relayer totalementcrétin et pour continuer sur le sujet qui m’a occupé un certain temps. Voici la traduction d’un email transmis à Andrew S. Tanenbaum par Alexey Toptygin. Celui-ci a effectué une comparaison du code de Linux avec celui de Minix sur la demande de Ken Brown, voici ce qu’il en dit, lisez-le, c’est édifiant :

Aux alentours de mi-avril, j’ai été contacté par un de mes amis qui m’a demandé si je voulais faire une analyse de code en tant que consultant pour son patron, Ken Brown. J’ai finalement travaillé pendant 10 heures à comparer les premières version de Linux et de Minix et à chercher du code copié.

Mes résultats sont . Pour résumer, mon analyse n’a pas trouvé la moindre preuve que du code était copié dans un sens ou dans l’autre. (Je sais que Minix précède Linux, mais j’ai fait la comparaison bidirectionnellement dans un souci d’objectivité).

Alors que je travaillais à ça pendant mon temps libre, Ken n’arrêtait pas de me harceler pour que je me dépêche et que je finisse. Il me disait qu’il avait un papier en attente de publication et que mon analyse constituait les dernières données qui lui manquait. Je lui ai envoyé les résultats finaux (qui sont ceux fournis à l’URL ci-dessus, exactement dans le même état que ceux donnés à Ken Brown) le 17 mai. Lorsque je l’ai appelé pour lui demander s’il avait des questions à propos de l’analyse ou des résultats et pour lui demander s’il souhaitait voir l’opération répétée avec d’autres outils de comparaison, j’ai été pour le moins choqué. Apparemment, Ken attendait de moi que je trouve de beaux morceaux de code source copiés. Il a passé la plus grande partie de la conversation à tenter de me convaincre que j’avais dû faire un erreur, puisqu’il était clairement impossible pour une personne d’écrire un OS et que du ‘vol de code’ avait dû avoir lieu.

Donc, je crois que ce que je veux dire c’est : ne prêtez pas attention à cet homme, d’après moi il ne connait rien à ce dont il parle (NDT : Traduction aimable de [he is talking out of his ass]). Je m’excuse pour tout désagrément que j’ai pu vous causer en participant (indirectement toutefois) au [pet project] de Ken.

N’hésitez pas à reproduire cet email et le contenu de la page de mon analyse.

– Alexey Toptygin

Comme toujours, je suis ouvert à toute critique et à toute proposition pour mieux respecter le sens initial du texte de l’auteur original. Vous pouvez me contacter ici, merci d’avance.

Mails libérés place Beauvau

Migration

Comme beaucoup d’entre vous le savent déjà, le ministère de l’intérieur migre son système de messagerie électronique. Pourquoi je trouve ça bien ? Bon, ceux qui me connaissent se diront que c’est parce que je crois vraiment aux logiciels libres et au business model associé, certes mais pas seulement. Chaque fois, donc, que j’entends qu’un évènement important comme celui-ci s’est produit, ça me fait effectivement très plaisir.

Toutefois, dans ces situations où ce sont carrément des instances publiques qui sont mises en cause, nous (les partisans du LL) ne devrions plus être les seuls à apprécier : cette joie devrait être nationale. Pourquoi ?

Ah les économies

L’un des premiers arguments avancés lorsque l’on parle de libre en général, c’est la gratuité. Il faut tout de même savoir que ce n’est ni synonyme ni obligatoire : on peut très bien payer pour un logiciel libre. C’est même évidemment ce vers quoi je suis persuadé qu’il faut tendre pour que ce système puisse survivre. Mais non pas payer pour essayer, mais dans l’autre sens. Si vous estimez qu’un logiciel vous rend des services et que vous l’utilisez très régulièrement, pourquoi n’envisageriez vous pas de verser quelque chose aux auteurs. Faites le calcul : si vous versez dès maintenant 50€ pour ce super logiciel dont vous ne pouvez plus vous passer, qu’est-ce que c’est en comparaison des 150€ minimum que vous paieriez rien que pour Windows, puis pour le pack office, pas grand chose …

Je me répète parce que ce n’est pas assez clair le plus souvent : libre ne veut pas dire gratuit. Pour casser le mythe des économies, rappelons bien une chose : le plus souvent les économies ne se ressentent pas sur le court terme. On ne va pas diviser ses coûts par 10 la première année, évidemment. Le coût pourra généralement être effectivement inférieur, mais pas dans les proportions qu’on a tendance à s’imaginer. J’ai encore lu récemment que justement, ce sentiment de déception dû au fait qu’on s’aperçoive finalement que les économies sont moins importantes que prévu est courant. Certains demandent même une plus grande qualité pour un coût moindre et s’étonnent de ne pas toujours l’obtenir…

Pourquoi est-ce nuisible ?

C’est très simple : si avant de mettre en route, le responsable qui vous confie les rennes de la migration (cas le plus courant) s’attend à ce que tout devienne rose et que vous ne vous souciez pas de lui dire que ça reste de l’informatique avec les problêmes courants associés, amoindris certes : virus, sécurité, mais néammoins toujours potientiellement présents, ça risque de très mal se passer. Il faut que vous preniez du temps pour lui expliquer les résultats qu’il peut attendre au lieu de le laisser faire une synthèse suroptimiste de tout ce qu’il a lu un peu partout. Sinon, lorsqu’il va vous demander pourquoi il ne voit pas de baisse dans ses factures et que vous lui répondrez que “c’est normal au début”, il y a de fortes chances qu’il apprécie beaucoup moins que si vous l’y aviez préparé correctement avant.

De plus, si on considère une migration progressive et itérative, le passage des machines d’un environnement à un autre amènera nécessairement une durée plus ou moins longue où les deux environnements vont devoir cohabiter : deux fois plus de travail (voire plus). De même, si vous n’avez pas prévu ça et qu’il n’est pas prévenu, il ne risque pas d’apprécier…

Bon, le tableau que je viens de vous dépeindre est plutôt noir. Pourquoi je vous dis ça ? Parce que je ne supporte pas qu’on ne dise pas la vérité : tenter de la masquer aura un résultat 100 fois plus néfaste lors de sa mise au jour que si vous aviez joué franc-jeu dès le début.

Les gens qui ne suivent pas ces règles produisent l’effet inverse de celui escompté : les gens ressortent insatisfaits et ça fait boule de neige… À un moment où certains hésitent à se lancer, ce sont ces opinions déçues qui peuvent encourager à ne pas tenter l’expérience.

Une petite parenthèse au sujet des nains boutonneux qui hurlent trop communément à la seule évocation de wind… : “Argh ! windows suxxx , linux roxxxx, bsd rulezzzzzzzzzzzzzz”. Je les déteste, ils sont pitoyables et ne font que jeter le discrédit sur le libre en général et vont à l’encontre de l’ouverture d’esprit qu’est la philosophie de base du libre. Je ne crois pas que ce genre d’argument dignes d’un enfant de 3 ans puissent aider en quoi que ce soit à défenestrer un utilisateur (pour reprendre une expression amusante vue dans un Linux magazine il y a quelques mois).

Les avantages

Bref, revenons donc au sujet qui nous occupe : “tout le monde devrait aimer la migration vers le libre des services publics”.

  • Plutôt que d’envoyer un argent excessif à la firme de Redmond, on embauche des employés locaux et on fait travailler des entreprises locales. Argument certes protectionniste, mais généralement convaincant. Je ne sais pas si Sarkozy y a pensé, mais pour relancer la consommation, c’est plutôt une bonne idée.

  • Facilité de re-migration ultérieure : si dans dix ans, on décide de rechanger de système, le fait d’avoir des format de stockages ouverts facilitera nécessairement le travail.

    Pour exemple, voici une description rapide du format de stockage d’OOo Write, l’offre alternative à MSWord : ce logiciel stocke ses fichiers en XML dans une arborescence claire et les images dans des formats classiques et ouvrables par n’importe quel logiciel (PNG). Le tout est ensuite simplement zippé pour ne former qu’un seul fichier, habituellement enregistré sous l’extension .sxw.

    Formidable, non ? Il suffit de dézipper ce fichier sxw pour récupérer les données brutes afin d’en faire ce qu’on veut. Avec un analyseur syntaxique XML qui va bien, n’importe quel développeur est alors en mesure de traiter ces données afin de vous créer un nouveau format que vous demanderiez. Plus besoin de passer des jours et des jours à tenter un reverse engineering d’un fichier .doc ou .xls que vous voulez modifier alors que vous n’avez plus Word ou Excel. C’est ce genre de choses qui font que dans le monde du libre, il est possible d’ouvrir un fichier avec des dizaines de logiciels différents sans aucun problème de compatibilité…

  • C’est mon argent ! Eh oui, les ministères sont payés par nous, les citoyens : si je peux récupérer une partie de ce que je verse pour en profiter moi aussi, je ne vais pas m’en priver. J’ai lu que le le logiciel commandé par le ministère était en GPL : donc, “Tous les modules développés pour nous seront donc reversés à la communauté des développeurs et publiés sur le net”. Après tout, ça vous parait pas normal à vous qu’un service public fasse profiter au public de son travail ? Ce ne serait un peu le but d’un service public ?

Conclusion

En me relisant, je me rends compte que j’ai pu laisser penser qu’utiliser des logiciels libres ne présentait pas un intérêt en termes de coûts. Soyons sérieux, c’est le cas et toutes les études sérieuses le montrent (par étude sérieuse, j’entends celles qui ne sont pas commandées par Microsoft ou toute autre boîte qui lutte contre le LL en général).

Ce que j’ai voulu rappeler, c’est que les économies ne sont pas immédiates. Il est évident que les coûts de formation, les coûts de mise en place et de maintenance vont certainement compenser les licences des logiciels propriétaires utilisés dans un premier. Attention toutefois à ne pas non plus penser que les logiciels propriétaires ne nécessitent pas de maintenance… Un firewall, qu’il tourne sous Linux, Windows, *BSD ou UNIX nécessitera toujours un administrateur. Si ce n’est pas le cas, vous devriez sérieusement vous inquiéter de la sécurité informatique de votre entreprise.

Mais une fois que votre personnel aura appréhendé la base, les économies vont commencer à apparaître.

Des exemples ?

  • Vous allez pouvoir mettre à jour votre système beaucoup plus régulièrement et bénéficier ainsi rapidement des améliorations.
  • Au fil de l’appréhension du nouveau système, les coûts de formation vont baisser.
  • Si vous avez besoin d’une nouvelle fonctionnalité pour le logiciel que vous utilisez, vous pouvez la développer en interne plutôt que de la demander au fournisseur qui, s’il accepte, vous la fera sûrement payer très cher.

J’espère que ces quelques arguments auront contribué à vous convaincre un peu plus ou au moins à vous informer sur le sujet. Si vous avez des questions sur le sujet, n’hésitez pas à m’écrire, je me ferai un plaisir de répondre à toutes vos questions.

Blogentaire

Très fort, les commentaires sportifs dans un blog. Je suis en train d’inventer le blogentaire sportif ! Même pas en direct, c’est ça qu’est fort. Je vais essayer de vous faire vivre ce match en différé :-).

Je suis en train de coder en regardant en même temps la télé (merci freebox) et je suis impressionné par Venus Williams (j’ai un doute sur le prénom, c’est celle qui mesure 1,85m), elle tape comme une dingue dans toutes les balles ! Elle a laminé son adversaire (Zuluaga) au premier set 6/1 et là cette dernière est en train de reprendre du poil de la bête. Elle a rivalisé avec Williams au cours du second set, celle-ci fait beaucoup plus d’erreur qu’au premier set où elle semblait imbattable.

Le score actuel est donc de 6 jeux à 5 pour Williams : hélas, Zuluaga vient de se faire breaker (elle a perdu son service). Elle menait 5/4 mais s’est donc fait prendre les 2 jeux suivants…

Les joueuses entrent sur le terrain, Williams sert : double faute ! 0-15. Eh hop un superbe lob de Zuluaga qui lui permet de mener 0-30… Mais elle fait malheureusement deux retours directs dans le filet… 30-30.

Après deux fautes directes de Venus, Zuluaga gagne finalement le jeu. Ce qui ramène le score à 6 jeu partout.

Je récapitule : 6/1 6/6 => Le tie break sera soit le jeu de retour à égalité aux sets pour Zuluaga soit le jeu du match pour Williams…

À 2-1 au tie-break, l’arbitre estime qu’une balle plutôt litigieuse est out au service de Zuluaga ce qui ramène le score à 2-2. Le stress semble gagner celle-ci car elle fait alors trois fautes directes, une derrière la ligne de fond, une tapée à la verticale par boisage et une trop à droite… 5-2

Ça s’annonce plutôt mal, elle pert encore le point suivant : 6-2. Elle parvient après une longue course en long et en large du terrain à ramener plusieurs balles tapées très fort par Williams. 6-3.

Williams sert une deuxième balle et parvient à mettre en difficulté Zuluaga qui monte une balle un peu trop haut pour Williams qui est au filet et termine en frappant fort de l’autre côté…

Résultat, Williams gagne : 6/1 - 7/6. Dommage, je trouvais intéressant la remontée de Zuluaga, j’aurais aimé que ça dure plus longtemps.

Je hais les lundi

Dévolution

Et hop, voilà comment on évolue… Vous en êtes où, vous ?

Linus a-t-il écrit Linux, traduction de la réponse de Tanenbaum

Mise à jour du 3 mai 2005.

J’ai finalement décidé de tout mirrorer à un seul endroit.

Mise à jour du 1^er^ juin.

Je viens de recevoir la réponse de Andrew Tanenbaum et il m’autorise à laisser la traduction :

I don’t mind the translation, but please put in the banner ad at the time.
Andy Tanenbaum

Comme il le demande, j’ajoute le bandeau publicitaire du site d’origine

www.TellAnAmericanToVote.com

Après ce billet sur tc indiquant que le cher Ken Brown de l’institut Alexis de Tocqueville avait publié un livre remettant en question l’écriture de Linux par Linus Torvalds, ce dernier avait initialement répondu qu’il n’en était effectivement pas l’auteur, mais qu’il était un homme de paille pour le père Noël et la petit souris…

Ensuite, c’est carrément la principale source de Ken Brown, le célèbre Andrew S. Tanenbaum, qui a démolli l’accusation. J’ai trouvé qu’il serait intéressant que la communité francophone bénéficie d’une version française de ce document pour qu’il ait un impact plus important et une diffusion plus large, j’ai donc pris mon temps, mon courage et mon dictionnaire à deux mains (en gardant une main sur le clavier, oui je sais, ça fait trois mains… Je suis multihanded…) et je l’ai fait.

La traduction ci-dessous a été effectuée par mes soins et ne se prétend en aucun cas un travail d’une qualité et d’une justesse irréprochable. Je ne suis pas traducteur professionnel et je suis encore assez peu habitué aux longues traductions. J’ai donc certainement fait des choix qui ne s’avèrent pas des plus judicieux. Si certaines parties vous paraissent bizarres et que avez le temps de faire une relecture en fonction de l’original pour me proposer des améliorations, si vous remarquez des fautes de frappes ou des parties qui vous semblent ne pas sonner très français (ce qui est fort possible car on peut finir, lorsqu’on traduit, par mélanger certaines tournures de la langue source et de la langue cible), je vous encourage à m’en faire part, je vous en serai très reconnaissant et je vous promets que j’en tiendrai compte.

Comme vous pourrez le voir, j’ai quelquepeu outrepassé la consigne de AST indiquant que seules des versions identiques peuvent être diffusées… Comme toujours, une traduction étant aussi un travail d’interprétation, on ne peut pas considérer cette version comme une copie stricte de l’original. Au moment où vous lirez cet article, cela signifiera que je l’aurai rendu public et que j’aurai donc certainement déjà envoyé une demande de publication à AST.

Toutefois, comme il indique recevoir énormément d’emails et qu’il risque de rater le mien, je publierai ce document avant la réponse afin d’éviter que le travail de traduction que j’ai fournie n’ait été totalement inutile (je ne l’ai en effet évidemment pas traduit pour moi, mais pour la communauté… S’il ne restait que sur mon disque dur, cela serait stupide).

Donc, si je recevais finalement une réponse de l’auteur original me demandant instamment de retirer cette traduction, je le ferais immédiatement, si elle vous intéresse, lisez la donc vite au cas où :-). De même, si je recevais une réponse m’autorisant à diffuser librement ce document, vous verriez immédiatement une note apparaître… En attendant, je vous demande de ne pas copier cette version partout, merci d’avance…

Quelques Notes sur l’article “Qui a écrit Linux, Release 1.5”


Contexte

L’histoire d’UNIX et de ses différents enfants et petits-enfants a été à l’actualité récemment grâce au livre de l’institut Alexis de Tocqueville. Étant donné que j’ai été impliqué dans une partie de cette histoire, je ressens l’obligation de la mettre au clair et de corriger quelques erreurs extrêmement sérieuses. Mais avant cela, quelques informations sur le contexte.

Ken Brown, Président de l’institut Alexis de Tocqueville, m’a contacté début mars. Il m’a annoncé qu’il était en train d’écrire un livre sur l’histoire d’UNIX et qu’il aimerait m’interviewer. Comme j’ai écrit 15 livres et que j’ai été impliqué dans l’histoire d’UNIX de plusieurs façons, j’ai dit que je voulais bien aider. J’ai été interviewé par beaucoup de gens pour beaucoup de raisons à travers les années, je suis passé à la radio et à la télé néerlandaise et dans divers journaux et magasines, donc je ne m’en inquiétais pas trop.

Brown est arrivé par avion à Amsterdam pour m’interviewer le 23 mars 2004. Apparemment je n’étais la seule raison de sa venue en Europe. L’interview a commencé de façon plutôt incertaine, grossièrement paraphrasée comme suit :

AST : “Qu’est-ce que l’institut Alexis de Tocqueville ?”

KB : “Nous produisons des travaux politiques publics.”

AST : “Un comité d’experts, comme la Rand Corporation ?”

KB : “En quelque sorte.”

AST : “Qu’est-ce qu’il fait ?”

KB : “Il publie des rapports et des livres.”

AST : “Qui le subventionne ?”

KB : “Nous avons de multiples sources de financement.”

AST : “Est-ce que SCO est l’une d’elles ? Est-ce à propos du procès de SCO  ?”

KB : “Nous avons de multiples sources de financement.”

AST : “Est-ce que MicroSoft est l’une d’elles ?”

KB: “Nous avons de multiples sources de financement.”

Il était extrêmement évasif au sujet de la raison pour laquelle il était là et qui le financait. Il ne cessait de dire qu’il était simplement en train d’écrire un livre au sujet de l’histoire d’UNIX. Je lui ai demandé ce qu’il pensait du livre de Peter Salus, Un quart de siècle d’UNIX. Il n’en avait jamais entendu parlé ! Je veux dire, si vous êtes en train d’écrire un livre sur l’histoire d’UNIX et vous faites 3000 miles (NDT : environ 4800 km) pour interview un mec sur le sujet, est ce que ça ne vous viendrait pas à l’esprit d’aller sur amazon.com et de taper “history unix” dans la boîte de recherche, pour laquelle le livre de Salus est le premier résultat  ? Pour 28$ (et livraison gratuite si vous payez par carte bleue) vous pourriez en apprendre un énorme bout sur le sujet et éviter ainsi de manquer quoi que ce soit. Comme je l’ai rapidement appris, Brown n’est pas le pire de l’équipe, mais j’étais déjà suspicieux. En tant qu’auteur depuis longtemps, je sais qu’il est sensé d’être au moins au courant de ce qui est en compétition. Lui ne s’en inquiétait pas.

UNIX et Moi

Je n’ai pas trouvé anormal que Brown veuille m’interviewer à propos de l’histoire d’UNIX. Il y a des gens pire à qui demander. À la fin des années 70 et au début des années 80, j’ai passé plusieurs étés dans le groupe UNIX (Dept. 1127) des Bell Labs. J’ai connu Ken Thompson, Dennis Ritchie, et le reste des gens impliqués dans le développement d’UNIX. Je suis resté dans la maison de Rob Pike et celle de Al Aho pour des périodes de temps assez longues. Dennis Ritchie, Steve Johnson, and Peter Weinberger, parmi d’autres ont séjourné dans ma maison à Amsterdam. Trois de mes thésards ont travaillé dans le groupe UNIX des Bell Labs et l’un d’eux est aujourd’hui un membre permanent de l’équipe.

Bizarrement, quand j’étais aux Bell Labs, je ne m’intéressais pas aux systèmes d’exploitation, bien que j’en aie écrit un et publié un document à ce propos (voir “Software - Practice & Experience,” vol. 2, pp. 109-119, 1973). Je m’intéressais alors aux compilateurs, comme j’étais le designer en chef du “Amsterdam Compiler Kit” (see Commun. of the ACM, vol. 26, pp. 654-660, Sept. 1983.). J’ai passé quelques temps là-bas à discuter de compilateurs avec Steve Johnson, tout en travaillant en réseau avec Greg Chesson, écrivant des outils avec Lorinda Cherry, et rédigeant des ouvrage avec Brian Kernighan, entre autres auteurs. Je suis aussi devenu ami avec l’autre “étranger” là-bas, Bjarne Stroustrup, qui allait plus tard concevoir et implémenter le C++.

En résumé, bien que je n’aie rien eu à voir avec le développement de l’UNIX original, je connaissais tous les gens impliqués et plutôt bien une grande partie de l’histoire. De plus, mon contact avec le groupe UNIX des Bell Labs n’était pas un secret; Je les ai même remercié pour m’avoir accueilli comme visiteur d’été dans la préface de la première édition de mon livre Computer Networks. Étonnamment, Brown ne savait rien de tout ça. Il n’a pas fait ses devoirs avant de s’embarquer dans son petit projet.

MINIX et Moi

Des années plus tard, je donnais des cours un cours sur les systèmes d’exploitation en utilisant le libre de John Lions sur UNIX Version 6. Quand AT&T a décidé d’interdire l’enseignement du fonctionnement interne d’UNIX, j’ai décidé d’écrire ma propre version d’UNIX, libre de toute code d’AT&T et de toutes restrictions, afin de pouvoir enseigner sur son sujet. Mon inspiration n’a pas été mon temps passé aux Bell Labs, bien que de savoir qu’une personne avait pu écrire un système d’exploitation UNIX-like (Ken Thompson avait écrit UNICS sur un PDP-7) me disait que c’était possible. Ma réelle inspiration fût une remarque de Butler Lampson dans un de ses cours sur les systèmes d’exploitation que j’ai suivi alors que j’étais en thèse à Berkeley. Lampson venait juste de finir de décrire le système d’exploitation pionnier CTSS et dit, de sa façon inimitable : “Y a-t-il quelqu’un ici qui ne pourrait pas écrire CTSS en un mois ?” Personne ne leva la main. J’en conclus qu’il fallait être vraiment stupide pour ne pas être capable d’écrire un système d’exploitation en un mois. Le papier cité ci-dessus concerne un système d’exploitation que j’ai écrit à Berkeley avec l’aide de Bill Benson. Ça a pris beaucoup plus qu’un mois, mais je ne suis pas aussi rapide que Butler. Personne ne l’est.

Je me suis donc proposé d’écrire un clone minimal d’UNIX, MINIX, et je l’ai fait tout seul. Le code était 100% libre de la propriété intellectuelle d’AT&T. Le code source complet fût publié en 1987 comme annexe d’un livre, Operating Systems : Design and Implementation, dont une seconde édition a été coécrite avec Al Woodhull. MINIX 2.0 était même conforme à la norme POSIX. Les deux éditions contenaient des centaines de pages de texte décrivant le code de façon très détaillée. Une boîte de 10 disquettes contenant tous les binaires et le code source était disponible séparément chez Prentice Hall pour 69$.

Cela n’était pas un logiciel libre dans le sens “entrée libre”, c’était bien un logiciel libre dans le sens “liberté d’expression” (NDT : cf. la définition du logiciel libre) étant donné que le code source était disponible pour un tout petit peu plus que le coût de production . Mais même la “liberté d’expression” n’est pas complètement “gratuite”–[think about slander, yelling “fire” in a crowded theater, etc.] Rappelez vous aussi (si vous êtes suffisamment vieux) qu’en 1987, une licence universitaire éducative pour UNIX coûtait 300$, une licence commerciale pour une université coûtait 28 000$, et une licence commerciale pour une entreprise beaucoup plus. Pour la première fois, MINIX baissait le prix d’un code source “UNIX-like” à une somme qu’un étudiant pouvait se permettre. Prentice Hall ne s’intéressait pas vraiment à la vente du logiciel. Ils étaient intéressés par la vente de livres, il y eu donc une politique plutôt libérale en ce qui concerne la copie de MINIX, mais si une compagnie voulait le vendre pour ramener beaucoup d’argent, PH voulait des royalties. Donc les avocats de PH équipèrent MINIX de beaucoup de protections, mais sans jamais avoir l’intention de les utiliser contre des universités ou des étudiants. Utiliser Internet pour distribuer tout ce code n’était pas envisageable en 1987, même pour les gens avec un modem haut-débit (i.e., 1200 bps). Quand la distribution par Internet est devenu possible, j’ai convaincu Prentice Hall d’abandonner leurs (extrêmement modestes) ambitions commerciales et ils m’autorisèrent à mettre le source sur mon site web en libre téléchargement, où il l’est encore.

Quelques mois après cette sortie, MINIX devint un genre d’objet de culte, avec son propre newsgroup USENET, comp.os.minix, avec 40 000 abonnés. Beaucoup de gens ajoutèrent de nouveaux utilitaires et améliorèrent le noyau de nombreuses façons, mais le noyau original était le travail d’une seule personne–moi. Beaucoup de personnes commencèrent à me harceler pour que je l’améliore. En plus des nombreux messages dans le newgroup USENET, je recevais 200 e-mails par jour (à une époque où seuls quelques privilégiés avait même un e-mail) disant des trucs du genre : “J’ai besoin de pseudo-terminaux et j’en ai besoin pour vendredi.” Ma réponse était généralement rapide et précise : “Non.”

La raison pour mes fréquents “non” était que tout le monde essayait de transformer MINIX en un système UNIX utilisable en production et que je ne voulais pas le rendre si compliqué qu’il deviendrait inutile pour mon but désigné, l’enseigner aux étudiants. J’espérais aussi que la niche pour un système UNIX libre utilisable en production serait comblé par GNU ou Berkeley UNIX rapidement, donc je ne visais pas vraiment cela. Finalement, l’OS GNU n’alla pour ainsi dire nulle part (même si beaucoup d’utilitaires UNIX furent écrits) et Berkeley UNIX se trouva embarqué dans un procès quand ses concepteurs créèrent une entreprise, BSDI, pour le vendre et choisirent 1-800-ITS UNIX comme numéro de téléphone. AT&T jugea que c’était une violation de copyright et les poursuivit. Cela prit quelques années pour que ce problème soit résolu. Ce délai pour sortir free BSD donna à Linux le temps dont il avait besoin pour devenir populaire. Si les poursuites n’avaient pas eu lieu, BSD aurait sans doute comblé la niche avec un client UNIX puissant et libre étant donné qu’il avait déjà un système stable et mature doté d’une base importante d’utilisateurs.

Ken Brown et Moi

C’est alors que Ken Brown a rappliqué et a commencé à poser des questions. Je me suis rapidement aperçu qu’il ne connaissait rien à l’histoire d’UNIX, n’avait jamais entendu parler du livre de Salus et ne savait rien au sujet du procès BSD/AT&T. J’ai commencé à lui parler de l’histoire d’UNIX, mais il m’a interrompu et m’a dit qu’il était plus intéressé par les aspects légaux. J’ai dit : “Oh vous parlez du brevet numéro 4135240 de Dennis Ritchie sur le setuid bit?” Alors j’ai ajouté : “Ce n’est pas un problème. Les Bell Labs ont dédié le brevet.” C’est comme ça que j’ai découvert que (1) il n’avait jamais entendu parler du brevet, (2) ne savait pas ce que signifie dédier un brevet (i.e., le mettre dans le domaine public), et (3) ne savait vraiment rien à propos des lois de propriété intellectuelle. Il ne connaissait pas grand chose à propos des brevets, copyrights, et marques déposées. Au cours de la discussion, je lui ai demandé s’il était avocat, mais c’était évident que non et il l’a reconnu. À ce moment, je pensais encore qu’il pourrait être un espion de chez SCO, mais que s’il l’était, SCO n’aurait pas un retour qui vaille l’investissement.

Il voulait parler des problèmes de propriété, mais il tentait aussi d’éviter de me dire quel était son véritable but, il ne formulait donc pas très bien ses questions. Finalement, il m’a demandé si je pensais que Linus avait écrit Linux. J’ai répondu qu’à ce que je sache, Linus avait écrit tout le noyau lui-même, mais qu’après qu’il soit sorti, d’autres personnes ont commencé à améliorer ce noyau initialement très primitif. Ensuite de nouveaux logiciels furent ajoutés – essentiellement avec le même modèle de développement que MINIX. Ensuite il a commencé à focaliser là-dessus, avec des questions du genre : “A-t-il volé des parties de MINIX sans permission?” Je lui ai dit que MINIX avait clairement eu une énorme influence sur Linux en différents points, depuis la forme du système de fichier jusqu’aux noms dans l’arbre des sources, mais que je ne pensais pas que Linus avait utilisé la moindre partie de mon code. Linus utilisait aussi MINIX comme plate-forme de développement initialement, mais il n’y avait aucun mal à ça. Il m’a demandé si j’avais quelque chose à redire à ce sujet et j’ai répondu que non, pas du tout, les gens étaient libre de l’utiliser comme ils l’entendaient pour des utilisations non commerciales. Plus tard, MINIX fut publié sous la licence Berkeley, ce qui le libéra pour toutes les utilisations. De façon surprenante, il est encore largement utilisé, à la fois pour l’éducation et dans le tiers-monde, ou des millions de personnes sont heureux comme tout d’avoir un vieux castoff 1-MB 386, sur lequel MINIX tourne parfaitement. La page d’accueil de MINIX citée ci-dessus reçoit encore plus de 1000 hits par semaine.

Finalement, Brown commença à focaliser plus durement. Il n’arrêtait pas de demander, de différentes façons, comment une personne pouvait écrire un système d’exploitation entièrement par lui-même. Il ne croyait simplement pas que ce soit possible. J’ai alors dû lui conter un peu plus l’histoire [soupir]. Pour démarrer, Ken Thompson écrivit UNICS pour le PDP-7 entièrement seul. Quand plus tard ce fut porté sur PDP-11 et réécrit en C, Dennis Ritchie rejoignit l’équipe, mais se concentra plutôt sur la conception du langage C, écrivant le compilateur C, le système d’entrée/sortie et les pilotes de périphériques. Ken écrivit presque tout le noyau lui-même.

En 1983, une compagnie qui a maintenant disparu appelée la Mark Williams company a été créé et a vendu un très bon clone d’UNIX du nom de Coherent. La plus grosse partie de ce travail était faite par trois ex-étudiants de l’université de Waterloo : Dave Conroy, Randall Howard et Johann George. Cela leur a pris deux ans. Mais ils n’ont pas écrit que le noyau, mais aussi le compilateur C, le shell, et TOUS les utilitaires UNIX. C’est beaucoup plus de travail que d’écrire juste le noyau. On peut considérer que le noyau a pris moins qu’une année-homme.

En 1983, Ric Holt publia un livre, qui n’est plus édité aujourd’hui, sur le système TUNIS, un système UNIX-like. C’était forcément une réécriture puisque TUNIS était écrit dans un langage complètement nouveau, concurrent Euclid.

Ensuite Doug Comer écrivit XINU. Bien que n’étant pas un clone d’UNIX, c’était un système comparable.

Lorsque Linus démarra, cinq personnes ou petites équipes avait indépendamment implémenté le noyau UNIX ou quelque chose approchant.Nommément, Thompson, Coherent, Holt, Comer, et moi. Tout ceci était parfaitement légal et personne n’avait rien volé. Étant donné cette histoire, il est plutôt difficile d’affirmer qu’une personne ne peut pas implémenter un système de la complexité de Linux, dont la taille originale était environ la même que la  V1.0 de MINIX.

Bien sûr, il est toujours vrai en science que les gens créent à partir du travail de leurs prédécesseurs. Même Ken Thompson n’était pas le premier. Avant d’écrire UNIX, Ken avait travaillé sur le système MULTICS (MULTiplexed Information and Computing Service) du MIT. En fait, le nom original d’UNIX est UNICS, une blague faite par Brian Kernighan pour le UNIplexed Information and Computing Service, parce que la version PDP-7 ne supportait qu’un utilisateur–Ken. Après trop de mauvais jeux de mots à propos d’EUNUCHS qui était un MULTICS castré, le nom fut changé pour UNIX. Mais même MULTICS n’était pas le premier. Avant il y avait eu le CTSS déjà mentionné, conçu par la même équipe au MIT.

Toutefois, bien sûr, Linus ne s’est pas assis et tourné les pouces pour soudain taper le code source de Linux. Il avait mon livre, utilisait MINIX, et connaissait sans aucun doute l’histoire (puisqu’elle est dans mon livre). Mais le code était le sien. La preuve est qu’il a un peu gâché la conception. MINIX est un système micro-noyau joli et modulaire, avec les processus de gestion du système de fichier et le gestionnaire de mémoire tournant en espace utilisateur. Cela rend le système plus propre et plus sûr qu’un gros noyau monolithique ainsi que plus facile à débuger et à maintenir, pour un faible coût en terme de performances, même sur 4.77 MHz 8088 ça bootait en peut-être 5 secondes (contre une minute pour Windows sur un hardware 500 fois plus rapide). Un exemple de micro-noyau commercial qui a réussi est QNX. Au lieu d’écrire un nouveau système de fichiers et un nouveau gestionnaire de mémoire, ce qui aurait été simple, Linus a réécrit le tout dans un gros noyau monolithique, complété avec du code assembleur inline :-( . La première version de Linux était comme une machine à remonter le temps. Elle retournait à un système pire que celui qu’il avait déjà sur son bureau. Évidemment, il n’était qu’un enfant et ne pouvait pas faire beaucoup mieux (à moins qu’il n’aie prêté une attention un peu meilleure en classe comme il aurait dû), mais il a donc produit un système fondamentalement différent de la base dont il était parti, ce qui semblait une bonne preuve que c’était une reconception. Je ne pense pas qu’il pourrait avoir copié UNIX parce qu’il n’avait pas accès au code source d’UNIX, à part peut-être par le livre de John Lions, qui parle d’une des premières versions d’UNIX qui ne ressemble pas trop à Linux.

Ma conclusion est que Ken Brown ne connait pas ce dont il parle. Je me pose aussi de graves questions à propos de sa méthodologie. Après m’avoir parlé, il a rôdé dans les halls de l’université coinçant des étudiants au hasard pour leur poser des questions. Pas vraiment des sources idéales.

Les six personnes que je connaisse qui ont (ré)écrit UNIX l’ont tous fait indépendamment et personne n’a rien volé à personne. La remarque de Brown selon laquelle les gens ont essayé et raté pendant 30 ans la construction de systèmes UNIX-like est une bêtise manifeste. Six personnes différentes l’ont fait indépendamment l’une de l’autre. En science, on considère qu’il est important de reconnaître les gens pour leurs idées et je pense que Linus a fait cela beaucoup moins qu’il n’aurait dû. Ken et Dennis sont les vrais héros ici. Mais le manque d’attention de Linus au sujet des attributions n’est pas une raison pour affirmer qu’il n’a pas écrit Linux. Il n’as pas écrit CTSS, il n’a pas écrit MULTICS, il n’a pas écrit UNIX et il n’a pas écrit MINIX, mais il a écrit Linux. Je pense que Brown doit des excuses à un certain nombre d’entre nous.

Linus et Moi

Quelques-uns d’entre vous pourrait trouver bizarre que je sois ici en train de défendre Linus. Après tout, lui et moi avons eu un “débat” public mouvementé il y a quelques années. Mon premier objectif est d’essayer de faire surgir la vérité et non de critiquer tout sur une adolescente des montagnes reculées [back hills of West Virginia]. De plus, Linus et moi ne sommes pas “ennemis” ou quoi que ce soit de ce genre. Je l’ai rencontré une fois et il avait l’air d’un type sympa et intelligent. Mon seul regret est qu’il n’ait pas développé Linux en se basant sur la technologie micro-noyau de MINIX. Avec tous les problèmes de sécurité que Windows a maintenant, il est de plus en plus évident pour tout de monde que les petits micro-noyaux, comme celui de MINIX sont une meilleure base pour les systèmes d’exploitation que les énormes systèmes monolithiques. Linux a été la victime de moins d’attaques que Windows parce qu’il (1) est en effet plus sécurisé, mais aussi (2) parce que la plupart des attaquants pensent que frapper Windows offre un plus gros impact financier, ce qui fait que Windows est simplement plus attaqué. Comme je le croyais il a 20 ans, je crois toujours que la seule façon de faire des logiciels sécurisés, sûrs et rapide est de les faire petits. [Fight Features].

Si vous êtes arrivés jusqu’ici, merci de votre temps. Permission vous est donnée de mirrorer cette page du moment que la version originale et non modifiée est utilisée.

Andy Tanenbaum, 20 Mai 2004

Remplacement de commande

Voici donc le premier billet sur les astuces linux, j’espère qu’il y en aura beaucoup d’autres :-). Ci-dessous et par la suite, comme partout ailleurs, le dollar représentera la ligne de commande.

Comment remplacer très rapidement la commande précédente par une autre ?

Cas classique : vous avez machinalement tapé $more /etc/X11/XF86Config-4 et vous avez soudainement envie de modifier le fichier pré-cité et vous utilisez bash (je ne sais pas si ça marche sur d’autres shells, peut-être mais je n’ai pas testé).

Zut ! Au plus rapide, ça donne :

  • flèche vers le haut,
  • flèche début ou CTRL-A
  • suppr suppr suppr suppr
  • puis finalement vi et [ENTRÉE]

Un peu lourd, n’est-il point ?

Au lieu de ça, tapez simplement $^more^vi et c’est fini…

PS : Vous pouvez voir au passage avec l’image de la catégorie mes premiers pas avec Gimp… Ce que j’ai ramé…

Deuil

Je tiens à faire passer par la (faible) voix de ce blog ma tristesse et ma rage contre le crétin qui vient de détruire des centaines d’heures de travail mais surtout de réflexions couchées sur le clavier, si je puis dire, sur le site de Vincent.

Il semble en effet que ledit crétin soit parvenu à hacker son compte ftp par un moyen ou un autre pour effectuer un travail des plus destructeurs…

À toi qui a trouvé du plaisir à faire ça : sache que tu n’es qu’un SALE PETIT MINABLE.

Deuil 2

Les premières victimes des brevets logiciels tombent…

J’ai le regret de vous annoncer la fermeture du site de Christian Casteyde.

Christian avait réuni une somme impressionnante d’informations sur la programmation et l’informatique, allant de l’installation de linux à des benchs de compilo C. Son cours de C était même considéré comme le meilleur qui existe par certaines personnes.

Bref aujourd’hui toutes ces infos ne sont plus disponibles, et je trouve que c’est un énorme gâchi.

Page 28 of 33 Older