Retour a la page d'accueil
Analyse détaillée des innovations apportées par Microsoft. Et de l'absence d'innovation réelle.
POURQUOI JE HAIS MICROSOFT (1/10)
Microsoft et "innovation"
DE LA PART DE CEUX QUI VOUS ONT PRÉSENTÉ EDLIN
lundi 10 novembre 2003, par Frank van Wensveen

En 1975 Bill Gates et Paul Allen, qui à l'époque étaient étudiants à l'Université de Harvard, ont adapté BASIC pour qu'il fonctionne sur l'ordinateur populaire Altair 8800. Ils l'ont vendu à MITS, le fabricant d'Altair. L'interpréteur BASIC pour Altair était le premier langage de programmation à fonctionner sur le type d'ordinateur qui allait devenir l'ordinateur personnel ou PC. Même si le langage BASIC appartenait déjà au domaine public, l'interpréteur qui lui permettait de fonctionner sur un PC ne l'était pas. Gates et Allen ont ainsi créé un produit original ; une vraie innovation. Une de leurs dernières.

« 640k devrait suffire pour tout le monde   »
Attribué à Bill Gates, PDG de Microsoft, 1981

Gates et Allen en 1968 - 3.9 ko
Gates et Allen en 1968
Gates et Allen s'étaient rencontrés à Lakeside School (une école privée exclusive pour garçons riches) où Gates est devenu un adepte de BASIC sur un Mark II de General Electric. Peu après, ils ont obtenu accès à un PDP-10 appartenant à une société privée de Seattle. Cette société offrait un accès gratuit aux élèves de Lakeside School pour voir si les enfants pouvaient faire planter le système. Gates s'y est montré particulièrement habile. Après la fin de cette expérience, Gates et Allen ont réussi à continuer à accéder gratuitement au PDP-10 par le biais du compte de l'administrateur système. Un an après la société à laquelle appartenait le PDP-10 a fait faillite, et Gates et Allen se retrouvaient sans accès à un ordinateur. Allen se rendait alors à l'Université de Washington et commençait à utiliser un ordinateur Xerox, en se faisant passer pour un étudiant. Gates faisait de même, et ça a duré jusqu'au moment où ils ont été découverts et éloignés du campus.

Ils ont continué à entrer illégalement dans des systèmes appartenant à des sociétés privées et à des universités jusqu'à 1975 environ. A cette époque Gates était étudiant à l'Université de Harvard. Le BASIC qu'il a vendu à MITS avait été développé sur un PDP-10 d'Harvard, en utilisant un émulateur 8080 qu'Allen avait adapté. En réalité, quand Gates a contacté MITS pour parler du produit, celui-ci n'avait jamais été testé sur un vrai processeur 8080. Ce n'est que lors de la démonstration à MITS au Nouveau Mexique que le produit a fonctionné pour la première fois sur le système pour lequel il avait été développé.

Ainsi Gates a vendu un produit qui n'ait pas terminé au moment de l'annonce, l'a développé sur un modèle de la meilleure version disponible ailleurs, ne l'a pas testé très sérieusement, en a fait une démonstration avec une version qui ne fonctionnait pas complètement, et l'a finalement livré sous une forme assez boguée, et ce après un long délai.
Depuis, cette façon de fonctionner est devenue la marque de fabrique de Microsoft.

Après avoir vendu l'interpréteur BASIC à MITS, Gates a quitté l'Université de Harvard pour monter sa société en partenariat avec Allen. Ce dernier était à l'époque également employé par MITS, ce qui le mettait dans une position assez intéressante. Le départ de Gates de Harvard est un sujet controversé : certains disent qu'il est parti volontairement, d'autres prétendent qu'il a été viré pour vol de « temps-ordinateur ». Quoi qu'il en soit, Gates a fait la plupart de son travail sur BASIC sur un ordinateur de Harvard, sans avoir été autorisé à utiliser le matériel (l'accès-ordinateur était très cher) à cet effet . Peut-être que Gates n'a pas vraiment volé du « temps-ordinateur » pour développer son premier produit, mais il n'a jamais donné d'autre explication. Et cela ne l'a pas empêché d'envoyer en février 1976 à tous les journaux informatiques un courrier devenu malfamé : « Lettre ouverte aux amateurs » (« Open Letter To Hobbyists »), dans lequel il dénonçait la copie de logiciels Microsoft par des amateurs d'informatique en tant que vol.

Bon, soit... en tout cas Gates était assez brillant pour comprendre qu'il était assis sur une mine d'or.
MITS avait réclamé, et obtenu, l'exclusivité sur le logiciel mais Gates avait insisté sur une clause obligeant MITS à faire tous les efforts pour effectivement commercialiser le produit. Or, ces efforts n'étaient pas très concluants, et les revenus de Microsoft commençaient à tarir. En 1977, Gates et Allen ont adressé un courrier de protestation à MITS, suite à quoi MITS a obtenu d'un juge l'interdiction pour Microsoft de divulguer le code du BASIC pour 8080 à des tiers. Microsoft a été sauvé de la faillite uniquement grâce aux paiements d'Apple pour le BASIC pour 6502 (MITS ne possédait l'exclusivité que pour le BASIC 8080, Microsoft avait ainsi le droit de le porter sur d'autres plate-formes et de le vendre de nouveau).
Ensuite, Microsoft a poursuivi en justice son premier client MITS sur l'exclusivité des droits sur le BASIC 8080. Microsoft a gagné ce procès, et a immédiatement commencé à vendre BASIC à tous les fabricants d'ordinateurs intéressés, de Commodore à Radio Shack.
La vision de Gates était ainsi un des facteurs importants dans la création et l'émergence du marché de l'ordinateur personnel (l'autre facteur étant la disponibilité croissante de puces VLSI).

La même chose s'est plus ou moins reproduite quand IBM a sollicité Microsoft pour développer un système d'opération pour leur nouveau Personal Computer. Microsoft n'était encore qu'une petite structure, produisant surtout des applications pour le marché des amateurs d'informatique, et quelques produits de programmation. IBM avait à l'époque un autre fournisseur préféré : ils s'étaient d'abord tournés vers Digital Research pour le système d'opération de leur nouveau PC. D'après la légende, Gary Kildall (l'auteur de CP/M) n'était pas présent lors du rendez-vous avec IBM à Pebble Beach, et l'avocat et l'épouse de Kildall, méfiants d'IBM, n'ont pas souhaité signer le contrat de confidentialité avant le retour de Kildall (cette erreur est entré dans les annales en tant que, potentiellement, la plus grande bêtise de l'industrie informatique). Ceci, et des contraintes de temps, ont amené la visite d'IBM à Microsoft, qui, selon la rumeur, était candidat uniquement grâce au fait que la mère de Gates connaissait quelqu'un chez IBM. Ce dernier détail est peut-être vrai, peut-être pas ; en tout cas il est vrai qu'à l'époque Microsoft était une petite société sans management, sans beaucoup d'administration ni comptabilité, avec des employés qui dormaient par terre derrière leurs claviers, et dont la culture d'entreprise consistait principalement de batailles verbales, généralement gagnées par Gates. Microsoft avait seulement développé des applications pour l'informatique domestique, et n'avait aucune expérience avec des systèmes d'exploitation, ni aucune autre application système.
(Kildall a ajouté à cette histoire qu'il avait réussi à contacter IBM après son retour, et qu'après une discussion, il avait l'impression d'avoir conclu l'affaire. Peu après il devait apprendre qu'IBM avait signé avec Microsoft. Vrai ou pas, ce n'est pas très relevant dans cette histoire).

Quand les représentants d'IBM arrivaient chez Gates, ce dernier a immédiatement compris sa chance, et il leur a promis un système d'exploitation. étant donné qu'il n'en possédait pas, et qu'il ne pouvait pas en produire un (en tout cas pas dans les délais), il a acheté les droits sur un clone de CP/M à Seattle Computing Products, en prenant soin d'enlever les numéros de série.
Gates démontrait de nouveau son génie commercial. Il comprenait que, même si le PC était loin de la perfection technologique, le poids d'IBM en tant que constructeur important allait contribuer à une unification du marché de l'ordinateur personnel, qui avait jusqu'à lors été assez fragmenté. Gates avait des visions d'investissements mineurs générant des chiffres d'affaires énormes. Il n'était pas question d'innovation : les immeubles, ponts et avions du monde était développés sur des stations de travail Sun, tournant sous Solaris.
Par conséquent, quand IBM exigeait des droits exclusifs sur PC-DOS, Gates a été intransigeant : IBM n'était pas autorisé à licencier les applications de Microsoft à des tiers, tandis que Microsoft avait le droit de le faire. Microsoft allait vendre MS-DOS à tous les fabricants de clones intéressés, tout comme il l'avait fait avec BASIC quand MITS avait perdu ses droits. C'est ainsi que Gates a créé une grande partie de la base du marché du PC tel que nous le connaissons aujourd'hui.

C'est cela, la contribution de Microsoft au domaine de la technologie informatique : avant la commercialisation de BASIC et plus tard DOS à tous les fabricants qui voulaient l'acheter, les utilisateurs étaient totalement dépendants des fabricants de matériel, non pas seulement pour le matériel lui-même, mais également pour les systèmes d'exploitation et les applications spécifiques aux plate-formes. La stratégie marketing de Microsoft a changé tout cela. Il a contribué à la transformation d'un marché informatique vertical en un marché horizontal, et il convient de reconnaître son rôle. Mais c'est tout. Microsoft a employé la bonne méthode au bon moment, et l'inertie naturelle du marché a fait le reste.

Le PC d'IBM était basé sur un processeur Intel 8086. Les produits Microsoft dérivés de CP/M étaient standardisés pour le 80x86, et n'étaient pas portables sur d'autres plate-formes, ce qui en retour a fait qu'Intel a continué de produire des processeurs basés sur l'architecture 80x86. Cette relation symbiotique connue sous le nom de Wintel continue jusqu'au jour d'aujourd'hui.

Bien que Microsoft ait été le premier à commercialiser (et non pas créer) un système d'exploitation plus ou moins opérationnel pour le plate-forme IBM-PC, la société n'a jamais produit d'amélioration technologique significative depuis le BASIC pour Altair. Au mieux ils ont modifié et adapté des technologies existantes, mais rien d'original ni de particulièrement innovateur n'a été créé depuis. La première version de PC-DOS (devenu MS-DOS après) n'était qu'une adaptation de QDOS (également appelé DOS-86), le code que Microsoft avait acheté à Seattle Computing Products (SC). QDOS, ce qui signifie « Quick and Dirty Operating System » ou « Système d'Exploitation Bricolé » était basé sur CP/M (piraté selon certains),qui lui avait été écrit par Gary Kildall et distribué par Digital Research. De nombreuses fonctionnalités, y compris un support peu fiable pour des sous-répertoires qui ressemble curieusement à Unix, des redirections Entrée/Sortie (I/O) et des pipelines ont été rajoutées à partir de la version 2.0. Cela a eu pour conséquence deux ou plus de versions incompatibles d'appels système dans le noyau DOS, et les programmeurs MS-DOS ne sont jamais d'accord sur des choses de base telles que quel caractère utiliser comme option de commande, ou si la casse compte ou pas. Peu de choses ont changé en deux décennies ; il suffit d'ouvrir le capot de Windows ME, et l'héritage de QDOS et CP/M vous regarde en face.

(Tim Patterson de SCP a compilé QDOS en moins d'un mois et demi. Il a quitté SCP en 1981 pour rejoindre Microsoft. Plus tard, Gary Kildall est allé voir IBM pour leur montrer l'endroit où sa propre déclaration de droit d'auteur était toujours intégré dans le code de PC-DOS, mais il n'a pas osé s'affronter à la puissance du département juridique d'IBM. Les accusations par Kildall de vol par SCP, et le fait que les différences entre QDOS et CP/M sont au mieux minimes, n'ont pas pu échapper à Microsoft. Ce qui mène à la conclusion intéressante que, si ceci est vrai, Microsoft et IBM ont consciemment couvert les faits, et Microsoft a basé un empire global sur une crime)

En tout cas, MS-DOS avait du succès. Il a été le seul système d'exploitation sur le marché pour PC pendant des années, malgré le fait qu'il était assez limité. Ce sont d'ailleurs les restrictions qu'il imposait aux programmeurs qui ont prolongé son succès : peu de développeurs étaient vraiment contents de MS-DOS, mais il n'y avait pas d'alternative. MS-DOS offrait si peu de fonctionnalités que des développeurs d'applications étaient obligés d'écrire du code pour des fonctions qui normalement auraient dû être effectuées par le système d'exploitation.
(Exemples : La première version de Lotus 1-2-3 court-circuitait totalement DOS. D'autres applications accédaient directement aux périphériques, vidéo et imprimantes pour obtenir une performance raisonnable, et les utilisateurs devaient se souvenir des paramétrages IRQ et DMA de leur matériel quand ils installaient ou configuraient une nouvelle application)
Résultat : des logiciels qui étaient encore moins portables que le Mont Blanc, ce qui a forcé les programmeurs à continuer à développer pour le plate-forme MS-DOS pour maintenir leurs applications et protéger leur investissement. DOS lui-même était également non-portable, étant largement écrit en langage assembleur, et contenant beaucoup de code de premier niveau, et peu de structure (j'ai personnellement vu le code source de DOS 6. Ce n'est pas beau à voir).

Quand PC-DOS commençait à s'installer sur le marché, Gates avait déjà montré que le futur de Microsoft ne passerait pas par l'innovation. La citation suivante démontre probablement le mieux le point de vue de Gates sur l'innovation :

De : « Programmeurs au travail » (« Prgrogrammers at work »), Microsoft Press, Redmond, WA (© 1986) :
Journaliste : « Est-ce que les études d'informatique constituent le meilleur moyen pour devenir programmeur ? »
Gates : « Non, la meilleure façon de se préparer est d'écrire des programmes, et d'étudier les bons logiciels écrits par d'autres. Dans mon cas, j'allais à la poubelle du Centre Informatique et je récupérais les listings de leur système d'exploitation »

Rarement le manque d'innovation et l'approche opportuniste de Microsoft vis-à-vis du développement logiciel ont été résumé de façon aussi concise. Il est également intéressant de noter que, alors que beaucoup de gens ont traités les produits de Microsoft de copies dignes de la poubelle, peu d'entre eux ont dû soupçonner combien ils étaient près de la vérité.

En effet, MS-DOS a connu peu d'innovation pendant la décennie quand il dominait le marché du PC. L'amélioration principale de DOS 2.0 était d'intégrer des sous-répertoires et des pilotes pour les périphériques, deux idées empruntées à Unix. Des versions ultérieures contenaient un peu plus de fonctions dans le noyau, et elles venaient avec plus d'utilitaires, écrites initialement par Microsoft, mais achetées par la suite à des tiers. A l'exception de DOS 2 (sous-répertoires, pilotes) et DOS 5 (gestion de mémoire étendue et améliorée pour les processeurs 80286 et 80386), DOS n'a connu qu'un développement mineur. En entre-temps, Microsoft a brièvement commercialisé Xenix (un portage Unix médiocre, acheté tel quel à SCO), mais face au volume moyen des ventes, ils ont rapidement abandonné pour se concentrer sur DOS.

MS-Windows aurait pu être un nouveau début, mais (principalement pour des raisons de marketing), il ne l'a pas été. Il était accroché aux erreurs du passé, ayant été basé sur une architecture MS-DOS sous-jacente pour effectuer des fonctions de base telles que l'accès au système de fichiers. Il ajoutait une interface graphique et un environnement multitâche simple à MS-DOS, mais rien de plus.
Quand Windows a vu le jour, Microsoft avait été en collaboration avec IBM sur OS/2 1.x depuis un certain temps. Cette collaboration était inspirée par la prise de conscience qu'avec l'arrivée du processeur 80286, et les plans d'Intel pour le 80386, DOS était devenu obsolète. IBM travaillait principalement sur le noyau OS/2, qui dans sa première mouture était un successeur à 16 bits de DOS, avec une interface à ligne de commande, tandis que Microsoft se concentrait sur l'interface graphique (GUI pour « Graphical User Interface »).

L'idée d'une interface graphique était nullement nouvelle ni originale. Des années avant, Xerox avait fait une démonstration d'une GUI pilotée par souris dans leur laboratoire de recherche de Palo Alto. Dans cette présentation figurait un ordinateur appelé Alto, qui en 1973 intégrait déjà une GUI, une technologie WYSIWYG (What You See Is What You Get, « Ce que vous voyez est ce que vous aurez »), une souris et une interface Ethernet. Parmi ceux qui ont assisté à cette démonstration se trouvaient Steve Jobs (Apple) et Bill Gates. Jobs était intéressé par la GUI et devait utiliser ultérieurement cette idée dans son système d'exploitation Apple OS. Gates avait décidé de garder une interface textuelle (à base d'une ligne de commande). Plus tard Gates était obligé de changer d'avis sur l'interface graphique face au succès de celle-ci sur le plate-forme d'Apple. Pour cette raison, il avait été décidé de doter OS/2 d'une GUI.

Très vite, le code de Microsoft commençait à s'éloigner de celui d'IBM (surtout de Presentation Manager) et devenait progressivement incompatible avec celui-ci. Pendant ce temps-là, Gary Kildall de Digital Research avait déjà lancé la première version de GEM (Graphical Environment Manager, ou « Manager d'Environnement Graphique ») pour DOS. Pour saboter ce projet, Microsoft annonçait qu'il travaillait sur son propre environnement graphique, très supérieur. Finalement ils ont utilisé la partie graphique de ce qui aurait dû devenir OS/2, pour le commercialiser en tant qu'application séparée pour DOS, sous le nom de MS-Windows. Ils ont prétendu que cela faisait partie de la préparation pour le futur OS/2. Toujours pendant la même période, des développeurs tels que Word Perfect Corp et Lotus avaient consacré des budgets de R&D énormes au recodage de leurs logiciels pour OS/2, en assumant qu'IBM (et son partenaire Microsoft) délivrerait ce système d'exploitation comme promis.

Les versions initiales de Windows étaient très mauvaises, mais Microsoft continuait à promettre qu'un meilleur produit sortirait Vraiment Très Bientôt, toujours dans le contexte de leur collaboration avec IBM dans le cadre d'OS/2. Mais soudainement, ils ont tourné le dos sur OS/2. Ils ont crié à « l'innovation » et se sont retournés vers DOS, qu'auparavant ils avaient pourtant reconnu eux-mêmes comme étant obsolète. Ils ont entièrement abandonné leur collaboration avec IBM. En partant ils ont emmené avec eux beaucoup de technologie IBM, qui a fait son apparition dans Windows 3, soudainement positionné comme le système d'exploitation du futur, plutôt qu'OS/2.

Microsoft vendait déjà des applications pour le Macintosh d'Apple. Cela leur avait permis de regarder de près le système d'exploitation d'Apple, et par la suite de forcer Apple de leur céder des parties de la GUI du Mac (sous la menace de retirer du marché toutes les applications Microsoft pour Macintosh). Ils ont ainsi pu scruter de près la GUI Mac pour d'autres idées. Ils ont également acheté à Apple quelques miettes supplémentaires de technologie (tel que celle des polices de caractère, rebaptisée TrueType par la suite), parfois sous forme d'échange contre des concepts inexistants (« vaporware »). La collection logicielle et technologique ainsi récoltée a été collée ensemble pour en faire un produit final, mis sur le marché sous le nom de Windows 3.

Il n'a pas été très difficile pour Microsoft d'adapter les versions Apple de Word et Excel à Windows 3. Il y a des indications qui semblent suggérer que Windows a été adapté à Excel et à Word autant que ces deux derniers ont été adaptés à Windows. Quand Windows 3.0 s'est matérialisé, les développeurs d'applications concurrentes avaient déjà consacré leur budget de recherche et développement aux versions OS/2 de leurs produits, en partant du principe que OS/2 serait disponible tel que promis par les partenaires IBM/Microsoft. Et même si leur budget leur aurait permis d'investir dans le développement pour deux plate-formes différents, ils n'avaient pas le temps matériel d'écrire une version pour Windows avant sa date de sortie.

Résultat : Microsoft a mis en vente à la fois un système d'exploitation et une suite d'applications plusieurs mois avant que la concurrence avait la possibilité de réagir au changement de dernière minute de Microsoft vers Windows. Tous ceux qui avaient prévu de naviguer avec l'alliance IBM/Microsoft ont raté le bateau quand Microsoft a subitement décidé de partir plus tôt et dans une autre direction que celle prévue. La plupart ne s'en sont jamais remis.

(IBM a quand-même sorti sa propre version d'OS/2, et ce fut un fiasco total. Ils n'ont pas été beaucoup aidé par Microsoft bien entendu, car quand IBM a finalement sorti OS/2, la plupart des développeurs de logiciels avaient déjà fait le pas vers Windows, en utilisant des utilitaires pour Windows, et le code était devenu très difficile à porter sur un autre plate-forme. Ceci dit, c'est IBM qui est majoritairement responsable de son propre échec. Même si l'architecture d'OS/2 était meilleure, il a été tué dans l'oeuf par quelques-unes des pires décisions marketing dans l'histoire de l'industrie : manque de pilotes et support matériel, manque d'outils de développement, manque d'applications, partenariats avec des revendeurs qui proposaient OS/2 sur des ordinateurs n'ayant pas la puissance de faire tourner le système d'exploitation, manque de bonne publicité, exiger de l'utilisateur final de mettre son système au point en modifiant un fichier CONFIG.SYS de quatre pages, etc. etc., la liste est très longue.
Après cette débâcle, IBM s'est retiré du marché logiciel qu'ils n'ont jamais vraiment compris, même s'il s'agit du créateur du PC original)

La création d'une meilleure plate-forme logicielle aurait été une innovation réelle, mais cela aurait signifié l'abandon de DOS, la seule chose que Microsoft possédait à cette époque. étant donné que les applications DOS étaient tout sauf portables, un nouveau système d'exploitation aurait rompu les attaches qui liaient les développeurs (et donc les utilisateurs) à Microsoft. A fin de maintenir sa part de marché, Microsoft a choisi de ne pas innover. Ainsi, pour des raisons de marketing, Windows 3.x tournait sur une couche DOS, n'apportant pas beaucoup plus qu'un environnement multitâche hybride.

L'architecture de Windows '95 n'était que la continuation de la stratégie non-innovatrice de Microsoft. Quand il est arrivé pas moins de trois ans après (un Windows '93 avait été prévu, mais il n'a jamais fait surface), il s'agissait toujours d'un produit DOS remâché et décevant. C'était un environnement pour applications qui tournait toujours sur une couche DOS, même si cette fois-ci DOS et Windows étaient installés conjointement, et non plus en tant que produits différents. Sur le fond, Windows '95 n'était qu'un vieux Windows 3.x avec une nouvelle GUI, un gestionnaire de mémoire amélioré, et avec le code DOS intégré. Ce qui n'a pas empêché Microsoft de le présenter comme un produit totalement nouveau, tournant sur 32 bits, ce qui est bien entendu faux. Oui, il y avait des portions de code en 32 bits, mais il restait beaucoup de code à 16 bits sous le capot, et la protection mémoire n'était que partiellement fonctionnelle, au mieux.

Windows '95 et ses successeurs étaient toujours très dépendants du code DOS obsolète. Windows '98 (Windows '97 était prévu aussi, mais n'a jamais vu le jour non plus) ne représentait pas non plus de progrès significatif dans ce domaine. Et Windows ME (« Millennium Edition », ou édition du Millénaire) était toujours le même vieux refrain. Il était toujours basé sur DOS, même si Microsoft a fait beaucoup d'efforts pour le cacher par des changements cosmétiques et en le proposant en lot avec des applications. Sur le fond, il n'y a rien de nouveau dans la série Windows 95/98/ME : les erreurs de conception des versions précédentes sont toujours présentes, et beaucoup de nouvelles erreurs ont été introduites. En y regardant de près, Windows ME ne représentait que le descendant de Windows 3.x que l'était déjà Windows '95, avec les mêmes imperfections de conception et basé sur la même technologie obsolète depuis des décennies. Avec beaucoup de gadgets en plus pour faire écran de fumée.
Rien de tout cela n'a jamais empêché Microsoft de présenter toutes ces mises-à-jour mineures comme des produits nouveaux, et de recommander leur achat et installation auprès de ses clients.

Windows (n) _Une interface graphique et une extension 32 bits sur un patch de 16 bits appliqué à un système d'exploitation à 8 bits codé pour un processeur à 4 bits vendu par une société qui n'en vaut pas deux et n'en fait pas une. (Contribution anonyme sur USEnet)

NdT : Voici la version originale, qui est plus drôle ; si vous avez une meilleure traduction, n'hésitez pas à m'en faire part  \1 :

Windows (n.)
A thirty-two bit extension and GUI shell to a sixteen bit patch to an eight bit operating system originally coded for a four bit microprocessor and sold by a two-bit company that can't stand one bit of competition.

Windows NT semblait finalement être un pas dans la bonne direction. Au moins, la famille NT (qui inclut également Windows 2000 et Windows XP) est la meilleure.
« NT » signifie « Nouvelle Technologie », peut-être parce que Windows NT est un des rares produits dans l'histoire de Microsoft qu'ils n'ont pas acheté à un tiers. Au lieu de cela, ils ont embauché David Cutler, qui avait été impliqué dans le développement de VAX VMS chez Digital (VMS était à l'époque un système d'exploitation industriel innovant qui connaissait du succès). Cutler amenait avec lui une vingtaine d'employés de chez Digital, et lui et son équipe commençaient le développement de NT. Plus tard, des centaines d'autres programmeurs et testeurs participaient au projet, mais c'est le savoir-faire de Cutler et de son équipe de base qui constitue l'essentiel du code du noyau de NT.

Par conséquence, beaucoup d'éléments du design du noyau VMS se retrouvent dans Windows NT (le nombre et la séparation de niveaux de priorité du programmateur, l'utilisation de mémoire virtuelle paginée sur demande et le modèle de pilotes en couche ne sont que quelques exemples parmi beaucoup, beaucoup d'autres similitudes). La première version de VMS date de 1977. Sans vouloir minimiser les efforts de Cutler et son équipe (après tout, ils ont travaillé beaucoup pour ce projet), on peut se demander ce que Microsoft entend vraiment par « Nouvelle Technologie ». Illustration : lors d'un accord à l'amiable peu connu, Microsoft a payé 150 million de dollars à Digital en compensation pour avoir utilisé des éléments d'un vieux système d'exploitation de Digital dans Windows NT. Nouvelle Technologie... ? ?

Même si ses racines datent des années 70, Windows NT représenta une amélioration importante comparé aux produits de Microsoft basés sur DOS. Malheureusement, cela ne veut pas forcément dire qu'il s'agit d'un système d'exploitation bien conçu.
L'équipe de Cutler était obligée de travailler dans le contexte des restrictions supplémentaires du design de Microsoft, et le résultat est un compromis. Cutler a pris un certain nombre d'éléments structurels de VMS, ce qui était bien. Ils les ont élaborés, donc dans un sens on peut dire que NT contient au moins un peu de technologie nouvelle, et peut-être que le travail de Cutler représentait même (est-ce que j'ose le dire ?) un peu d'innovation. Si cela avait été tout, le résultat final aurait pu être un bon système d'exploitation, efficace et robuste. Mais Gates avait besoin d'un produit qui pouvait faire avancer les stratégies marketing de Microsoft.

VMS était un système d'exploitation industriel, multi-utilisateur de manière native, mais NT a été conçu comme un système mono-utilisateur à vocation bureautique. La gestion de comptes utilisateurs et de données était rudimentaire ; le répertoire de base de l'utilisateur (« home ») résidait sur le disque dur local de la station de travail, à l'intérieur du sous-répertoire contenant le plus gros du code du système d'exploitation. Les configurations des applications et de l'utilisateur étaient réglées au niveau du système plutôt qu'au niveau du compte utilisateur. La séparation entre le code du système d'exploitation, celui des applications, les configurations utilisateur et celles des applications devenait quasiment impossible. Les paramètres des applications et de l'interface graphique étaient stockés à côté de données vitales concernant le système d'exploitation, dans un registre central non-sécurisé. Pour ces raisons, des comptes utilisateur dans un contexte de réseau étaient très difficiles à mettre en place, nécessitant des méthodes lourdes et complexes.

L'une des plus grandes erreurs de design dans l'histoire de Windows (le concept du sous-système DLL) avait été maintenue, et les fonctions réseau étaient initialement basées sur le protocole inadéquat NetBEUI. Même si NT était basé sur un modèle de réseau « peer-to-peer » (modèle décentralisé où tous les utilisateurs sont « égaux »), une version « serveur » a également été mis sur le marché (NT Server contient exactement le même code que NT, avec quelques petits ajouts que ne représentent qu'une fraction infime de la totalité du code). Au début il y avait des projets de portabilité sur des plate-formes non-Wintel, d'une Couche d'Abstraction du Matériel, et des versions pour Digitaletd'autresplate-formes,maisquandlemarchédevenait de plus en plus monolithique ces bonnes intentions ont été abandonnées. Plus tard, Digital en faisait de même.
Et bien entendu, beaucoup de codage sur NT a été fait par des ingénieurs de Microsoft, donc le résultat final n'est même pas dans la même catégorie que VMS.

En d'autres mots, le marketing de Microsoft à eu le dessus sur l'ingénierie de Cutler. Le résultat n'était pas beau. NT était devenu un système d'exploitation basé sur un jeu de quelques vieux principes de conception de VMS, rendu compatible avec toutes les erreurs du passé de Microsoft. Il était plein de API hérités du passé, il était bricolé pour pouvoir tourner des applications écrites pour OS/2 1.0 (ce qu'il ne faisait pas très bien), il prétendait adhérer à POSIX mais n'était que très peu POSIX-compatible, et il était pourvu de l'interface graphique de Windows 3. Il contenait même l'intégralité du noyau de Windows 3, et une grande partie du code qui l'accompagnait sous leur forme originale d'exécutables 16 bits (et c'est toujours le cas pour XP). Du code DOS vieux de quelques décennies a été également ajouté. En bref, c'était un vrai produit Microsoft. Toutes les versions ultérieures de Windows qui descendent de ce morceau de « Nouvelle Technologie », jusqu'à et y compris XP, souffrent de cet héritage.
Sic transit gloria Fenestrae.

Quelle ironie quand Microsoft se vante de son « rôle innovateur » dans le domaine de la technologie informatique. La triste vérité est que Microsoft a rarement été innovateur. Ils ont acheté une copie de CP/M et l'ont renommé MS-DOS, et ils ont bricolé Windows à partir de morceaux divers qu'ils ont acheté, volé ou emprunté à droite et à gauche. L'interface graphique de Windows était basée sur celle du Macintosh d'Apple, qui était basée à son tour sur une technologie développée par Xerox très longtemps avant. NT était basé sur des bons mais vieux principes de conception venant de VAX VMS. En bref, tous les systèmes d'exploitation de Microsoft ne font qu'intégrer des fonctionnalités et des idées qui existaient déjà sur le marché depuis jusqu'à un quart de siècle.

Les versions suivantes de Windows ne contiennent aucune amélioration significative par rapport aux précédentes. Windows 98, ME, 2000 et XP ne sont que des mises-à-jour mineures, réparant quelques bogues, apportant quelques nouveaux bogues et quelques petits bonus qui auparavant étaient vendus séparément (par exemple : Windows XP est livré avec un logiciel pour scanners et caméras digitales, et avec la fonction « bureau à distance » qui était vendu séparément par Cytrix avant). Le reste n'est que du cosmétique. Toute cette famille de produits est truffée d'erreurs de design, de code mal écrit pour réparer ces erreurs, et de tonnes de bogues. Il n'y a aucune raison pour passer de Windows 95 à 98 (sauf peut-être pour des raisons de support), et encore moins pour passer à ME. Windows 2000 et XP ne font que fixer quelques bogues. Ni 2000 ni XP offrent un retour sur investissement valable pour les utilisateurs de NT, et il y a peu ou pas de demande pour les bonus qui viennent avec ces versions. Pourtant, Bill Gates a appelé Windows XP « quelque chose de grand » et Steve Ballmer disait que « Windows XP représente le plus grand pas en avant depuis Windows 3.0 ».

XP est la suite de la ligne Windows NT/2000, mais il est positionné comme le successeur de Windows 9x/ME. Il vient avec une interface très simplifiée (une boîte à jouets qui en devient presque insultant, apparemment conçue pour des utilisateurs âgés de 1 à 4 ans et pour des technophobes à qui même l'interface d'un Mac ferait peur) et sous le capot il a un noyau Windows 2000. Et bien sûr il y a beaucoup d'applications supplémentaires dans le package. Et c'est à peu près tout. D'accord, le fait que Microsoft ait finalement supprimé le noyau-jouet du système d'exploitation de 9x/ME est une bonne chose, mais cela ne fait pas de XP un produit novateur. XP est une mise-à-jour mineure de Windows 2000 qui est sortie au même moment que l'arrêt de la commercialisation de la ligne 9x/ME, dans le contexte du repositionnement par Microsoft de leurs produits Windows. A cause de ce tour de passe-passe marketing (assez malin, il faut l'avouer), les utilisateurs ont tendance à comparer XP à Windows 9x/ME en le considérant comme un produit nouveau, ce qui est bien entendu faux : il s'agit d'une mise-à-jour hors de prix de Windows 2000, et rien de plus.

Ceci n'a pas empêché Microsoft d'attribuer un budget marketing d'un demi milliard de dollars au lancement et à la promotion de Windows XP. Les joujoux cosmétiques de XP font que ce système d'exploitation est en réalité moins stable que Windows 2000, mais peu importe, Microsoft le présente comme l'OS « qui continue à tourner » au lieu de planter, et qui protège les utilisateurs des virus. Pardon ?

Accessoirement, XP signifie « eXPérience ». Manifestement Microsoft considère que nous avons besoin d'une nouvelle « expérience » avec nos systèmes d'exploitation et nos applications, et que nous nous mettons devant nos ordinateurs pour nous divertir avec un OS et un ou deux tableurs. En effet, la plupart des « améliorations » de XP se trouvent au niveau de la présentation. Si vous jetez un coup d'oeil sur les exécutables dans le répertoire Windows, vous y trouverez des commentaires internes tels que « ProductName : Microsoft Windows (TM) operating system, ProductVersion : 3.10 ». Il y a même du code DOS 5.0 avec une mention de droits d'auteur pour la période 1981-1991. Quel superbe produit nouveau.
Bien entendu, il est logique de fournir des modes de compatibilité pour faire tourner des applications Windows plus anciennes, mais quand on voit la masse de code Windows 3.0 et DOS 5 (tout cela en 16 bits) sous le capot de Windows XP, on se pose des questions quant aux principes de conception de chaque « nouvelle » version de Windows.

Sur le plan des applications, les choses ne sont pas beaucoup mieux. Le traitement de texte MS Word n'est pas aussi bien que ne l'était Word Perfect 5, ce que Microsoft a tenté de faire oublier en ajoutant des fonctionnalités qui appartiennent plutôt à des logiciels de publication (mais que Word ne peut pas remplacer pour du travail professionnel). Word manque de fonctions que les utilisateurs aimeraient avoir (telles que la possibilité de visualiser des codes de mise-en-page) mais en même temps il est devenu tellement chargé en autres fonctions que sa complexité en est actuellement devenue contre-productive.
Excel, qui était développé à l'origine pour la plate-forme d'Apple, ne fait en réalité rien que Lotus 1-2-3 ne savait faire déjà dans les années 80 (sauf que l'interface est plus à la mode, et il a plus de capacités graphiques), et il est truffé de bogues macro et des problèmes de version.
Microsoft Access est quelque chose à mi-chemin entre une base de données « plate » et une interface (un peu boguée) pour des bases de données relationnelles sérieuses comme celles basées sur SQL.
PowerPoint de fait que reproduire les fonctionnalités que d'autres logiciels de présentation possédaient déjà dans les années 80.
(Oups, j'oubliais quelque chose : toutes ses applications présentent les vulnérabilités inhérentes à Virtual Basic qui amusent tant les hackers et auteurs de virus)

En fait, aucune de ces applications n'utilise une technologie significative quelconque inventée par Microsoft . Bien sûr, elles sont toutes maquillées comme des stars avec des tonnes de gadgets et de jolies couleurs, et les vieilles technologies qu'elles utilisent ont été rendues plus uniformes avec notamment plus de possibilités d'échange de données entre applications. Elles ont été portées sur Windows, donc leur interface est plus uniforme aussi (bien qu'il reste des disparités), et des techniques d'échange de données venant d'IBM comme OLE donnent l'impression d'intégration logicielle. Mais en réalité tout cela est de la technologie ancienne. Ce n'est pas de l'innovation. C'est du recyclage.
Une illustration : plusieurs fichiers qui venaient avec Word 97 (et peut-être également avec les versions ultérieures) contenaient toujours le texte « Copyright WordPerfect Corporation 1994. All rights reserved. » CQFD.

Les projets de Microsoft pour le futur sont pleins de ce genre « d'innovation ». La stratégie .NET implique des systèmes client simples qui pourront accéder à des applications et services à distance (serveur ou réseau). Il s'agit en fait d'une variante du concept ASP (Application Service Providing). ASP déplace les applications du poste de travail vers un serveur central. Cela évite d'installer, de maintenir et de faire tourner les logiciels localement sur chaque station. Microsoft prétend naturellement que .NET est innovateur. En réalité, il y a très peu d'innovation. Sur le fond, c'est le retour vers une approche vieille de quelques décennies avec une structure serveur-terminaux. Microsoft y ajoutera sûrement un emballage plus attractif, mais l'innovation n'ira pas plus loin.

Tout ce dont vous avez besoin aujourd'hui pour faire fonctionner des applications et des services en réseau est un serveur Unix, quelques applications et une poignée de terminaux. Bon, le protocole X (le standard graphique le plus populaire pour terminaux Unix) n'est pas très joli, et ne convient que pour des réseaux locaux, mais l'intégration d'une couche de protocole client/serveur plus élégante et efficace (ICA par exemple) est assez triviale. A ce moment-là, tout ce que les développeurs de Microsoft auraient à faire est de nettoyer leur code pour une meilleure utilisation des ressources (ce qu'ils auraient dû faire depuis le toujours) et de remettre les applications sur les serveurs d'où elles étaient venues il y a quelques décennies.

Donc c'est du « business as usual » à Redmond. Encore plus de gadgets, plus de couleurs brillantes, plus de code inutile, plus de vieilleries avec une nouvelle couche de peinture, le tout présenté comme technologie nouvelle inventée par Microsoft. Ils habillent leurs « innovations technologiques » de noms qui sonnent bien comme « Single Instance Store », pour déguiser le fait que Single Instance Store n'est rien qu'une version légèrement adaptée des liens symboliques qu'Unix utilise depuis une trentaine d'années.
Le Narrateur qui convertit du texte vers des paroles est une autre « innovation ». Très utile évidemment pour les handicapés visuels, mais une innovation ? Des logiciels commerciaux qui font du texte-vers-parole ont été disponibles sur le marché depuis le début des années 80.

Manifestement, Microsoft estime que R&D signifie « Remballage et Déguisement ». Un excès baroque de fonctions qui ne servent qu'à cacher que leurs applications ne contiennent rien qui pourrait être qualifié de novateur. Malgré un budget marketing de cinq milliards de dollars par an, le mieux que Microsoft ait réussi à faire est de remballer des idées différentes comme s'il s'agissait des leurs, de lister TCP/IP sous les « Protocoles Windows », clamer qu'ils ont « assisté à IPv6 », et bien sûr ils ont inventé le trombone animé. Windows n'a pas ajouté un seul service de base au PC qui n'était pas déjà disponible, disons, sur une station Sun en 1990. évidemment le matériel a évolué en puissance, et baissé en prix (comme pour tous les produits électroniques), donc les PC d'aujourd'hui semblent supérieurs à ces vieilles stations de travail. Mais sur le fond, rien de neuf, rien qui ajoute vraiment des capacités nouvelles à l'ordinateur personnel, n'a été inventé depuis.

Montrez moi une seule technologie nouvelle inventée ou développée par Microsoft. Juste un seul concept original, c'est tout ce que je vous demande. Montrez-le moi, et je vous dirai où ils l'ont obtenu.

Innovation ? Ouais.


Ceci est le chapitre 1 sur 10.

Dans la série "Pourquoi je hais Microsoft" :
-  Introduction
-  La qualité générale des produits de Microsoft (1ère partie : Windows)
-  La qualité générale des produits de Microsoft (2ème partie : Applications)

Les chapitres suivants seront mis en ligne au fur et à mesure que leur traduction avance. Revenez donc bientôt pour la suite :)

Traduit par GR avec l'aimable autorisation de l'auteur, Frank van Wensveen.
La version originale, complète et à jour de ce document se trouve ici (en anglais)
 : Why I Hate Microsoft


www.jeudi.org - Article et commentaire soumis au régime de la Licence de Libre Diffusion des Documents

Répondre à cet article

> Microsoft et "innovation"
27 janvier 2005

Juste une petite remarque, même avec du code vieux de 10 ans sur XP, Ce système est le plus mauvais pour faire marcher les vieilles applications MS-DOS...

Essayez de retrouver un jeu vendu sur cd aux débuts de ce support (Armored Fist 1 ou Dragon Lore 1, par exemple), et essayez de le faire fonctionner sur XP/2000 sans Virtual PC...

Alors peut-être qu'il y a des vieux codes sur ces systèmes, mais on se retrouve avec les désavantages (Ancien code standard = niveau zéro de l'optimisation), sans les avantages (réelle compatibilité antérieure).

Répondre à ce message

> Microsoft et "innovation"
15 décembre 2004, par Maurice

un exemple d'innovation de MS

XML :SOAP

Répondre à ce message

> Microsoft et "innovation"
10 janvier 2005

Haaaaahahahahahaha ! ! !

Quel humour décapant !

Mouis, bon, renseignes-toi, je te laisse découvrir la vérité ;-)

Répondre à ce message

> Microsoft et "innovation"
25 novembre 2004

d'ailleur a propos de VMS et de windows NT faite V M S et W N T ;)

Répondre à ce message

> Microsoft et "COPIAGE"
22 décembre 2004, par GENIUS

Flemme de lire aujourd'hui mais sur le réseau edonkey, il y a 3 feuilletons LIBRES DE DROIT (documents ARTE). faites une recherche sur : Les cinglés de l'informatique

et vous saurez tout sur l'épopée de Microsoft et d'Apple, en passant par la déroute d'IbM et la ratage de coche de Xerox ( qui y sont pour beaucoup dans els OS tels qu'on les voit aujourd'hui, d'ailleurs allez voir le dossier xerox dans programme files, ça doit etre une sorte d'hommage :'-D ).

Vous saurez tout sur l'opportuniste bill gates et vous rirez sur steve ballmer (comme d'habitude, on ne sait d'où il vient , ni d'où vient son humour sillicon walleyiste).

@+

Répondre à ce message

Dans la même rubrique :
La qualité générale des produits Microsoft (1ère partie : Windows)
Le pouvoir de lier
Utiliser un logiciel autre que Word est absurde
La qualité générale des produits Microsoft (2ème partie : Applications)
Microsoft - l'église du troisième millénaire ?
Pourquoi je hais Microsoft (0/10) - Introduction