Et si Microsoft avait besoin de repartir de la feuille blanche ?

MS-Windows Vista est un monstre de complexité, tout comme les logiciels récents, qui sont toujours plus complets, toujours plus complexe, toujours plus gourmands.

Alors, il faut se l’avouer, une personne qui utilisent ses deux doigts pour taper une lettre mettra toujours autant de temps à taper une lettre avec un MS-Word 6.0 pour MS-Windows 3.1 sur un 486 DX2 66Mhz épaulé de 8 Mio de mémoire et 200 Mio de disque que sur un MS-Word 2007 sur un Athlon64 X2 3800+ épaulé de 2 Gio de mémoire vive et 500 GiO de disque dur avec MS-Windows Vista.

Tout au plus, aura-t-il gagner un peu de souplesse à l’utilisation, mais sa vitesse de frappe sera sensiblement identique. Seul un apprentissage de la dactylographie lui serait alors bénéfique.

Quand Apple a racheté Next vers 1998, Mac était dans le creux de la vague, et le viellissant MacOS (7.5 à l’époque) commençait à sentir ses articulations craquer sous le poids du code datant parfois de 1984, même si entre temps, une transition avait été effectuée du code 68000 vers du code pour PowerPC.

Ce qui allait devenir MacOS-X, connu alors sous le nom de Rhapsody se basait sur NeXTStep, un OS basé sur des principes unix – donc des bases plus que solides, mais surtout, qui ne se trimballait pas une nécessaire compatibilité avec des logiciels mac assez vieux.

MacOS-X n’avait alors de Mac que l’appellation. Lors de la sortie de MacOS-X 10.0 en 2001, un « boite » permettait de faire fonctionner les vieux logiciels pour Mac via une émulation.

Bien entendu, au fil des versions, les besoins en vieux logiciels pour Mac ont été réduit à néant ou presque. D’ailleurs, c’est avec la sortie de MacOS-X Leopard en 2008 qui a signé la mise à mort de l’émulateur.

Prenons le cas de MS-Windows Vista. Il n’est pas issu de la branche originelle de Windows, celle d’une surcouche graphique pour DOS, comme cela fut le cas pour les Windows 1 à 4.90 (Windows 1.0.x en 1985, 2.0.x en 1987, 3.0.x en 1990, 3.1x en 1992 et 1993, Windows 4.0 alias Windows 95, 4.1 alias Windows 98 et 4.9 alias Windows Millenium).

MS-Windows Vista n’est autre que Windows NT 6.0. La branche NT (pour New Technology) se base sur du code développé à l’origine en commun avec IBM pour pondre ce qui devait être OS/2 3.0.

Mais vers 1991, Microsoft abandonne IBM et lance « officiellement » le développement de la branche professionnelle de NT, dont le premier sera Windows NT 3.1 en 1992.

1993 vera la sortie de NT 3.5, 1994 celle de NT 3.51. Les trois premières versions de Windows NT – et de leur équivalent serveur – reprennent l’interface graphique de Windows 3.1x, mais diffère en deux points précis :

  • C’est un OS à part entière, pas uniquement une surcouche de DOS
  • C’est un OS entièrement 32 bits, contrairement à un mélange infame de code 16 et 32 bits comme cela sera le cas pour les windows 9x / Millenium

1996 : sortie de Windows NT 4.0
1999 : le code de NT 5.0 est enfin finalisé pour une sortie en février sous le nom de Windows 2000.

C’est – je parle par expérience personnelle – mon MS-Windows préféré.

2001 : NT 5.1 alias Windows XP sort, devenant le premier NT grand public.
2006 : NT 6.0 sort après bien des péripéties.

Donc, si l’on regarde, Windows Vista est le fruit d’une branche née 15 ans auparavant. Autant dire que l’héritage est important. Ce qui doit finir par rendre le code difficile à maintenir, surtout qu’il faut détruire le moins possible le support du code prévu pour les Windows précédents.

Le futur Windows se7en dont on ne sait pas grand chose si ce n’est qu’il est prévu pour 2010 dans le meilleur des cas sera la fin de course de cette branche NT.

Pour plusieurs raisons : la vieillesse du code. Car il doit bien rester du code d’origine du premier NT plus ou moins retravaillé, du code conservé pour la compatibilité, etc…

Il serait donc primordial que Microsoft reparte de zéro, sur des bases saines pour pouvoir construire une nouvelle génération de Windows moins gourmande, moins difficile à maintenir, au prix de la mise à mort de générations entière de logiciels.

Dans un autre domaine, il suffit de voir à quel point cette décision difficile à prendre est bénéfique. Je ne prendrais que le cas de la Fondation Mozilla qui a fêté en mars dernier les 10 ans du projet mozilla.

Quand en mars 1998 le code est libéré – qui est alors une pré-alpha de ce qui aurait être Communicator 5.0, du travail est effectué dessus durant environ 6 mois avant que la décision ne soit prise : le code est trop dur à maintenir, il faut repartir à zéro.

Bien entendu, la sortie prématurée de Netscape 6.0 courant 2000 (basé sur Gecko 0.6) fait mal au projet, mais permet de prouver que cette idée était finalement la bonne. Même s’il a fallu attendre Mozilla Firefox 1.0 pour que la machine soit lancée pour un succès marquant du projet.

Si Microsoft veut redorer son blason auprès de ses utilisateurs fidèles – ceux qui ont choisi en pleine conscience d’utiliser leurs logiciels – après le demi-succès de Windows Vista plus que vertement critiqué à sa sortie, il faudra un jour passer par cette étape.

Et peut-être faire ce qu’avait fait Apple avec le rachat de Next : partir d’une base unix en utilisant une interface graphique qui cache le côté ésotérique de cet OS, sa ligne de commande. Ce serait peut-être le moyen d’éradiquer les virus, les espiogiciels, bref tout ce qui fait partie des ennuis de la vie du windowsien moyen.

Et si le logiciel libre était répulsif à cause de la liberté de choix qu’il propose ?

Chaque année depuis 1998, on nous promet que ce sera l’année de l’envol pour Linux version bureau. Et chaque année, de repousser cet avènement à l’année suivante.

Si un OS alternatif à Windows commence à lui tailler des croupières, c’est bien le bon vieux Mac, qui s’est offert avec MacOS-X dans les années 2001 une cure de jeunesse bienvenue à un MacOS mis à jour constamment depuis ses premières versions datant de 1984…

Cependant, la répartition est toujours du genre : 95% de Windows (grace à la vente liée et à la création d’un marché captif par la facilité de pirater Windows), 4% de MacOS-X, et 1% pour Linux et autres OS libre.

Une des raisons du succès de Windows, c’est d’offrir du « pré-maché », même s’il faut rajouter sur un windows – quelque soit sa génération – au minimum un duo anti-virus et anti-espiogiciel. Ce dernier ayant pris de l’importance depuis une bonne demi-douzaine d’années environ.

Si on regarde un windows typique, tout est « prémaché » pour l’utilisateur :

  • Pour la navigation internet : Internet Explorer.
  • Pour la lecture des fichiers multimédia : Windows Media Player
  • Pour le courrier : Outlook Express devenu Windows Mail sous Windows Vista

Même si ce sont des outils loin d’être parfaits, ils forment une limite basse de qualité. Il suffit de comparer la qualité du rendu ou du niveau de support des normes internationales en matières de pages internet que propose la concurrence à Internet Explorer, en l’occurence les navigateurs basés sur Gecko, sur Webkit ou encore le navigateur Opera. IE est à chaque fois battu à plate couture.

L’ignorance de l’existance de la concurrence et / ou le codage des pages ont permis à IE de conserver un niveau de parts de marché de 75% environ en Europe. Soit une chute de 20 points en l’espace de 4 ans.

Ce qui est vrai pour IE, l’est aussi pour les autres outils que fournit Microsoft, comme le montre la liste aussi longue que le bras de paquets de codecs pour Windows Media Player ou encore le nombre de clients courriers pour Windows : Mozilla Thunderbird, The Bat!, Claws Mail, etc…

Malgré les défauts souvent énormes, Windows et les logiciels Microsoft conservent leur place de logiciels étalons.

Prenons le monde du logiciel libre. Pour chaque tache, il suffit de voir que le nombre d’outils de trois, voire plus.

Par exemple, pour naviguer sur internet, l’on a le choix entre des navigateurs utilisant Gecko (Mozilla Firefox, Epiphany jusqu’à ses versions 2.22.x), Konqueror utilisant KHTML qui serait remplacé à terme par Webkit, Midori (utilisant Webkit, le coeur de Safari d’Apple), Opera.

On veut lire un fichier multimédia ? VideoLanClient, Mplayer, Totem sont proposés.

Du traitement de texte ? OpenOffice.org Writer, Abiword, Kword sont disponibles.

Du tableur ? OpenOffice.org Calc, Gnumeric, Kspread sont disponibles.

Et contrairement à Windows, l’interface graphique n’est pas autant figé. On peut choisir entre :

Si on veut du plus léger ? Les gestionnaires de fenêtres sont alors très nombreux : fvwm, fluxbox, openbox, windowmaker, etc…

Et que dire du choix des distributions ? On peut tout choisir dans le monde libre. C’est peut-être donc ce choix hypertrophié fait peur aux personnes qui veulent quelque chose de louable : quelque chose qui fonctionne sans que l’on se pose de question, mettant aux toilettes un point primordial : c’est au logiciel de s’adapter à l’utilisateur et non l’utilisateur à s’adopter au logiciel.

Vers un coeur commun entre Shiretoko, Shredder et SeaMonkey 2 ?

C’est une idée envisageable, étant donné que le dépot du code source de Shredder et de SeaMonkey pré-2.0 viennent de migrer, abandonnant le vieux dépot CVS vers un dépot mercurial.

Si l’on veut compiler soit-même le code source dit du « tronc » des logiciels de la Fondation Mozilla, que ce soit Shiretoko, Shredder ou SeaMonkey pré-2.0, il faut maintenant passer par des dépots mercurial.

Si le développement de Shiretoko est maintenant bien ancré sur un dépot mercurial, à savoir mozilla-central, c’est loin d’être le cas pour Shredder et SeaMonkey pré-2.0. Voici donc comment compiler Shredder ou SeaMonkey en utilisant le dépôt mercurial comm-central.

Déjà, il faut avoir autoconf 2.13 et mercurial pré-installé. Pour cela, il faut se conférer à la documentation de votre distribution pour savoir comment faire.

Ensuite, il faut récupérer le code source commun à Shredder et SeaMonkey pré-2.0 :

hg clone http://hg.mozilla.org/comm-central/ src

Une fois le code récupéré, il faut récupérer le complément à savoir le code en commun avec Shiretoko :

python client.py checkout

Pour cette partie, l’outil CVS configuré correctement est indispensable. En clair, il faut que la variable CVSROOT soit définie ainsi :

export CVSROOT= »:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot »

Vient le moment stratégique, préparer le .mozconfig pour les options de compilation. Il faut ajouter les deux lignes suivantes :

ac_add_options --enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

Et virer un . $topsrcdir/mail/config/mozconfig qui aurait pu s’y trouver si on récupère un vieux fichier .mozconfig

Voici pour information mon .mozconfig pour Shredder :

#
# See http://www.mozilla.org/build/ for build instructions.
#

ac_add_options –enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize= »-Os -march=native -w -pipe »
ac_add_options –disable-debug
ac_add_options –disable-tests
ac_add_options –enable-default-toolkit=cairo-gtk2
ac_add_options –enable-static
ac_add_options –disable-shared

Ensuite, il suffit de lancer la compilation et d’attendre.

Et voici ce que donne une boite « about » d’un Shredder compilé avec le code source du dépôt mercurial comm-central.

Shredder pré-alpha2 ?

Les pages qui m’ont aidé pour rédiger cet article :

http://wiki.mozilla.org/SeaMonkey:hg-based_build
http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(Mercurial)
http://developer.mozilla.org/en/docs/Comm-central_source_code_(Mercurial)
http://developer.mozilla.org/en/docs/comm-central

Quoi de neuf avec Shiretoko Alpha 1 ?

Si on en croit ce bilan hebdomadaire de la Fondation Mozilla reproduit sur le blog « Firefox Extension Guru’s Blog« , Shiretoko alpha 1 devrait sortir le 25 juillet prochain, le code ayant été gelé à 23 h 59, heure du Pacifique, soit Paris – 9 heures.

Qu’y aura-t-il dedans, sauf changement de dernière minute ?

84 / 100 pour le test Acid3 sous Shiretoko alpha1

Bref, que du bon, et encore du meilleur à venir. Enfin, on verra bien ce que cela donnera lors de la sortie de la version finale, prévue pour fin 2008, début 2009.

Quand Linus prend sa revanche du Theo De Raadt…

En juin 2005, le fondateur du projet OpenBSD avait descendu en flamme le projet linux, déclarant entre autre que :

« It’s terrible, » De Raadt says. « Everyone is using it, and they don’t realize how bad it is. And the Linux people will just stick with it and add to it rather than stepping back and saying, ‘This is garbage and we should fix it.' »

Ce qui donne traduit :

« C’est terrible, » déclare De Raadt. « Tout le monde l’utilise, et ils ne réalisent pas à quel point c’est mauvais. Et les linuxiens restent avec et ajoute des trucs au lieu de faire marche arrière en disant : ‘c’est de l’ordure et on devrait corriger cela. »

Un peu plus de trois ans plus tard, dans un courrier concernant la sortie de la version 2.6.25.10, Linus Torvalds prend sa revanche.

Je cite :

Btw, and you may not like this, since you are so focused on security, one
reason I refuse to bother with the whole security circus is that I think
it glorifies – and thus encourages – the wrong behavior.

It makes « heroes » out of security people, as if the people who don’t just
fix normal bugs aren’t as important.

In fact, all the boring normal bugs are _way_ more important, just because
there’s a lot more of them. I don’t think some spectacular security hole
should be glorified or cared about as being any more « special » than a
random spectacular crash due to bad locking.

Security people are often the black-and-white kind of people that I can’t
stand. I think the OpenBSD crowd is a bunch of masturbating monkeys, in
that they make such a big deal about concentrating on security to the
point where they pretty much admit that nothing else matters to them.

To me, security is important. But it’s no less important than everything
*else* that is also important!

Ce qui donne traduit :

A propos, et vous ne pourriez pas aimer cela, puisque vous êtes tellement concentré sur la sécurité, une raison pour laquelle je refuse de m’ennuyer avec tout le cirque sécuritaire est car je pense que cela nous entraine dans une mauvaise direction.

Cela fait des « héros » des personnes de la sécurité, comme si les personnes qui corrigeaient les bogues n’étaient pas aussi importantes.

En fait, tous les ennuyeux bogues normaux sont bien plus important, car ils y en a beaucoup plus. Je ne pense pas qu’un spectaculaire trou de sécurité devrait être glorifié ou plus pris en compte comme quelque chose de « spécial » qu’un plantage aléatoire et spectaculaire du à un mauvais verrouillage.

Les personnes s’occupant de la sécurité sont souvent des personnes voyant tout en noir et blanc et cela m’insupporte. Je pense que les gens d’OpenBSD sont un paquet de singes se masturbant dans le sens où ils se concentrent tellement sur la sécurité au point qu’ils finissent par admettre que rien d’autre n’existe pour eux.

Pour moi, la sécurité est importante. mais ce n’est pas moins important que *tout* le reste qui est aussi important.

J’avoue que je suis d’accord en partie avec Linus, même si j’avoue avoir un petit faible pour le cryptique OpenBSD. Mais après tout, entre deux grandes gueules comme Linus Torvalds et Theo de Raadt, que demander de plus ? 😉

Sortie de Firefox 3.0.1

Lu sur le blog Mozilla Developper News, la première mise à jour de Firefox 3, la version 3.0.1 vient de sortir, un mois jour pour jour après la sortie de la version 3.0.

Au menu des nouveautés ?

Pour les mises à jour : si vous utilisez Windows ou MacOS-X, suffit de demander la recherche de mises à jour. Pour Linux, il suffit d’attendre que votre distribution vous propose la mise à jour.

Firefox se « bling-bling »iserait-il ?

On peut le penser, surtout avec l’arrivée d’un correctif pour le bogue 395980, qui introduit via le raccourci touche control + tabulation l’aperçu des onglets sans avoir besoin de changer de page.

Ce correctif ne concerne que la version de développement de Firefox 3.1, alias Shiretoko qui est prévu pour fin 2008, début 2009.

Une petite vidéo faite sur mon PC il y a quelques minutes explique mieux le principe.

Utile ? Peut-être pas outre mesure au premier abord. Bling bling ? Sûrement 😉

Vrac’ons librement.

Un en’vrac rapide consacré au logiciel libre.

  • Sortie de WordPress 2.6 ce matin. Pour avoir un aperçu des nouveautés en vidéo, cf cet article. La version française ne saurait tarder.
  • Sur son blog, Antistress nous annonce que Gnome 3.0 s’approche enfin. Et ce que ce serait la version 2.28 qui sera suivi par la 3.0. Donc, si le cycle des 6 mois est respecté, Gnome 2.24 en septembre prochain, la 2.26 en mars 2009, la 2.28 en septembre 2009. Donc Mars 2010 pour la version 3.0 ? 🙂
  • Ce matin, pour les utilisateurs d’Hardy Proposed, en plus d’une mise à jour de sécurité concernant pcre, on a droit à des mises à jour des traductions… Qui permettent d’avoir un firefox 3.0.1 entièrement traduit.

Voila, c’était du rapide, mais j’avais besoin de le faire 😉

Sortie du noyau linux 2.6.26 !

En jettant un oeil sur kernel.org, j’ai pu voir arriver un certain 2.6.26 après 9 versions rc. En attendant un résumé sur linuxfr.org, je suis allé sur Kernel Newbies histoire de voir les nouveautés de cette version.

En gros :

  1. Kvm a été porté sur architecture s390, powerpc et ia64. Sympa pour les utilisateurs de ces plateformes.
  2. Support des webcams améliorés. Joie 🙂
  3. Support du futur standard internet sans fil 802.11s.
  4. Ajout d’un débogueur au niveau du noyau
  5. Ajout d’un testeur de mémoire intégré au noyau
  6. Support des OLPC

Bref, pas mal de bonnes choses. Surtout un meilleur KVM, ce qui est quand même assez plaisant pour les fondus d’émulation dont je fais parti 😉

J’avoue attendre avec impatience le compte rendu sur linuxfr.org, car ce sont des articles souvent très intéressant, comme pour l’arrivée du noyau 2.6.25 en avril dernier.

Rajout à 11 h 25 : excellent article sur linuxfr.org concernant le noyau 2.6.26.

En suivant le flux « Planet-Debian »…

Je suis tombé sur cet article qui regroupe un certain nombre de projets libre ou open-source.

Devinette liée aux projets libres et open-source

J’en ai identifié 13 projets, bien que je pense en avoir raté un ou deux. Donc, quels sont les projets que vous avez identifié ? 🙂

Bien entendu, copier / coller les réponses tirés des commentaires de l’article source sera une forme de tricherie non acceptable 🙂

A vos réponses dans les commentaires 😉