La quête du logiciel de qualité — suite et fin (Libres conseils 22c/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : peupleLà, lerouge, goofy, alpha, Sky, Julius22, vvision, okram, lamessen

Les transformations qui préservent la structure

Le deuxième tome de The Nature of Order décrit comment chacune de ces propriétés définit également une transformation. En voici des exemples.

  • Des frontières solides. Vous pouvez parfois transformer quelque chose positivement en lui adjoignant une frontière. Vous installez une palissade autour d’un jardin qui sert alors d’ornement, de coupe-vent afin que des vents forts ne viennent pas endommager le jardin, mais elle existe aussi comme structure en soi. Dans une interface graphique utilisateur, des boîtes à ascenseurs sans cadre sont difficiles à distinguer de l’arrière-plan de la fenêtre (pensez à toutes ces pages web blanches dont les formulaires d’entrée de texte n’ont pas de cadre). Vous placez une corniche sur le toit d’un immeuble afin que la transition entre l’immeuble et le ciel ne soit pas abrupte.
  • Des symétries locales. Il est plus facile de construire de petites parties de manière symétrique : parce qu’elles sont fabriquées sur un tour, parce qu’on doit y accéder des deux côtés, parce qu’elles se plient comme un livre. Faire des choses asymétriques, seulement pour l’intérêt de la chose, demande un travail supplémentaire et il est plus difficile d’obtenir quelque chose qui fonctionne bien.
  • Un espace positif. Vous vous sentez trop exposé quand vous êtes au bureau ? Ajoutez une étagère à mi-hauteur à côté de vous pour délimiter votre espace mais ne vous enfermez pas complètement. Est-ce que votre interface utilisateur donne l’impression qu’il y a beaucoup d’espace restant une fois que vous avez mis les contrôles en place ? Faites plutôt en sorte que les contrôles entourent l’espace utilisable.

Chacun des points qui précèdent est une transformation qui préserve la structure. Vous effectuez un changement dans la structure existante non pas en la démolissant et en la refaisant, mais en ajustant une chose après l’autre selon ces propriétés comme transformations.

En termes de logiciel, il s’avère que c’est ce en quoi le « Refactoring » consiste surtout, quand vous traduisez les concepts en code. Réorganiser, c’est seulement appliquer des transformations qui préservent la structure ou, comme Martin Fowler — l’auteur de Refactoring — l’aurait présenté, des transformations qui préservent le comportement. Vous ne changez pas ce que fait le programme ; vous changez seulement la manière dont il est construit à l’intérieur, morceau par morceau.

En extrayant un morceau de code et en l’insérant dans une fonction nommée, vous ajoutez essentiellement une frontière solide autour du code et créez un noyau robuste. En enlevant une variable globale et en ajoutant des variables de classe, vous permettez la robustesse, car chaque instance peut maintenant avoir une valeur différente dans cette variable, comme nécessaire. En ayant un producteur/consommateur, ou un émetteur/récepteur, vous avez des symétries locales, des imbrications fortes et ambiguës, et une bonne forme.

Richard Gabriel, l’une des principales personnalités du Common Lisp , a étudié comment appliquer les théories d’Alexander au logiciel (et aussi à la poésie ; le code n’est-il pas similaire à la poésie après tout ?). Il donne l’exemple suivant :

  1. Imaginez que vous créez la classe AppelTelephonique. C’est un objet central implicite, qui pourrait être beaucoup plus puissant.
  2. Gerard Meszaros dans le modèle DemiObjet + Protocole suggérait de séparer l’objet en deux demi-appels, liés par un protocole. On obtient ainsi une symétrie locale, un centre fort et un effet d’échelle.
  3. Maintenant, dessinons cela sous forme de diagramme. On obtient alors de la symétrie locale, de l’effet

    d’échelle, des frontières, une imbrication forte et de l’ambiguïté. C’est ici que Meszaros a arrêté sa démarche.

  4. Richard Gabriel suggère alors de renforcer les centres existants en appliquant d’autres transformations qui préservent la structure. Que faire de l’objet central implicite au milieu ? Vous lui ajoutez une frontière explicite (Appel) qui lie les demiAppels entre eux. Cela améliore les symétries locales, maintient l’imbrication forte et l’ambiguïté, et c’est composable.

  5. Oui, c’est composable. Des appels multidirectionnels, des conférences téléphoniques, tout cela s’effectue 

    grâce à la mise en œuvre de transformations qui préservent la structure.

Chaque développeur garde probablement une image mentale du programme qu’il est en train de créer ou de modifier. La partie la plus difficile dans la modification d’un code que vous n’avez pas écrit est de commencer par visualiser cette image mentale. Quand vous travaillez pour que le code affiche une image plus jolie, il s’améliore — et Alexander nous propose une bonne façon de le faire.

Le processus fondamental

Alexander argumente longuement pour expliquer l’intérêt de suivre ce processus : appliquer des transformations qui préservent la structure est la seule manière de réussir une conception de qualité et fonctionnelle. Cela ne vaut pas seulement pour les immeubles, mais pour tout ce que nous construisons. Peu importe que vous partiez de l’existant — un programme, un bâtiment ou une ville — ou que vous partiez de zéro. Nous imitons la nature dans ses processus d’évolution et de régénération, mais nous allons plus vite.

  1. Commencez avec ce que vous avez : un espace vide, un immeuble déjà construit ou bien un programme qui ne ressemble à rien et difficile à utiliser.
  2. Identifiez les centres existant dans cet espace. Trouvez le centre le plus faible ou le moins cohérent.
  3. Voyez comment appliquer l’une au moins des quinze transformations qui préservent la structure afin de renforcer ce centre faible. A-t-il besoin d’être délimité ? A-t-il besoin de se confondre avec son entourage ? A-t-il besoin de plus de détails ? A-t-il besoin d’être dégagé ?
  4. Trouvez les nouveaux centres qui sont apparus quand vous avez appliqué les transformations à l’ancien centre. Cette nouvelle combinaison rend-elle les choses plus fortes ? Les rend-elle plus jolies ? Les rend-elle plus fonctionnelles ?
  5. Assurez-vous que vous avez fait la chose la plus simple possible.
  6. Retournez au début pour l’étape suivante.

Un résumé extrêmement simple pourrait être : trouvez les mauvaises parties, améliorez-les de la façon la plus simple possible, testez les résultats, réitérez.

Alexander ne tient pas à détruire les choses juste pour les reconstruire de façon différente. Il ne s’agit pas de pas démolir des quartiers d’une ville pour les reconstruire mais de les améliorer progressivement. Pour les logiciels, il est bien connu que vous n’allez pas réécrire quelque chose juste parce que vous ne le comprenez plus. Démolir quelque chose, c’est perdre toutes les connaissances qui avaient été incorporées à cette chose en train d’être détruite, même si elle semble étrange dans son état actuel.

De même, Alexander s’oppose à la création de modèles détaillés au préalable. Il donne un bon argument montrant pourquoi les modèles pré-établis ne peuvent pas fonctionner en fin de compte : parce qu’on ne peut pas prévoir de manière absolue tout ce qui va se passer lors de la construction et de l’implémentation ; parce qu’on oubliera forcément une partie des détails de l’environnement au sein duquel notre création évoluera ; parce que la nature en elle-même n’est pas pré-ordonnée et croît plutôt de manière libre et pousse sans pitié à l’évolution jusqu’à ce que les éléments qui la constituent survivent d’eux-mêmes.

De cette façon, vous ne concevez pas l’interface utilisateur en entier ou la structure complète, pour un grand programme, en une seule étape. Vous allez du grand au petit ou du petit au grand (niveaux d’échelle) ; vous testez chaque partie individuellement jusqu’à ce que ce soit bon (des centres solides) ; vous vous assurez que les parties ne sont pas trop déconnectées les unes des autres (interdépendance). Vous déplacez quelques widgets là où ils sont plus accessibles ou plus proches des données auxquelles ils se réfèrent. Vous enlevez quelques cadres et séparateurs pour réduire le désordre. Par dessus tout, vous évaluez continuellement ce que vous avez créé avec de vrais utilisateurs et des cas d’usage réels pour confronter les choses à la réalité, et non à votre imagination.

Un nom pour la qualité

Tout au long de The Nature of Order, Alexander parvient à montrer que les environnements ou les structures construites selon cette méthode finissent toutes par avoir la Qualité sans Nom. Il appelle cela une structure vivante. Cela peut être mesuré et comparé. Ce n’est plus sans nom ; on peut parler d’environnements ou de programmes qui ont une structure plus ou moins vivante par rapport à d’autres — et nous tendons à développer et à obtenir toujours plus de cette propriété.

J’ai seulement intitulé cet article « Le logiciel comme Qualité sans Nom » parce que ça semblait ainsi plus mystérieux.

Je ne peux prétendre connaître la façon parfaite de concevoir et écrire des logiciels. Mais au moins, j’ai une bonne méthode basée sur ce qui produit de bonnes choses ailleurs. Cela a fonctionné pour ma maison et, jusqu’à présent, ça a très bien marché pour mes logiciels. J’espère que ça fonctionnera bien pour vous aussi !

Références

  • Christopher Alexander, A Pattern Language. Version en ligne : http://bit.ly/8n6igg (NdÉ : lien invalide, le 1er février 2013).
  • Christopher Alexander, The Nature of Order. Une page web très moche http://www.natureoforder.com (NdÉ : visité le 1er février 2013).
  • Photos et dessins des 15 propriétés – http://bit.ly/b82Dxu (NdÉ : visité le 1er février 2013).
  • Richard Gabriel, Patterns of Software. Un superbe libre qui traite d’un grand nombre d’aspects du développement des logiciels, en transposant les idées de Christopher Alexander pour atteindre les meilleures techniques possibles en développement de logiciel. Version en ligne : http://bit.ly/dqGUp4 (NdÉ : visité le 1er février 2013).
  • Richard Gabriel, Christopher Alexander, the search for beauty. Une excellente présentation des idées de Christopher Alexander et une galerie de modèles dans le domaine du logiciel. http://bit.ly/ztE6cp (NdÉ : visité le 1er février 2013).
  • Richard Gabriel, The Nature of Order. Le monde post-modèles. Une autre très bonne présentation, qui fait suite à la précédente, explique les 15 propriétés, le processus fondamental et comment cela peut s’appliquer au logiciel. http://dreamsongs.com/Files/NatureOfOrder.pdf (NdÉ : visité le 1er février 2013).
  • Federico Mena Quintero, Software that has the Quality Without A Name. Présentation Desktop Summit de Berlin en 2011. http://bit.ly/oYgJUf (NdÉ : visité le 1er février 2013).



La quête du logiciel de qualité – (Libres conseils 22b/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : Sphinx, peupleLà, lerouge, goofy, alpha, Sky, Julius22, lamessen, vvision, Garburst, okram

Le guichet de billetterie

La thèse de doctorat d’Alexander a servi de base à son livre Notes on the Synthesis of Form (NdT : Remarques sur la synthèse de la forme), paru en 1964. Il essayait de rationaliser le processus de conception en le définissant comme une progression depuis une série de conditions préalables jusqu’à un résultat final, grâce à une analyse des forces qui déterminent le design.

Permettez-moi de citer Richard Gabriel, dont je parlerai plus tard, quand il décrit l’époque où Alexander essayait de concevoir un guichet de billetterie en prenant appui sur ses idées mathématiques :

Alexander dit (à propos de la qualité sans nom) :

Il s’agit d’un type subtil de liberté issu de contradictions internes. (Alexander, 1979)

Cette assertion fait écho aux origines de sa recherche sur la qualité. Elle commença en 1964 alors qu’il était en train de réaliser une étude pour le San Francisco Bay Area Rapid Transit District (BART) basée sur le travail rapporté dans Notes on the Synthesis of Form (Alexander 1964), lui-même basé sur sa thèse de doctorat. L’une des idées-clés de ce livre était qu’avec une bonne conception, il doit y avoir une relation sous-jacente entre la structure du problème et la structure de la solution — les bonnes conceptions passent par la rédaction d’une analyse des besoins, l’analyse de leurs interactions sur les bases d’incompatibilités potentielles, produisant ainsi une décomposition hiérarchisée des différentes parties, et la reconstitution d’une structure dont

la hiérarchie structurelle est l’exact complémentaire de la hiérarchie fonctionnelle établie durant l’analyse du programme. (Alexander, 1964)

Alexander a analysé le système de forces mises en jeu dans la conception d’un guichet. Lui et son groupe avaient rédigé un cahier des charges en 390 points pour couvrir tous les cas de figure d’usage de l’édicule. Certaines spécifications concernaient des choses telles qu’être là pour obtenir des billets, pouvoir faire de la monnaie, pouvoir déplacer les personnes qui font la queue, réduire la durée d’attente pour obtenir des billets. Il a toutefois remarqué que certaines parties du système n’étaient pas concernées par ces spécifications et que le système lui-même pouvait s’enliser parce que ces autres forces — celles qui ne faisaient pas l’objet d’une spécification — agissaient pour arriver à leur propre équilibre au sein du système. Par exemple, si une personne s’arrêtait et qu’une autre s’arrêtait également pour parler avec la première, cela pouvait créer un embouteillage susceptible de mettre en échec les mécanismes mis au point pour maintenir une circulation fluide. Bien sûr, l’absence d’embouteillage faisait partie des spécifications. Mais il n’y avait rien que les concepteurs puissent faire pour l’empêcher par le biais d’un mécanisme adapté.

En tant que programmeur, ça doit vous rappeler quelque chose ? Vous pouvez élaborer une conception magnifique et parfaitement rigoureuse, mais qui s’effondrera quand vous la construirez effectivement parce que des éléments que vous n’aviez pas anticipés apparaitront alors. Ce n’est pas un échec de votre conception, mais de quelque chose d’autre ! Richard Gabriel poursuit :

Alexander disait ceci :

Il devint alors clair que le bon fonctionnement d’un système ne dépendait pas uniquement de la satisfaction d’une série de conditions préalables. Il s’agissait plutôt d’un système qui trouve sa cohérence en lui-même et en équilibre avec les forces internes générées par ledit système que de l’accord avec une série quelconque de conditions préalables que nous aurions arbitrairement définie. Cela m’intriguait beaucoup car l’idée qui prévalait en général à l’époque (en 1964) était que, pour l’essentiel, tout était fondé sur des objectifs. Toute mon analyse des conditions préalables tendait à converger avec le point de vue de la recherche opérationnelle qui pose qu’il faut établir des objectifs, etc. Ce qui m’ennuyait, c’est qu’une analyse correcte du guichet ne pouvait se baser uniquement sur des objectifs quelconques ; il y avait des réalités qui émergeaient du centre du système lui-même et qui, peu importe votre degré de réussite, avaient un rapport avec le fait que vous ayez créé une configuration stable au regard de ces réalités.

Et c’est le cœur du problème : comment créer une configuration stable avec les réalités qui en émergent au fur et à mesure que vous la construisez ?

La nature de l’ordre

Bien que Christopher Alexander ait eu conscience d’avoir produit quelque chose de précieux avec ses recherches et catalogues de modèles, il n’était pas complètement satisfait. D’où venaient les modèles ? Pouvait-on les créer à partir de rien ou devait-on se satisfaire de ce qu’avait produit jusque-là l’architecture traditionnelle ? D’ailleurs, les modèles étaient-ils réellement nécessaires ? Comment pouvait-on mieux définir et évaluer ou mesurer cette « Qualité sans nom » ?

Alexander passa les vingt années suivantes à tenter de répondre à ces questions. En étudiant le processus réel de création par lequel des environnements bien construits avaient vu le jour, il découvrit que certains processus sont indispensables pour créer des villes ou des édifices agréables — ou toute création humaine en fait. Il arriva aux conclusions suivantes :

  • La nature crée des choses qui ont toutes une quinzaine de propriétés en commun (je vous expliquerai plus tard). Cela se produit uniquement par des processus naturels — physique et chimie de base — bien que nous ne sachions pas clairement pourquoi des procédés très différents produisent des résultats similaires ;
  • On retrouve ces propriétés dans les architectures traditionnelles ou les villes qui ont simplement évolué au cours du temps. Tous les modèles décrits dans A Pattern Language peuvent être obtenus en suivant une méthode fondée sur ces propriétés ;
  • Chaque propriété peut également décrire une transformation de l’espace existant ;
  • La seule façon de réussir une bonne conception consiste à utiliser ces transformations, une à la fois.

Ceci a été publié en 2003 – 2004 en quatre tomes intitulés The Nature of Order (NdT : « La nature de l’ordre »).

Les quinze propriétés

Le premier tome de La nature de l’ordre traite de quinze propriétés qui apparaissent dans tous les systèmes naturels. Je les résumerai très brièvement (voir les références pour des illustrations et de plus amples explications).

  • Des niveaux d’échelle. La gamme de tailles est équilibrée, sans changement brutal dans la taille d’objets adjacents. Les éléments ont une échelle fractale ;
  • Des centres forts. Les différentes parties de l’espace ou de la structure sont clairement identifiables ;
  • Des frontières solides. Les lignes délimitent les choses. Dans les systèmes vivants, les bords sont les environnements les plus productifs (par exemple, toutes les créatures qui vivent au bord de l’eau) ;
  • Des répétitions alternées. Haut/bas, épais/fin, forme A et forme B. Les objets oscillent et alternent afin de créer un bon équilibre ;
  • Un espace positif. L’espace adopte une belle forme convexe et close. Ce n’est pas de l’espace excédentaire. Pensez à la manière dont les cellules d’un diagramme de Voronoï grandissent vers l’extérieur à partir d’un ensemble de points ou à la manière dont les grains d’un épi de maïs se développent à partir de petits points jusqu’à ce qu’ils touchent les grains adjacents ;
  • Une bonne forme. Les voiles d’un bateau, la coquille d’un escargot, le bec d’un oiseau. Ils parviennent à la forme optimale qui sert leur fonction, ce qui est magnifique ;
  • Des symétries locales. Le monde n’est pas symétrique dans son ensemble. Cependant, les petites choses tendent à être symétriques parce que, de cette manière, c’est plus facile. Votre maison n’est pas symétrique, mais chaque fenêtre l’est ;
  • Une profonde imbrication et de l’ambiguïté. Les rues sinueuses des vieilles villes. Les axones des neurones. Il est difficile de séparer la forme du fond, ou l’avant-plan de l’arrière-plan. Deux centres forts sont renforcés si un troisième est placé entre eux de manière à ce qu’il appartienne aux deux ;
  • Du contraste. Vous pouvez distinguer où une chose se termine et où la suivante commence parce qu’elles ne se fondent pas l’une dans l’autre ;
  • Des degrés. Les choses se confondent les unes les autres là où c’est nécessaire. Les concentrations dans des solutions, les congères ou les talus, les câbles supportant un pont. La manière dont la bande passante décroît alors que vous vous éloignez de l’antenne ;
  • Des aspérités. Le monde n’est ni exempt de frottement, ni doux. Les irrégularités sont bénéfiques car elles permettent à chaque élément de s’adapter à son environnement, plutôt que d’être une copie conforme qui n’irait pas aussi bien ;
  • Des échos. Les choses se répètent et se font écho. Elles sont uniques dans la précision de leur forme mais leurs contours généraux se répètent à l’infini ;
  • Du vide. Parfois, vous avez un grand espace vide pour la tranquillité de la forme. Un lac, une cour, le cadre d’une image ;
  • De la simplicité et du calme intrinsèque. Les choses sont aussi simples que possible, sans être simplistes ;
  • De l’interdépendance. Chaque chose est dépendante de tout le reste. On ne peut pas séparer un poisson du bassin et des plantes aquatiques. On ne peut pas séparer une colonne de la base du bâtiment.



La quête du logiciel de qualité (Libres conseils 22a/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : Sphinx, peupleLà, lerouge, goofy, alpha, Julius22, SaSha_01, vvision, lamessen, Bob, lamessen, Garburst, okram

Le logiciel comme Qualité sans Nom

Federico Mena Quintero

Federico Mena Quintero est l’un des pères fondateurs du projet GNOME et fut auparavant le mainteneur de GIMP. Il travaillait aux Red Hat Advanced Development Labs durant les débuts de GNOME puis fut l’un des premiers à être recruté chez Ximian où il a principalement travaillé sur le calendrier d’Evolution. Il travaille toujours autour de GNOME pour Novell/Suse et vit au Mexique.

Lorsque j’apprenais la programmation, j’ai remarqué que je rencontrais souvent le même problème, encore et encore. J’écrivais souvent un programme qui fonctionnait relativement bien et était même bien structuré. Mais après quelques modifications et améliorations, je ne pouvais plus l’améliorer davantage. Soit sa complexité me surpassait, soit il était écrit de telle manière qu’il ne permettait pas d’évolution, comme une maison que vous ne pouvez pas agrandir à cause d’un toit pentu ou que vous ne pouvez pas étendre sur les côtés à cause des murs qui l’entourent.

À mesure que je progressais, j’ai appris à gérer cette complexité. Nous apprenons tous à le faire avec différents outils et techniques : l’abstraction, l’encapsulation, l’orientation objet, les techniques fonctionnelles, etc. Nous apprenons comment diverses techniques nous permettent d’écrire des programmes plus complexes.

Cependant, le problème d’un programme trop optimisé ou bien trop intimement enchevêtré pour être modifié a persisté. Parfois, je pensais tenir une superbe conception. Mais la modifier d’une façon quelconque l’aurait « amochée » et je ne le souhaitais pas. D’autres fois, j’avais quelque chose avec tellement de parties imbriquées que je ne pouvais plus y connecter quoi que ce soit sans que tout s’effondre sous son propre poids.

Il y a quelques années, la manie de la réécriture a débuté sans que j’y prête trop attention. Je me disais que c’était une façon de nettoyer le code, mais après ? Je sais déjà comment prendre un morceau de code et le transformer en fonction ; je sais déjà comment prendre des morceaux de code similaires et les transformer en classes dérivées. Je sais déjà écrire du code presque entièrement propre. Quel est donc le problème ?

J’ai écarté la refactorisation(1) en la considérant comme destinée aux programmeurs les moins expérimentés ; comme de jolies recettes de nettoyage de code mais rien qui ne puisse être découvert par soi-même.

La même chose s’est produite avec les canevas de conception. Je pensais qu’ils donnaient simplement des noms pompeux tels que Singleton et Strategy à des types de structures de tous les jours qu’on utiliserait naturellement dans un programme. Peut-être mon ego de programmeur était-il trop démesuré pour considérer ces travaux avec sérieux. C’est alors que quelque chose s’est produit.

Le travail de Christopher Alexander

Il y a quelques années, mon épouse et moi avons acheté une petite maison de plain-pied et nous souhaitions l’agrandir. Nous envisagions d’avoir un enfant et avions, par conséquent, besoin de plus d’espace. J’avais besoin d’un vrai bureau à domicile, pas une simple niche inoccupée dans laquelle mon bureau et mes étagères de livres tiendraient à peine. En tant que cuisiniers avides, nous avions tous les deux besoin d’une cuisine plus spacieuse et confortable que celle de notre maison. Mon épouse avait besoin d’une pièce bien à elle.

Nous ne voulions pas payer pour un architecte coûteux et aucun de nous deux n’avait la moindre connaissance en matière de construction. Comment allions-nous concevoir notre maison ?

Par moments, en naviguant sur le Web, je me rappelais que j’avais déjà vu le nom d’un auteur, le titre d’un livre ou quelque chose comme ça. Il se peut que je n’y aie pas vraiment porté attention par le passé mais, d’une manière ou d’une autre, plus je vois la même chose mentionnée, plus il est probable que je finirai par m’y intéresser suffisamment pour aller voir de quoi il s’agissait. « Oh, plusieurs personnes ont déjà mentionné ce nom ou ce livre ; je devrais peut-être y jeter un coup d’œil  »

C’est exactement ce qui s’est passé avec le nom de Christopher Alexander. J’avais lu que c’était un architecte assez spécial (de vrais bâtiments, pas de logiciels), connecté en quelque sorte au monde du logiciel par le biais de techniques orientées objet. J’ai été passionné par son travail dès que j’ai commencé à le découvrir par mes lectures.

Dans les années 1970, Christopher Alexander était un mathématicien et professeur d’architecture à l’université de Californie, Berkeley. Lui et un groupe d’architectes de la même mouvance que lui ont parcouru le monde, essayant de comprendre pourquoi il existait des endroits construits par des humains (cités, villes, parcs, immeubles, maisons) où il était très agréable de vivre, confortables, conviviaux et jolis, tandis que d’autres endroits ne l’étaient pas. Des lieux agréables étaient présents dans toutes les architectures traditionnelles du monde — européennes, africaines, asiatiques et américaines — amenant à l’idée que des facteurs communs étaient sans doute extractibles.

Alexander et son équipe ont réparti leurs découvertes au sein d’une liste de motifs architecturaux cohérents et publié trois livres : The Timeless Way of Building (NdT « L’art de la construction intemporelle » en français), où sont décrites la philosophie et la méthode nécessaires à une bonne construction ; A Pattern Language (NdT : « Un langage de schémas » en français), que je décris ci-après et The Oregon Experiment (NdT « L’expérience de L’Oregon » en français) où sont détaillés la conception et la construction d’un campus universitaire grâce à leur méthode.

Une grammaire de modèles

Un modèle (ou schéma) est un problème récurrent lors de la conception et de la construction d’objets, en lien avec les contraintes qui modèlent le problème et avec une solution connectée, quasi-récursivement à d’autres modèles-pères ou modèles-fils. Par exemple, considérons le GRADIENT D’INTIMITÉ, un modèle important dans le livre (les modèles étant en capitales dans ce livre pour en faciliter l’identification, je ferai donc de même) :

GRADIENT D’INTIMITÉ

<!-- wikipedia : patron de conception *

pour la compréhension : http://www.jacana.plus.com/pattern/P127.htm */ --> Modèles-pères, et préambule : … si vous savez à peu près où vous avez l’intention de placer les ailes du bâtiment, LES AILES DE LUMIÈRE, et combien d’étages elles auront, le NOMBRE D’ÉTAGES, et où L’ENTRÉE PRINCIPALE se trouve, alors il est temps de travailler sur la disposition approximative des zones principales de chaque niveau. Dans tout bâtiment, la relation entre les zones publiques et les zones privées est de la plus haute importance.

Énoncé du problème : à moins que les volumes d’un édifice ne soient disposés dans un ordre correspondant à leur degré d’intimité, les visites des étrangers, amis, invités, clients, famille seront toujours un peu gênantes.

Explication : je ne vais pas tout citer. Prenez, par exemple, un appartement où la seule façon d’atteindre la salle de bain est de passer d’abord par la chambre à coucher. Les visites sont toujours gênantes car vous avez l’impression de devoir d’abord ranger votre chambre si vous voulez que vos visiteurs puissent utiliser les toilettes. Ou bien considérez des bureaux dans lesquels vous ne voulez pas qu’un espace de travail calme soit à côté de la réception, car alors celui-ci ne sera pas calme du tout — vous voulez qu’il soit plus privé, à l’arrière.

Résumé de la solution : disposez les espaces de l’édifice de façon à ce qu’ils créent une suite qui commence avec l’entrée et la partie du bâtiment ouverte au public, puis conduit aux zones un peu plus privées pour finir avec les domaines les plus intimes.

Modèles-fils à consulter : ZONES COMMUNES AU CENTRE. HALL D’ENTRÉE pour les maisons ; UNE PIÈCE PROPRE À CHACUN pour les particuliers. UNE RÉCEPTION VOUS SOUHAITE LA BIENVENUE dans les bureaux avec, BUREAU SEMI-PRIVÉ à l’arrière.

Les modèles deviennent plutôt précis, ils n’imposent cependant jamais un style ou une forme déterminée au résultat. Par exemple, il existe un modèle qui s’appelle « ÉTAGÈRES OUVERTES ». Des placards profonds vous incitent à mettre les choses les unes derrière les autres, ainsi, vous ne pouvez plus voir ni attraper les objets qui sont au fond. Ils prennent aussi beaucoup de place. Les étagères dont la profondeur permet de ne mettre qu’un seul objet restent rangées et vous savez toujours, en un seul coup d’œil, où se trouve chaque chose. Les objets que vous utilisez fréquemment ne devraient pas être derrière une porte.

Vous pouvez ainsi entrevoir l’essence même des modèles de conceptions : de bonnes recettes éprouvées qui n’imposent pas de contraintes inutiles à votre implémentation

Les modèles ne demandent pas un style particulier ou des décorations superflues : le livre ne vous dit pas : « appliquez ces motifs floraux sur les rampes », mais plutôt : « les pièces d’une maison devraient être orientées de telle sorte que le soleil les éclaire harmonieusement, au moment de la journée où elles sont le plus utilisées — à l’est pour les chambres le matin, à l’ouest pour le salon l’après-midi ».

J’avais acquis un exemplaire de A Pattern Language peu avant de commencer à agrandir notre maison. Le livre fut une révélation : c’était le moyen d’aborder la conception de notre maison et nous pouvions alors la réaliser par nous-mêmes au lieu de payer très cher une solution inadaptée. Nous étions capables de faire un plan sommaire de notre maison et ensuite d’imaginer des détails plus fins au fur et à mesure de la construction. C’est le genre de livres qui, pendant que vous le lisez, parvient à confirmer les intuitions que vous éprouviez confusément — le genre de livres qui vous fait dire en permanence : « Bien sûr, c’est exactement à ça que je pensais  »

Design Patterns, le fameux livre publié par Gamma et autres, puise directement son inspiration dans les schémas architecturaux d’Alexander. Ils voulaient faire la même chose : dresser une liste de problèmes apparaissant fréquemment lorsque l’on programme et présenter de bonnes solutions qui n’imposeront pas de contraintes inutiles à votre implémentation.

Une chose dont j’ai pris conscience en lisant A Pattern Language, c’est une chose importante que l’on retrouve à la fois dans les modèles architecturaux et logiciels) : ils nous fournissent un vocabulaire pour discuter de la façon dont les objets sont construits. Il est beaucoup plus pratique de dire : « Les propriétés de cet objet ont des observateurs » plutôt que : « il est possible de lui attribuer des fonctions de rappel qui sont appelées lorsque ses propriétés changent ». Ce que je pensais être uniquement des termes pompeux ne sont, en fait, qu’une manière d’exprimer la connaissance de manière compacte.

La Qualité Sans Nom

La plus grande partie de l’explication d’Alexander sur les modèles de conception et leur philosophie se rapporte à quelque chose qu’il appelle « La qualité sans nom ». Vous connaissez des endroits qui ont cette qualité sans nom. Elle est présente dans le café où vous aimez aller lire car la lumière de l’après-midi entre avec exactement la bonne intensité. Et il y a là-bas des chaises et des tables, c’est toujours plus ou moins rempli de gens sans pour autant que vous vous sentiez oppressé. Elle est présente au coin d’un parc où un arbre ombrage un banc. Il y a peut-être un peu d’eau vive, et il importe peu qu’il pleuve ou bien que le temps soit ensoleillé, cela semble toujours être un plaisir d’y être. Pensez à une maison de hobbit où tout est à portée de main, où tout est confortable et où tout est fait élégamment.

Un objet ou un endroit possède la qualité sans nom s’il est convivial, s’il a évolué dans le temps selon sa logique propre, s’il ne recèle pas de contradiction interne, n’essaie pas d’attirer l’attention et semble réunir toutes les qualités archétypales — comme s’il avait suivi tout naturellement la voie optimale pour aboutir à sa conception. Plus important, Alexander affirme que c’est une qualité objective et non subjective, et qu’elle peut être mesurée et comparée. Bien que cela semble être une définition floue, c’est l’état le plus abouti dans lequel Alexander a pu l’amener lors de la première phase de son travail. La vraie révélation n’apparaitrait que plus tard.

En tant que développeurs, nous avons tous vu de beaux programmes à un moment donné. Ce sont peut-être les exemples de Programming Pearls, un beau livre que tout hacker devrait lire. Peut-être avez-vous vu un algorithme bien implémenté qui regorge de justesse. Vous vous souvenez peut-être d’un morceau de code très compact, très lisible, très fonctionnel et très correct. Ce logiciel possède la qualité sans nom. Il était devenu évident pour moi que je devais apprendre à écrire des logiciels qui atteignent le niveau de la qualité sans nom et que la méthode d’Alexander était le bon point de départ pour y parvenir.

(à suivre…)

(1) Refactorisation : bien que critiqué, cet anglicisme (voir http://fr.wikipedia.org/wiki/Refactorisation) semble d’un emploi courant chez les développeurs. On pourrait parler plus simplement de remaniement




Connivences entre lobbys américains et députés européens sur le dos des citoyens

Les lobbys ont toujours tenté d’influencer les politiques. Mais lorsqu’il s’agit de lobbyistes américains qui arrivent à faire passer mot pour mot certains textes de loi en Europe avec la complicité de nos députés, il y a d’autant plus de quoi s’interroger que cela va dans le sens des entreprises US et non du citoyen européen.

Un article traduit du chroniqueur anglais Glyn Moody, souvent traduit sur le Framablog)

Heureusement que nous avons désormais des sites qui permettent de mieux connaître le comportement individuel des députés et leurs éventuelles « sources d’inspiration ». Heureusement aussi que nous avons des structures comme la Quadrature du Net qui tente tant bien que mal d’agir et veiller au grain. Mais la vigilance reste de mise.

European People's Party - CC by

Protection des données dans l’Union Européenne : Les amendements proposés, écrits par des lobbyistes américains

EU Data Protection: Proposed Amendments Written by US Lobbyists

Glyn Moody – 11 février 2013 – ComputerWorld.uk
(Traduction : Fly, Alpha + anonymes)

Il devient évident que le lobby autour des directives européennes sur la protection des données est l’un des plus intenses lobbys jamais rencontrés, certains activistes ont déclaré que le phénomène était même pire que durant le projet de loi ACTA, alors que du côté des États-Unis, le bruit court qu’une guerre commerciale est sur le point d’être lancée si la loi est voté sous sa forme actuelle.

Etant donné la pression exercée pour affaiblir la protection de notre vie privée, une question-clé est : qui défend nos intérêts ?. La réponse évidente serait les députés européens, puisqu’il s’agit de nos représentants élus au Parlement Européen. Leur travail consiste précisément à nous représenter et dans ces circonstances particulières et à nous défendre. Et certains, tel le député européen Vert, Jan Albrecht, font probablement de leur mieux, comme j’ai pu l’écrire dans un billet précédent. Mais qu’en est-il du reste ? Que font-ils exactement ?

Dans le passé il était impossible de répondre à cette question, mais grâce aux miracles de la technologie moderne, et à l’avènement de l’ouverture des données qui permettent l’accès à toutes sortes d’informations. Il est désormais possible d’obtenir une vision claire de ce que font nos représentants européens.

Un nouveau site a été créé, il porte le nom plutôt lourd de LobbyPlag (NdT : Association des mots lobby et plagiat). Aussi disgracieux, que son nom puisse être, ce site ne décrit pas moins une vérité choquante : les députés européens proposent des amendements sur le projet de loi sur la protection des données qui reprennent mot pour mot les propositions des lobbyistes. En tout état de cause, ce qui est inquiétant ici n’est pas le plagiat, mais plutôt le fait que les mesures destinées à protéger les populations européennes soient supprimées ou altérées par les mêmes personnes que nous avons élues pour nous défendre.

Voici par exemple, un paragraphe important sur le fichage. On peut lire, sur la version originale :

Chaque personne physique (NdT : every natural person) doit avoir le droit de ne pas être soumis à une mesure entraînant des effets juridiques relatifs à cette personne physique particulière ou l’atteignant de manière significative, dès lors qu’elle se base uniquement sur un traitement automatisé ayant pour but l’analyse ou la prédiction de certains aspects personnels en lien avec cette personne physique, en particulier, l’efficacité au travail, la situation financière, la localisation, la santé, les préférences personnelles, la fiabilité, ou le comportement de cette personne physique.

Mais la Chambre de Commerce américaine, cette célèbre organisation européenne, n’aimait pas cette version et a souhaité la changer en :

Une personne concernée par la collecte des données (NdT : a data subject) ne doit pas faire l’objet d’une décision injuste ou discriminatoire uniquement basée sur le traitement automatisé ayant pour but l’évaluation de certains aspects personnels liés à cette personne.

Ce qui est sensiblement différent car on supprime ici un droit important.

Or quel texte a été proposé par des députés européens dans pas moins de trois commissions ? Le voici :

Une personne concernée par la collecte des données ne doit pas faire l’objet d’une décision injuste ou discriminatoire uniquement basée sur le traitement automatisé ayant pour but l’évaluation de certains aspects personnels liés à cette personne.

Ce qui correspond donc mot pour mot à la demande de la Chambre de Commerce américaine.

Voici un exemple explicite, issu d’une section extrêmement récente, rédigée par des députés européens, on peut y lire ce qui suit :

La personne responsable est supposée avoir accompli les obligations en exergue dans le paragraphe 1,lorsqu’il s’agit de choisir un organisme certifié de manière autonome ou ayant obtenu une certification, un sceau ou marqué comme étant conforme aux articles 38 ou 39 de ce Réglement, démontrant l’implémentation de normes techniques et de mesures organisationnelles appropriées en réponse aux exigences mises en exergue dans ce Règlement.

Ce qui rend la certification autonome quasiment suffisante pour les services de cloud computing. Alors, d’où vient ce texte sinon d’une modification précise suggérée par Amazon ?

La personne responsable est supposée avoir accompli les obligations en exergue dans le paragraphe 1,lorsqu’il s’agît de choisir un organisme certifié de manière autonome ou ayant obtenu une certification, un sceau ou marqué, démontrant l’implémentation de normes techniques et de mesures organisationnelles appropriées en réponse aux exigences mises en exergue dans ce Règlement.

Ce qui donc, par une autre extraordinaire coïncidence, est quasiment identique à ce que des députés européens ont choisi comme une très bonne idée.

LobbyPlag fournit une analyse intéressante sur le pourcentage d’amendements proposés avec du contenu repris des lobbyistes. Ci-dessous les chiffres pour les députés anglais calculés par le site :

  • Giles Chichester (giles.chichester@europarl.europa.eu): amendements repris des lobbys : 10 sur 44 (22.73%)
  • Malcolm Harbour (malcolm.harbour@europarl.europa.eu): amendements repris des lobbys : 14 sur 55 (25.45%)
  • Sajjid Karim (sajjad.karim@europarl.europa.eu): amendements repris des lobbys : 13 sur 55 (23.64%)
  • Emma McClarkin (emma.mcclarkin@europarl.europa.eu): amendements repris des lobbys : 1 sur 8 (12.50%)

Malheureusement, à l’heure actuelle, aucun de ces députés européens ne me représente donc je ne pourrais pas les contacter. Mais si l’un de vos députés apparaît, ils ont le devoir de vous répondre donc peut-être que vous devriez leur envoyer un courriel et leur demander pourquoi ils ont proposé ces amendements qui sont repris mot-à-mot ou presque d’entreprises américaines et de lobbyistes et que cela nuira à la population européenne tout en bénéficient à ces mêmes entreprises américaines.

Vous pourriez leur demander qui ils pensent représenter réellement : vous et 500 millions citoyens européens dont les impôts paient leurs salaire, qui s’élève actuellement à 80.000 £ par an (NdT : 93 000 € environ) ou alors, une poignée d’entreprises américaines ayant pour but de nous spolier notre vie privée pour pouvoir devenir encore plus riche ?

Si jamais vous recevez un réponse intéressante, merci de me l’envoyer à glyn.moody(AT)gmail.com que je puisse la partager avec mes lecteurs. Je suis certain que les explications seront passionnantes.

Crédit photo : European People’s Party (Creative Commons By)




La promesse de Firefox OS

La promesse du système d’exploitation mobile libre Firefox OS réside moins dans Firefox OS lui-même que dans le parti pris Web (et ouvert) de ses applications.

C’est d’ailleurs plus qu’une promesse : c’est un défi et une nécessité si l’on souhaite conserver ici comme ailleurs l’ouverture et la liberté.

Un billet un peu technique, mais s’il peut contribuer à ce que les développeurs (et utilisateurs) d’applications mobiles se posent de bonnes questions…

Rob Hawkes - CC by-sa

La promesse de Firefox OS

The promise of Firefox OS

Sergi Mansilla – 9 février – Blog personnel
(Traduction : + anonymes)

« Mais comment va t-il faire pour battre Android ou iOS ? »

C’est la réaction qu’ont beaucoup de personnes quand je leur dis que je travaille sur Firefox OS, le nouveau système d’exploitation mobile de Mozilla. C’est une réaction logique. Après tout, nous vivons une période où toutes les grandes entreprises informatiques n’ont qu’un mot à la bouche : sortir un système mobile tout en s’efforçant d’attirer les développeurs pour qu’ils utilisent leur nouvel écosystème propriétaire, les APIS, les bibliothèques, etc. Et en effet, bon nombre de ces entreprises réussissent un peu, voire pas du tout.

Mais Firefox ne se battra pas directement contre les autres plateformes mobiles. Son objectif principal est de modifier la manière dont sont développées les applications mobiles, et même dans la triste éventualité où Firefox OS disparaîtrait durant le processus, si les web-apps devenaient dominantes sur le marché, ce sera un succès.

Le fait que n’importe quel site web puisse devenir une application ne doit pas être sous-estimé. En utilisant des technologies flexibles et populaires comme HTML5, CSS3 et javascript, Firefox OS a promu instantanément des millions de développeurs web et javascript en développeurs d’applications. Tout ce qu’ils ont à faire est de télécharger un module complémentaire de simulation gratuit (et ce n’est même pas nécessaire si votre application n’utilise pas les API des téléphones). Les développeurs connaissent déjà l’environnement du navigateur et ses outils, et il ne leur est pas nécessaire d’apprendre un nouveau langage ou une nouvelle architecture.

Je vous entends déjà. Juste quand vous veniez d’en finir avec le bazar que suppose la manipulation de DOM et de ce sournois de JavaScript. Juste quand vous aviez appris à aimer les classes et gestionnaires d’Android tellement hiérarchisés ou la magnifique méthode de nommage d’iOS, pourquoi retourneriez-vous au désordre qu’est l’écriture des applications web ? N’étions-nous pas d’accord pour dire que le HTML n’était pas, après tout, assez bien pour faire de vraies applications performantes ?

Bon, ça a peut-être été vrai il y a quelque temps, mais nous vivons désormais dans un monde meilleur. Pour que les développeurs conçoivent des applications web robustes et réellement fonctionnelles, plusieurs approches sont possibles, via des architectures de grande qualité. Chez Telenor/Comoyo, où je travaille, nous nous penchons sur l’utilisation de l’architecture AngularJS pour construire nos applications, néanmoins il existe de multiples architectures fiables et bien conçues qui s’appuient sur des années d’expérience dans le domaine du développement d’applications. Et si vous considérez que vous avez un problème avec JavaScript en tant que langage, vous pouvez d’ores et déjà utiliser une myriade de langages qui le compilent de manière fiable. Vous avez l’habitude de travailler avec Java ? Vous allez probablement apprécier Dart, de Google. Vous avez un style plus “fonctionnel” ? Pourquoi ne pas essayer ClojureScript qui est une implémentation de Clojure s’appuyant sur du JavaScript, qui est impressionnante, vraiment bien documentée et vraiment bien maintenue. Vous utilisez Ruby ? Vous vous sentirez comme à la maison avec CoffeeScript. Vous voyez ce que je veux dire[1].

Alors que d’autres constructeurs comme Blackberry fournissent eux aussi des moyens de développer des applications en HTML5 pour leurs systèmes, Mozilla va plus loin en encourageant la standardisation de la WebAPI par le W3C, garantissant ainsi que votre application fonctionnera sur n’importe quel appareil respectant le standard WebAPI.

À mon humble avis, cela rend les choses plus claires dans ce casse-tête qu’est devenu le développement pour appareils mobiles, pour lequel le développeur doit connaître plusieurs langages, architectures et APIs, sans oublier de payer des frais, dans certains cas, pour créer des applis. Cela ressemble à un grand pas en arrière de la philosophie actuelle de l’open web vers les années 90 infestées de verrous payants mais avec la bonne musique en moins.

Mozilla a fait ses preuves en tant que protecteur du web, et ses utilisateurs lui font confiance. Par le passé, l’entreprise a joué un rôle important dans l’initiation d’un mouvement pour de meilleurs standards web auquel se sont rattachés des navigateurs comme Chrome, contribuant à un web meilleur, plus rapide et plus accessible pour chacun. Nous devrions nous efforcer d’en faire de même pour ce qui est des environnements mobiles. Moins de remparts, plus de standards et d’ouverture.

Telle est la promesse faite par Firefox OS.

Crédit photo : Rob Hawkes (Creative Commons By-Sa)

Notes

[1] Après hein, ça ne vous fera pas de mal d’apprendre un peu de JS pour savoir ce qu’il y a sous le capot, parce qu’après tout, c’est un langage puissant qui le sera encore plus avec la sortie d’ES6.




Aaron Swartz n’était pas un hacker solitaire mais le membre d’une armée

Nous ne sommes pas des criminels et nous sommes de plus en plus nombreux à rejoindre les rangs de l’armée d’Aaron Swartz.

Le 24 janvier dernier s’est déroulée une émouvante cérémonie à la mémoire d’Aaron Swartz, dans ce lieu hautement symbolique qu’est l’église de San Francisco qui abrite l’Internet Archive.

Parmi les personnalités qui se sont succédées, il y eut ainsi sa fiancée Taren Stinebrickner-Kauffman, le fondateur d’Internet Archive Brewster Kahle ( allocution remarquée par Calimaq qui en a fait un billet dédié) et son ami Carl_Malamud, fondateur de Public.Resource.org.

C’est cette dernière intervention que nous vous proposons traduite ci-dessous (disponible ici en vidéo).

« J’aimerais que nous puissions changer le passé, mais c’est impossible. Par contre, nous pouvons changer le futur, et nous le devons. »

Open Knowledge Foundation - CC by-sa

L’armée d’Aaron

Aaron’s Army

Carl Malamud – 24 janvier 2013 – PublicRessource.org
(Traduction : brandelune, aKa, Lamessen, KoS, Pouhiou, Garburst, Luc, Tr4sK, Astalaseven)

Ne croyez pas un instant que le travail d’Aaron sur JSTOR était l’acte incohérent d’un hacker solitaire, un peu fou, un téléchargement massif un peu dingue décidé sur un coup de tête.

Depuis longtemps, JSTOR a fait l’objet de critiques cinglantes de la part du net. Dans une conférence, Larry Lessig a qualifié JSTOR d’outrage à la morale et je dois vous avouer qu’il me citait. Nous n’étions pas les seuls à attiser ces flammes.

Emprisonner la connaissance derrière des péages, en rendant les journaux scientifiques accessibles uniquement à quelques gamins suffisamment fortunés pour aller dans des universités de luxe et en demandant vingt dollars par article pour le reste d’entre nous, était une plaie purulente qui choquait beaucoup de gens.

De nombreux auteurs de ces articles furent gênés que leur travail soit devenu la marge de profit de quelqu’un, un club privé du savoir réservé à ses adhérents.

Beaucoup d’entre nous ont aidé à attiser ce feu. Beaucoup d’entre nous s’en sentent coupables, aujourd’hui.

Mais JSTOR n’était qu’une des nombreuses batailles. On a essayé de dépeindre Aaron comme un hacker solitaire, un jeune terroriste à l’origine d’un carnage numérique qui fit 92 millions de dollars de dégâts.

Aaron n’était pas un loup solitaire, il faisait partie d’une armée, et j’ai eu l’honneur de m’engager à ses côtés pendant une décennie. De nombreuses choses ont été dites sur sa vie hors du commun, mais ce soir je ne parlerai que d’un aspect de celle-ci.

Aaron faisait partie d’une armée de citoyens qui pensent que la démocratie ne fonctionne que si les citoyens sont informés, s’ils connaissent leurs droits et leurs devoirs. Une armée qui estime que nous devons rendre la justice et le savoir accessibles à tous, et pas uniquement à ceux qui sont bien nés ou qui ont saisi les rênes du pouvoir, afin que nous puissions nous gouverner de manière plus éclairée.

Aaron faisait partie d’une armée de citoyens qui rejette les rois et les généraux et qui croit au consensus général et à son application pratique immédiate.

Nous avons travaillé ensemble sur une douzaine de bases de données gouvernementales. Lorsque nous travaillions sur quelque chose, les décisions n’étaient pas irréfléchies. Notre travail prenait souvent des mois, parfois des années, parfois même une décennie, mais Aaron Swartz n’a pas eu droit à sa part de décennies.

Longtemps, nous avons observé et bidouillé la base de donnée du droit d’auteur américain, un système si vieux qu’il utilisait encore WAIS. Le gouvernement , croyez-le ou non, avait revendiqué le droit d’auteur sur cette base de données du droit d’auteur. Il m’est impossible de concevoir qu’il puisse y avoir des droits d’auteur sur une base de données qui découle directement de la constitution des États-Unis, mais nous savions que nous jouions avec le feu en enfreignant les clauses d’utilisations. Nous étions donc très attentifs.

Nous avons récupéré ces données. Elles ont été utilisées pour alimenter l’Open Library d’Internet Archive ainsi que Google Books. Puis, nous avons reçu une lettre du Bureau du droit d’auteur indiquant qu’il abandonnait son droit d’auteur sur cette base de données. Mais avant cela, nous avons dû consulter de nombreux avocats par crainte que le gouvernement nous traîne devant les tribunaux pour téléchargement massif, malveillant et prémédité.

Ce n’était pas une agression irréfléchie. Nous travaillions sur les bases de données pour les améliorer, pour aider au fonctionnement de notre démocratie, pour aider notre gouvernement. Nous n’étions pas des criminels.

Lorsque nous avons libéré 20 millions de pages de documents de l’U.S District Court de leur péage à 8 cents par page, nous avons découvert que ces fichiers publics étaient infestés d’atteintes à la vie privée : noms de mineurs, noms d’informateurs, dossiers médicaux, dossiers psychiatriques, rapports financiers, des dizaines de milliers de numéros de sécurité sociale.

Nous étions des lanceurs d’alerte et nous avons transmis nos résultats aux juges en chef de 31 cours de justice de district et ces juges ont été choqués, consternés. Ils ont modifié ces documents puis ont incendié les avocats qui les avaient remplis. Finalement, la Conférence judiciaire a changé ses règles de respect de la vie privée.

Mais savez-vous ce qu’ont fait les bureaucrates qui dirigent le Bureau Administratif de la Cour des États-Unis ? Pour eux, nous n’étions pas des citoyens ayant amélioré les données publiques, nous étions des voleurs qui les privions d’1,6 millions de dollars.

Ils ont donc appelé le FBI et ont dit qu’ils avaient été hackés par des criminels, une bande organisée qui mettait en péril leur revenu de 120 millions de dollars provenant de la vente de documents publics du gouvernement.

Le FBI s’est installé devant la maison d’Aaron. Il l’ont appelé et ont essayé de le piéger pour qu’il les rencontre sans son avocat. Le FBI a installé deux agents armés dans une salle d’interrogatoire avec moi pour nous faire avouer les dessous de cette conspiration présumée.

Mais nous n’étions pas des criminels, nous étions seulement des citoyens.

Nous n’avons rien fait de mal. Ils n’ont rien trouvé. Nous avions fait notre devoir de citoyen et l’enquête du gouvernement n’a rien trouvé de répréhensible mais ce fut une perte de temps et d’argent.

Si vous voulez faire peur, faites asseoir quelqu’un avec deux agents fédéraux pendant un moment et vous verrez la vitesse à laquelle son sang se glace.

Il y a des gens qui affrontent le danger tous les jours pour nous protéger — les policiers, les pompiers et les services d’urgence — je leur en suis reconnaissant et je suis ébahi par ce qu’ils font. Mais le travail des gens comme Aaron et moi, faire des DVD et faire tourner des scripts shell sur des documents publics, ne devrait pas être une profession dangereuse.

Nous n’étions pas des criminels, mais des crimes furent commis, des crimes contre l’idée même de la justice.

Quand la procureure fédérale a dit à Aaron qu’il devrait plaider coupable de treize crimes pour avoir tenté de propager le savoir avant qu’elle ne puisse envisager de négocier sa peine, c’était un abus de pouvoir, une utilisation frauduleuse du système de justice criminelle, un crime contre la justice.

Et la procureure fédérale n’a pas agi seule. Elle fait partie d’un groupe dont l’intention est de protéger la propriété, pas les gens. Tous les jours, partout aux États-Unis, des démunis n’ont pas accès à la justice et sont confrontés à ces abus de pouvoir.

C’était un crime contre le savoir qu’une organisation à but non lucratif telle que JSTOR transforme un téléchargement qui n’a causé aucun préjudice ni dommage, en une procédure fédérale de 92 millions de dollars.

Et le monopole de JSTOR sur la connaissance n’est pas unique. Partout aux États-Unis, des sociétés ont planté leurs griffes sur les champs de l’éducation : universités privées qui volent nos vétérans, organismes de normalisation à but non lucratif qui rationnent les codes de sécurité publique alors qu’ils payent des salaires d’un million de dollars, et les conglomérats multinationaux qui évaluent la valeur des articles scientifiques et des documents juridiques à l’aune de leur marge brute.

Dans le procès JSTOR, la position plus qu’agressive des procureurs du Département de la Justice et des agents de la force publique était-elle une vengeance liée à l’embarras de nous avoir vu nous tirer à bon compte, en tout cas à leur yeux, de l’affaire du PACER ? Est-ce que la poursuite sans merci de JSTOR était la revanche de bureaucrates embarrassés d’avoir été ridiculisés dans le New York Times, d’avoir reçu un blâme du Sénat ?

Nous n’aurons probablement jamais la réponse à cette question, mais il semble certain qu’ils ont détruit la vie d’un jeune homme par simple abus de pouvoir. Ce n’était pas une question criminelle, Aaron n’était pas un criminel.

Si vous pensez posséder quelque chose et si je pense que ce bien est public, il me semble juste de vous voir au tribunal. Si vous avez raison et que je vous ai fait du tort, je prendrais mes responsabilités. Mais quand nous retournons le bras armé de la Loi contre les citoyens qui contribuent à accroître l’accès à la connaissance, nous brisons l’esprit de la loi, nous profanons le temple de la justice.

Aaron Swartz n’était pas un criminel. C’était un citoyen et un soldat courageux dans une guerre qui continue aujourd’hui, une guerre dans laquelle des profiteurs corrompus et vénaux essayent de voler, de profiter, d’assécher notre domaine public au profit de leurs gains privés.

Quand des gens essaient de restreindre l’accès à la loi, ou qu’ils essaient de collecter des droits de péage sur les routes du savoir, ou refusent l’éducation à ceux qui n’ont pas de moyens, c’est eux qui devraient subir le regard sévère d’un procureur outragé.

Ce que le Département de la justice a fait endurer à Aaron pour avoir essayé de rendre notre monde meilleur, ils peuvent vous l’infliger. Notre armée n’est pas réduite à un loup solitaire, elle est forte de milliers de citoyens, beaucoup d’entre vous dans cette pièce, qui se battent pour la justice et le savoir.

J’affirme que nous sommes une armée, et je mesure bien l’usage de ce mot car nous affrontons des personnes qui veulent nous emprisonner pour avoir téléchargé une base de données afin de l’examiner de plus près, nous affrontons des personnes qui croient qu’ils peuvent nous dire ce que nous pouvons lire et ce que nous pouvons dire.

Mais quand je vois notre armée, je vois une armée qui crée au lieu de détruire. Je vois l’armée du Mahatma Gandhi marchant pacifiquement vers la mer pour récolter du sel pour les gens. Je vois l’armée de Martin Luther King marchant pacifiquement mais avec détermination sur Washington pour réclamer ses droits, car le changement ne coule pas de source, il provient de luttes continues.

Quand je vois notre armée, je vois l’armée qui crée de nouvelles opportunités pour les pauvres, une armée qui rend notre société plus juste et plus égalitaire, une armée qui rend le savoir universel.

Quand je vois notre armée, je vois les gens qui ont créé Wikipédia et l’Internet Archive. Je vois ceux qui ont programmé GNU, Apache, BIND et Linux. Je vois ceux qui ont fait l’EFF et les Creative Commons. Je vois les gens qui ont créé notre internet en tant que cadeau au monde.

Quand je vois notre armée, je vois Aaron Swartz et j’ai le cœur brisé. Nous avons vraiment perdu l’un de nos anges gardiens.

J’aimerais que nous puissions changer le passé, mais c’est impossible. Par contre, nous pouvons changer le futur, et nous le devons.

Nous le devons à Aaron, nous nous le devons à nous-mêmes, nous le devons pour rendre notre monde meilleur, en faire un lieu plus humain, un endroit où la justice fonctionne et où l’accès à la connaissance est un droit de l’Homme.

Crédit photo : Open Knowledge Foundation (Creative Commons By)




Débat : 9 points (ou tabous ?) jamais (ou rarement) discutés dans le logiciel libre

Nous traduisons souvent Bruce Byfield, libre penseur du logiciel libre, sur le Framablog.

A-t-il raison d’affirmer qu’il est des sujets pour ainsi dire tabous dans la communauté et surtout que la situation a évolué, n’en déplaise à certains ?

Laëtitia Dulac - CC by

Neuf choses dont on ne discute jamais sur l’open source

9 Things That Are Never Admitted About Open Source

Bruce Byfield – 22 janvier 2013 – Datamation
(Traduction : Moosh, brandelune, Sky, ehsavoie, Astalaseven, petit bonhomme noir en haut à droite, mike, goofy, KoS, Mowee, arcady, maxlath, Astalaseven, mariek, VifArgent, Rudloff, VIfArgent, Penguin, peupleLa, Vilrax, lamessen + anonymous)

Quels sont les sujets tabous dans l‘open source de nos jours ? Certains peuvent se deviner mais d’autres pourraient bien vous surprendre.

On pourrait penser qu’un groupe de personnes intelligentes comme les membres de la communauté des logiciels libres et open source (NdT : FOSS pour Free and Open Source Software) seraient sans tabous. On pourrait s’attendre à ce qu’un tel groupe d’intellectuels juge qu’aucune idée n’est interdite ou gênante – mais ce serait une erreur.

Comme toute sous-culture, la communauté FOSS est cimentée par des croyances. Ces croyances contribuent à bâtir une identité commune : par conséquent, les remettre en cause revient à remettre en cause cette identité.

Certains de ces sujets tabous peuvent saper des évidences admises depuis vingt ans ou plus. D’autres sont nouveaux et contestent des vérités communément acceptées. Quand on les examine, on s’aperçoit que chacun d’entre eux peut être aussi menaçant que la déclaration de valeurs communes peut être rassurante.

Pourtant, même s’il est inconfortable d’interroger ces tabous, il est souvent nécessaire de le faire. Les croyances peuvent perdurer longtemps après le temps où elles s’appliquaient, ou après avoir dégénéré en semi-vérités. Il est utile de temps en temps de penser l’impensable, ne serait-ce que pour mettre ces croyances en phase avec la réalité.

Suivant cette logique, voici neuf observations sur l‘open source qui nécessitent selon moi un nouvel examen.

1. Ubuntu n’est plus le dernier grand espoir de l’open source

Quand Ubuntu est apparue il y a neuf ans, nombreux sont ceux qui l’ont considérée comme la distribution qui mènerait la communauté à dominer le monde. Débarquant de nulle part, Ubuntu s’est immédiatement concentrée sur le bureau comme aucune autre distribution avant elle. Des outils et des utilitaires furent ajoutés. De nombreux développeurs Debian trouvèrent un travail chez Canonical, la branche commerciale d’Ubuntu. Des développeurs virent leurs frais payés pour des conférences auxquelles ils n’auraient pas pu se rendre autrement.

Au fil du temps, une bonne partie de l’enthousiasme initial est retombée. Personne ne semble s’être intéressé à la demande de Mark Shuttleworth, le fondateur d’Ubuntu, à ce que les principaux projets coordonnent leurs cycles de livraison ; ils l’ont tout simplement ignorée. Mais on a vu des sourcils se froncer lorsqu’Ubuntu a commencé à développer sa propre interface plutôt que de contribuer à GNOME. Canonical a commencé à contrôler ce qui se passait dans Ubuntu, apparemment pas pour l’intérêt général mais surtout pour la recherche de profits. Nombreux, aussi, furent ceux qui n’apprécièrent pas l’interface d’Ubuntu, Unity, à sa sortie.

Pourtant, à écouter les employés de Canonical, ou les bénévoles Ubuntu, on aurait presque l’impression qu’il ne s’est rien passé pendant ces neuf dernières années. Lisez notamment le blog de Shuttleworth ou ses déclarations publiques : il se donne le rôle de figure de proue de la communauté et déclare que les « hurlements des idéologues » finiront par cesser devant son succès.

2. Le « cloud computing » sape les licences libres

Il y a sept ans, Tim O’Reilly affirmait que les licences libres étaient devenues obsolètes. C’était sa manière un peu dramatique de nous prévenir que les services en ligne mettent à mal les objectifs du logiciel libre. Comme le logiciel, le cloud computing offre aux utilisateurs l’usage gracieux des applications et du stockage, mais sans aucune garantie ou contrôle quant à la vie privée.

La Free Software Foundation (NdT : Fondation pour le Logiciel Libre) répondit à la popularité grandissante du cloud computing en dépoussiérant la GNU Affero General Public License, qui étend les idéaux du FOSS au cloud computing.

Après cela, pourtant, les inquiétudes à propos de la liberté logicielle au sein du cloud ont faibli. Identi.ca fut créé comme une réponse libre à Twitter, et MediaGoblin développé comme l’équivalent libre d’Instagram ou de Flickr, mais ce genre d’efforts est occulté par la compétition. On n’a pas mis l’accent sur l’importance des licences libres ou du respect de la vie privée dans le cloud.

Par conséquent, les avertissements de O’Reilly sont toujours aussi pertinents de nos jours.

3. Richard Stallman est devenu un atout contestable

Le fondateur de la Free Software Foundation et le moteur derrière la licence GNU GPL, Richard M. Stallman, est une des légendes des logiciels libres et open source. Pendant des années, il a été l’un des plus ardents défenseurs de la liberté du logiciel et la communauté n’existerait probablement pas sans lui.

Ce que ses supporters rechignent à admettre, c’est que la stratégie de Stallman a ses limites. Nombreux sont ceux qui disent que c’est un handicapé social, et que ses arguments se basent sur la sémantique — sur les mots choisis et comment ils influencent le débat.

Cette approche peut être éclairante. Par exemple, lorsque Stallman s’interroge sur l’analogie entre le partage de fichiers et les pillages perpétrés par les pirates, il révèle en fait le parti-pris que l’industrie du disque et du cinéma tente d’imposer.

Mais, malheureusement, c’est à peu près la seule stratégie de Stallman. Il dépasse rarement ce raisonnement qu’il utilise pour fustiger les gens, et il se répète même davantage que des personnes qui passent leur temps à faire des discours. Il est perçu de plus en plus, par une partie de la communauté, comme quelqu’un hors de propos voire même embarrassant. Comme quelqu’un qui fut efficace… mais ne l’est plus. Il semble que la communauté a du mal à admettre l’idée que Stallman a eu un impact certain pendant des années, mais qu’il est moins utile aujourd’hui. Soit il est défendu férocement pour son passé glorieux, soit il est attaqué comme un usurpateur parasite. Je crois que les affirmations concernant ce qu’il a accompli et son manque d’efficacité actuel sont vraies toutes les deux.

4. L’open source n’est pas une méritocratie

L’une des légendes que les développeurs de logiciels libres aiment à se raconter est que la communauté est une méritocratie. Votre statut dans la communauté est censément basé sur vos dernières contributions, que ce soit en code ou en temps.

L’idée d’une méritocratie est très attirante, en cela qu’elle forme l’identité du groupe et assure la motivation. Elle encourage les individus à travailler de longues heures et donne aux membres de la communauté un sentiment d’identification et de supériorité.

Dans sa forme la plus pure, comme par exemple au sein d’un petit projet où les contributeurs ont travaillé ensemble pendant de nombreuses années, la méritocratie peut exister.

Mais le plus souvent, d’autres règles s’appliquent. Dans de nombreux projets, ceux qui se chargent de la documentation ou bien les graphistes sont moins influents que les programmeurs. Bien souvent, vos relations peuvent influencer la validation de votre contribution au moins autant que la qualité de votre travail.

De même, la notoriété est plus susceptible d’influencer les décisions prises que le grade et les (surtout si elles sont récentes) contributions. Des personnes comme Mark Shuttleworth ou des sociétés comme Google peuvent acheter leur influence sur le cours des choses. Des projets communautaires peuvent voir leurs instances dirigeantes dominées par les sponsors privés, comme c’est de fait le cas avec Fedora. Bien que la méritocratie soit l’idéal, ce n’est presque jamais la seule pratique.

5. L’open source est gangrené par un sexisme systémique

Une autre tendance qui plombe l’idéal méritocratique est le sexisme (parfois sour la forme de la misogynie la plus imbécile) que l’on trouve dans quelques recoins de la communauté. Au cours des dernières années, les porte-parole du FOSS ont dénoncé ce sexisme et mis en place des règles officielles pour décourager quelques uns de ses pires aspects, comme le harcèlement pendant les conférences. Mais le problème demeure profondément ancré à d’autres niveaux.

Le nombre de femmes varie selon les projets, mais 15 à 20 pour cent peut être considéré comme un chiffre élevé pour un projet open source. Dans de nombreux cas, ce nombre est en dessous des cinq pour cent, même en comptabilisant les non-programmeurs.

De plus les femmes sont sous-représentées lors des conférences, à l’exception de celles où les femmes sont activement encouragées à faire part de leurs propositions (ces efforts entraînent, inévitablement, leur lot d’accusations quant à des traitements spéciaux et des quotas, quand bien même aucune preuve ne peut être avancée).

La plus grande évidence de sexisme se produit quotidiennement. Par exemple, Slashdot a récemment publié un entretien avec Rikki Ensley, membre de la communauté USENIX. Parmi les premiers commentaires, certains se référaient à une chanson populaire dont le refrain mentionne le prénom Rikki. D’autres discutent de son apparence et lui donnent des conseils pour avoir l’air plus « glamour ».

On assiste à des réactions du même ordre, et bien d’autres pires encore sur de nombreux sites dédiés au monde du libre ou sur IRC, dès qu’une femme apparaît, surtout s’il s’agit d’une nouvelle venue. Voilà qui dément les affirmations d’une communauté qui prétend ne s’intéresser qu’aux seules contributions, ou encore l’illusion que la sous-représentation des femmes serait simplement une question de choix individuels.

6. Microsoft n’est plus l’ennemi irréductible du logiciel libre

Il y a à peine plus d’une dizaine d’années, vous pouviez compter sur Microsoft pour traiter le monde du Logiciel Libre de « communiste » ou « anti-Américain », ou sur leurs intentions parfois divulguées dans la presse de vouloir détruire la communauté.

Une grande partie de la communauté s’accroche encore à ces souvenirs. Après tout, rien ne rassemble plus les gens qu’un ennemi commun, puissant et inépuisable.

Mais ce dont la communauté ne se rend pas compte, c’est que la réaction de Microsoft est devenue plus nuancée, et qu’elle varie d’un service à l’autre au sein de l’entreprise.

Nul doute que les dirigeants de Microsoft continuent de voir le logiciel libre comme un concurrent, bien que les dénonciations hautes en couleur aient cessé.

Cependant, Microsoft a pris conscience que, compte-tenu de la popularité du logiciel libre, les intérêts à court terme de l’entreprise seraient mieux servis si elle s’assurait que les outils libres (en particulier les langages de programmation les plus populaires) fonctionnent correctement avec ses propres produits. C’est d’ailleurs la mission principale du projet Microsoft Open Technologies. Récemment, Microsoft est même allé jusqu’à publier une courte déclaration faisant l’éloge de la dernière version de Samba, qui permet l’administration des serveurs Microsoft depuis Linux et les systèmes Unix (NdT : Voir aussi cette FAQ en français publiée par Microsoft).

Bien sûr, il ne faut pas non plus s’attendre à voir Microsoft devenir une entreprise open source ou faire des dons désintéressés d’argent ou de code à la communauté. Mais, si vous faites abstraction des vieux antagonismes, l’approche égoïste de Microsoft à l’égard du logiciel libre n’est pas très différente de nos jours de celle de Google, HP, ou n’importe quelle autre entreprise.

7. L’innovation des interfaces stagne

En 2012, nombreux furent ceux qui n’ont pas adopté GNOME 3 et Unity, les deux dernières interfaces graphiques majeures. Cet abandon fut largement lié à l’impression que GNOME et Ubuntu ignoraient les préoccupations des utilisateurs et qu’ils imposaient leur propre vision, sans concertation.

À court terme, cela a mené à la résurrection de GNOME 2 sous des formes variées.

En tant que prédécesseur de GNOME 3 et de Unity, GNOME 2 fut un choix évident. C’est une interface populaire qui n’impose que peu de restrictions aux utilisateurs.

Quoi qu’il en soit, cela risque d’être, à long terme, étouffant pour l’innovation. Non seulement parce que le temps passé à ressuciter GNOME 2 n’est pas mis à profit pour explorer de nouvelles voies, mais parce que cela semble être une réaction à l’idée même d’innovation.

Peu sont ceux, par exemple, qui sont prêts à reconnaître que GNOME 3 ou Unity ont des fonctionnalités intéressantes. Au contraire, les deux sont condamnés dans leur ensemble. Et les développements futurs, tels l’intention de GNOME de rendre la sécurisation et la confidentialité plus simples, n’ont pas reçu l’attention qu’ils méritaient.

Au final, au cours des prochaines années, l’innovation en sera probablement réduite à une série de changements ponctuels, avec peu d’efforts pour améliorer l’ergonomie dans son ensemble. Même les développeurs hésiteront à tenter quoi que ce soit de trop différent, afin d’éviter le rejet de leurs projets.

Je me dois d’applaudir le fait que les diverses résurrections de GNOME 2 marquent le triomphe des requêtes des utilisateurs. Mais le conservatisme qui semble accompagner ces aboutissements m’inquiète : j’ai bien peur que cette victoire n’engendre d’autres problèmes tout aussi importants.

8. L’open source est en train de devenir une monoculture

Ses partisans aiment à revendiquer que l’un des avantages du logiciel libre et open source, c’est d’encourager la diversité. À la différence de Windows, les logiciels libres sont supposés être plus accueillants pour les idées nouvelles et moins vulnérables aux virus, la plupart des catégories de logiciels incluant plusieurs applications.

La réalité est quelque peu différente. À la lecture d’une étude utilisateurs vous remarquerez un modèle plutôt constant : une application ou technologie recueille 50 à 65% des votes, et la suivante 15 à 30%.

Par exemple, parmi les distributions, Debian, Linux Mint et Ubuntu, qui utilisent toutes le format de packet en .DEB, recueillent 58% du choix des lecteurs 2012 du Linux Journal, que l’on peut comparer aux 16% recueillis par Fedora, openSUSE, et CentOS, qui utilisent quant à elles le format .RPM.

De même, Virtualbox atteint 56% dans la catégorie « Meilleure solution de virtualisation », et VMWare 18%. Dans la catégorie « Meilleure gestion de versions », Git recueille 56% et Subversion 18%. La catégorie la plus asymétrique est celle des « Suites bureautiques » dans laquelle LibreOffice recueille 73% et (sic) Google Docs 12%.

Il n’y avait que deux exceptions à cette configuration. La première était la catégorie « Meilleur environnement de bureau », dans laquelle la diversification des dernières années était illustrée par les scores de 26% pour KDE, 22% pour GNOME 3, 15% pour GNOME 2 et 12% pour Xfce. La deuxième catégorie était celle de « Meilleur navigateur web »dans laquelle Mozilla Firefox recueillait 50% et Chromium 40%.

De manière générale, les chiffres ne rendent pas compte d’un monopole, mais dans la plupart des catégories, la tendance est là. Au mieux, on pourrait dire que, si la motivation n’est pas le profit, le fait d’être moins populaire n’implique pas que l’application va disparaître. Mais si la concurrence est saine, comme tout le monde aime à le dire, il y a tout de même des raisons de s’inquiéter. Quand on y regarde de près, les logiciels libres sont loin d’être aussi diversifiés que ce que l’on croit.

9. Le logiciel libre est bloqué si près de ses objectifs

En 2004, les logiciels libres et open source en étaient au stade où ils couvraient la plupart des usages de base des utilisateurs : envoi de courriels, navigation sur internet et la plupart des activités productives sur ordinateur. En dehors des espoirs de disposer un jour d’un BIOS libre, il ne manquait plus que les pilotes pour les imprimantes 3D et les cartes WiFi pour atteindre l’utopie d’un système informatique entièrement libre et open source.

Neuf ans plus tard, de nombreux pilotes libres de carte WiFi et quelques pilotes libres de cartes graphiques sont disponibles – mais nous sommes loin du compte. Pourtant la Free Software Foundation ne mentionne que rarement ce qui reste à faire, et la Linux Foundation ne le fait pratiquement jamais, alors même qu’elle sponsorise l’OpenPrinting database, qui liste les imprimantes ayant des pilotes libres. Si l’on combinait les ressources des utilisateurs de Linux en entreprise, on pourrait atteindre ces objectifs en quelques mois, pourtant personne n’en fait une priorité.

Admettons que certaines entreprises se préoccupent de leur soi-disant propriété intellectuelle sur le matériel qu’elles fabriquent. Il est possible également que personne ne veuille courir le risque de fâcher leurs partenaires commerciaux en pratiquant la rétroingénierie. Pourtant, on a bien l’impression que l’état actuel de statu quo persiste parce que c’est déjà bien assez, et que trop peu de personnes ont à cœur d’atteindre des objectifs dont des milliers ont fait le travail de leur vie.

Des discussions, non des disputes

Certains ont peut-être déjà conscience de ces sujets tabous. Cependant, il est probable que chacun trouvera dans cette liste au moins un sujet pour se mettre en rogne.

Par ailleurs, mon intention n’est pas de mettre en place neuf aimants à trolls. Même si je le voulais, je n’en aurais pas le temps.

Ces lignes sont plutôt le résultat de mes efforts pour identifier en quoi des évidences largement admises dans la communauté devraient être remises en question. Je peux me tromper. Après tout, je parle de ce que j’ai pris pour habitude de penser, moi aussi. Mais au pire, cette liste est un bon début.

Si vous pensez qu’il y a d’autres sujets tabous à aborder et à reconsidérer au sein de la communauté des logiciels libres et open source, laissez un commentaire. Cela m’intéresse de voir ce que je pourrais avoir oublié.

Crédit photo : Laëtitia Dulac (Creative Commons By)




Pas de Web libre et ouvert sans navigateur

Nous reproduisons aujourd’hui le dernier billet de Tristan Nitot, dont nous avons traduit la version originale. Il attire notre attention sur un problème crucial aujourd’hui et vous propose d’apporter votre contribution au débat. Alors qu’un véritable raz-de-marée d’applications déferle sur les smartphones et que nous en sommes friands (— ah bon, pas vous, vraiment ?) il est temps de s’interroger sur ce qui fait la force d’un navigateur qui nous permet de tirer le meilleur parti du Web. Car il ne s’agit pas seulement d’y acheter des contenus mais bien d’en faire l’espace de nos libertés, de notre création, de notre vie en ligne.

Et si le navigateur disparaissait ?

Par Tristan Nitot, Mozilla Principal Evangelist

(Adaptation d’un article en anglais publié sur le blog officiel Mozilla, Beyond the Code, sous le titre What if the browser disappeared?. Sky, Slystone, goofy pour la traduction).

L’autre jour, je lisais un article provocateur intitulé The end of the browser? (NDT : « La fin du navigateur ? »). Cet article soutient fondamentalement que tout le monde utilisant de plus en plus d’appareils nomades, les applications mobiles remplacent les navigateurs Web pour diverses raisons, la principale étant qu’elles sont plus pratiques que les pages Web affichées dans les navigateurs.

Bien qu’en désaccord avec l’auteur, je pense qu’il s’agit d’une question très intéressante qui soulève deux problèmes :

  1. Et si le Web était remplacé par les applications mobiles ? En quoi serait-il dommageable de perdre les navigateurs Web en tant que canal principal d’accès à l’information et aux services ?
  2. Que pouvons-nous faire pour nous assurer que le navigateur Web ne devienne pas une relique du passé pendant que le monde devient mobile ?

Et si le Web était remplacé par les applications mobiles ?

— Je pense que le monde y perdrait énormément. Il y perdrait tellement que je ne sais même pas par où commencer…

Liberté d’expression

Le Web n’est pas seulement fait de contenu commercial. Avoir la possibilité de s’exprimer est fondamental. Le Web permet cela, et avoir une structure décentralisée sur laquelle publier des trucs est nécessaire. Les magasins d’applications centralisés, comme les Appstores, ont montré une certaine tendance à censurer agressivement les contenus pour éviter les litiges, qu’il s’agisse d’art, de politique, de liberté de la presse ou simplement de mauvais goût.

Liberté de façonner mon expérience

Les navigateurs Web modernes sont équipés d’un système d’extensions qui permet aux utilisateurs de personnaliser leur expérience. Mais même avant que Firefox ne rende les extensions si populaires, il était possible d’utiliser des feuilles de styles alternatives ou même les feuilles de style de l’utilisateur pour modifier la présentation du contenu d’un site. Il ne s’agit pas seulement des goûts et des couleurs, mais également de l’importance pour le contenu du Web d’être accessible aux personnes handicapées.

N’oublions pas que chaque plateforme majeure propose un navigateur Web, de Windows à MacOS en passant par GNU/Linux et tous les smartphones : les utilisateurs n’ont pas à acheter un matériel ou un logiciel spécifique pour accéder au Web. Tout ce dont ils ont besoin c’est un ordinateur qui puisse faire tourner un navigateur Web.

Liberté d’apprendre, de bricoler et de créer

Ce qui rend le Web différent des autres médias est la possibilité pour chacun de participer. Contrairement à la télévision, vous n’avez pas besoin de posséder une chaîne de télé pour partager votre point de vue avec un public. Tout le monde peut publier un billet de blog qui renvoie vers d’autres pages, partager des photos ou des vidéos, et c’est un progrès fantastique pour la démocratie, comparé aux temps de la télé, de la radio et des journaux.

Mais l’Internet et le Web ne sont pas seulement des médias. Ce sont des plateformes d’innovation. Comme tout le monde peut apprendre comment le Web fonctionne en regardant le code source, le Web permet à chacun de créer une application Web, ce qui conduit à plus d’innovations, provenant d’encore plus de gens.

Que pouvons-nous faire pour nous assurer que le navigateur Web ne devienne pas une relique du passé pendant que le monde devient mobile ?

La réponse à cette question est plus courte que la précédente, je vais vous présenter ce que fait Mozilla à ce sujet :

  1. Continuer de faire un super navigateur pour le bureau : Firefox ;
  2. Continuer de faire un super navigateur pour les mobiles : Firefox pour Android ;
  3. Travailler sur un système d’exploitation mobile ouvert pour faire du Web la plateforme mobile de choix : Firefox OS (bientôt sur les téléphones portables près de chez vous !).

La nature ouverte du Web donne à chacun toutes sortes de libertés, et c’est pourquoi Mozilla s’investit dans Firefox OS : c’est le meilleur moyen de s’assurer que le Web a un futur dans un monde où la plupart des gens utilisent Internet sur leur téléphone portable.

Que pensez-vous que le monde perdrait si le navigateur Web disparaissait ? Vous pouvez nous le dire dans les commentaires là-dessous.