Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Et Reiser4 nous apprend comment fonctionne la communauté

Posté par tipote () le 02 août 2006
Le week-end dernier, je parcourais - dans un moment de nonchalance - une page web décrivant ce qu'est un vrai défenseur du logiciel libre. Parmi les "caractéristiques" de ce genre d'individu se trouve :

«Il a lu et relu La cathédrale et le bazar, d'Eric S. Raymond, de sorte qu'il sait précisément pourquoi il défend le logiciel libre.»

Eh bien moi je ne l'ai pas lu, mais comme j'ai un peu de temps, je me lance [1]. C'est une lecture très intéressante et instructive pour comprendre le succès de Linux et d'autres projets, basé sur les qualités de celui qui tient les rênes du développement : paresse (de sorte qu'il est prompt à accepter le code des autres), communication, etc.

Sur le même site se trouve un autre essai ayant pratiquement le même titre : La cathédrale, le bazar et le conseil municipal, d'Alan Cox [2]. Il décrit ce qui a failli miner le développement de Linux pour l'architecture 8086. Son idée principale est que la communauté qui se forme autour d'un projet comme celui-là est composée de quelques programmeurs talentueux et expérimentés, mais aussi d'une «masse» de programmeurs débutants qui produisent beaucoup plus d'opinions que de code et qui finalement ralentit considérablement le projet. Le vrai problème apparaît si le noyau de programmeurs chevronnés décide de s'enfermer pour ne plus être ralentis par la masse. À court terme le projet gagne en rapidité, mais à long terme il perd l'opportunité de recruter de nouveaux participants talentueux et motivés. Il perd aussi la possibilité de transformer une partie de la «masse» en bons programmeurs en expliquant avec tact quels sont les points qui comptent vraiment, dans une démarche d'éducation.

Pour en venir à Reiser4, il me semble qu'il a souffert d'un aspect du fonctionnement de la communauté tel qu'il est décrit par Alan Cox. Le système de fichiers, supposé ultra-performant comparé aux actuels ext3 et consorts [3], vit actuellement dans la branche -mm du noyau linux, alors que son créateur Hans Reiser aimerait le voir intégré dans la branche principale. Alors qu'il s'est trouvé rejeté assez brutalement l'année dernière [4], Hans Reiser et son entreprise, Namesys [5], ont poursuivi le développement, en s'attachant sans doute à corriger ce qu' Andrew Morton et les autres développeurs de Linux lui avaient reprochés [6].

Plus récemment, un groupe d'utilisateurs a tenté de résumer la situation concernant reiser4 [7], et LinuxFr s'en est même fait l'écho en première page [8]. En ce qui me concerne, je trouve que la page en question fait plus de mal que de bien, car elle n'aborde pas l'aspect technique, mais au contraire se concentre sur le côté politique du processus, dont on a déjà trop longtemps parlé, avec pour effet de dégoûter ceux qui auraient pu s'intéresser sérieusement à Reiser4 et commenter le code.

L'apparition de cette page a entraîné avec elle un nouveau fil sur la lkml, entamé par Hans Reiser [9]. Une fois de plus, au lieu de s'attarder sur le vrai problème (les choix techniques), le fil a dérivé vers une discussion sur la difficulté d'obtenir l'inclusion d'un patch dans la branche principale de Linux. En revanche, contrairement à ce qui a été dit auparavant sur monsieur Reiser, son ton m'a paru retenu et cordial [10]. Malheureusement, le fil s'est enfoui sous une montagne de réponses provenant de la «masse» de non-techniciens, ou plutôt de gens non expérimentés et qui n'ont jamais lu une seule ligne du code de Reiser4 (il s'agit bel et bien d'une masse : le site marc.theaimsgroup.com répertorie 470 messages concernant Reiser4 pour le seul mois de juillet !). Même notre cher Linus Torvalds est tombé un peu dans le piège de cette discussion, et s'est fortement opposé aux soit-disant "plugins" de Reiser4 [11].

Heureusement, les développeurs de Linux, comme ceux du projet Linux 8086 décrits par Alan Cox, ne succombent pas à l'étouffement par la «masse»:

- Andrew Morton, responsable de la branche expérimentale, a finalement donné un coup d'oeil au code[12] et entre dans la discussion. En voici ma traduction:

«Pendant ce temps, je me retrouve pauvre et vieux en train de chercher quelques quatre autres heures pour finir le compte-rendu de la chose [NdT : parlant du code de Reiser4].

«Le code d'écriture [NdT: "writeout"] est horrible, mais ceci vient largement du décalage entre ce que reiser4 veut faire et ce que VFS/MM s'attend à ce qu'il fasse. Si ça marche comme ça, on peut vivre avec, même si le VFS pourrait être rendu plus intelligent.

«Je dirais que le problème majeur de reiser4 est le manque des xattrs, acls et direct-io. Il est probable que cela limite de manière significative l'enthousiasme des distributeurs (de même que l'attribution de copyright, mais est-ce notre problème ?).

«Les plugins semblent avoir été grossièrement mal nommés. Ce sont juste les éléments d'une couche intermédiaire d'abstraction qui permet d'ajouter ultérieurement de nouvelles fonctions d'une manière propre et sûre.

«Puis-je suggérer que toutes les critiques techniques à venir sur reiser4 incluent la référence du fichier et de la ligne en question ? Ça devrait réduire le débit sur vger [NdT : la liste de diffusion].

«Thanks»

C'est magistral, d'un coup la discussion est recentrée. D'une main de maître, Andrew a attiré une poignée de vrais interlocuteurs. Christoph Hellwig [13] ajoute concernant les plugins :
«[NdT : Si les plugins ne méritent plus leur nom], c'est parce que les vrais plugins ont été retirés du code depuis longtemps. C'est juste que ni ceux qui critiquent ni les fans de reiser4 dans ce fil n'ont jamais lu le code, ou plus généralement ils ne se sont jamais fait d'idée par eux-mêmes.»
Andi Kleen [14] poursuit :
«J'ai jeté un coup d'oeil rapide, et je dois dire que la plupart de ce qui m'avait retourné quand j'ai regardé la première fois il y a longtemps a été corrigé.»

Finalement, la vraie discussion s'est tassé, sur sur un conclusion positive. Les messages étaient écrits sur un ton tout à fait cordial, et faisant un bilan des quelques aspects techniques à peaufiner. Des développeurs de Namesys, comme Vladimir V. Saveliev, ont participé, et n'ont fait que de confirmer les conclusions d'Andrew Morton.
Et pendant ce temps, la «masse» continuait à s'étriper, cette fois sur ZFS, ou encore sur la capacité d'un système de fichiers à compenser les problèmes matériels...

J'espère que comme moi vous serez ravis de voir que la communauté a finalement fonctionné et a abouti à une vraie conclusion, constructive et enthousiasmante. Après lecture de ces quelques extraits de la lkml, il semble tout à fait raisonnable que Reiser4 soit finalement inclus dans une des prochaines versions de Linux.



[1] http://www.linux-france.org/article/these/cathedrale-bazar/c(...)
[2] http://www.linux-france.org/article/these/conseil-municipal/(...)
[3] http://marc.theaimsgroup.com/?l=linux-kernel&m=115437951(...)
[4] Il y a sûrement d'autres fils pertinents dans la liste de discussion, et vous serez sans doute fatigués après les 10 premiers messages sur les centaines de messages postés, mais voici quand même un lien http://lkml.org/lkml/2005/6/21/326
[5] http://www.namesys.com/
[6] http://lkml.org/lkml/2005/6/21/450
[7] http://kernelnewbies.org/WhyReiser4IsNotIn
[8] http://linuxfr.org/2006/07/17/21105.html
[9] http://lkml.org/lkml/2006/7/21/109
[10] http://lkml.org/lkml/2006/7/24/3
[11] http://lkml.org/lkml/2006/7/28/180
[12] http://lkml.org/lkml/2006/8/1/70
[13] http://lkml.org/lkml/2006/8/1/157
[14] http://lkml.org/lkml/2006/8/1/334

> Lire le journal (56 commentaires, moyenne: 4).  

Vous avez demandé le commentaire #739884.

De la definition d'un expert

Posté par shal () le 02/08/2006 à 20:02. (lien). Évalué à 10.

J'ai des reflexions ces temps-ci et cela colle parfaitement avec ton explication:

Qu'est ce qu'un expert?
Je me suis rendu compte que quand tu t'intéresse à un domaine, tu peux rapidement te faire passer pour un expert auprés de quelqu'un d'un peu moins callé que toi.

J'en ai fait l'expérience l'autre jour en sortant à un collégue une phrase construit avec des bouts de phrases entendu par-ci par la: Je suis passé pour un dieu du domaine alors que ma phrase (en plus d'être surement fausse) je l'a comprennais même pas!!

La c'est pareil sur reseir4: plein de gens suive les discussions, au bout d'un certain temps ils se croient autorisé à donner leur avis alors qu'il ont jamais lu une ligne du code. Moi aussi je peux dire :" Hans c'est un con, il essaye de forcer l'architecture du VFS en incluant un systéme de plugin qui va tout pourrir".

Je pense que l'on devrait tous être plus humble sur ce que l'on connait tant que l'on a pas réellement été au fond des choses.

Voila, fini mes reflexions....

  • [^]Re: De la definition d'un expert

    Posté par Fanf () le 02/08/2006 à 20:07. (lien). Évalué à 10.

    J'en ai fait l'expérience l'autre jour en sortant à un collégue une phrase construit avec des bouts de phrases entendu par-ci par la: Je suis passé pour un dieu du domaine alors que ma phrase (en plus d'être surement fausse) je l'a comprennais même pas!!

    Excellent ! Tu es prêt pour travailler en SSII !

    [^]Re: De la definition d'un expert

    Posté par farib () le 02/08/2006 à 20:23. (lien). Évalué à 10.

    Moi aussi je peux dire :" Hans c'est un con, il essaye de forcer l'architecture du VFS en incluant un systéme de plugin qui va tout pourrir".

    Ben quoi, c'est vrai. Je l'ai lu sur la LKML.

    [^]Re: De la definition d'un expert

    Posté par jms (Jabber id, ) le 02/08/2006 à 21:04. (lien). Évalué à 6.

    C'est ça qui est génial (ou pas) avec l'informatique (et probablement avec beaucoup d'autres domaines):
    Quand on sort de l'école, on croit tout savoir. Et puis au fur et à mesure, quand on écoute les autres, quand on fait des boulettes, quand on cherche à apprendre, et bien on se rend compte qu'on en sait beaucoup moins.
    Je dirais même que plus on apprend, plus la vision des connaissances possibles s'élargit.

    Et je crois que c'est ce qu'on appelle (comme tu l'as dis) l'humilité et l'expérience.

    • [^]Re: De la definition d'un expert

      Posté par Sylvain Sauvage () le 02/08/2006 à 21:36. (lien). Évalué à 10.

      Il y a une autre réaction possible : on sort de l'école, on sait qu'on ne sait pas grand-chose, on se rend compte que les autres non-plus, on se dit « cool, suffit de baragouiner un peu pour passer pour un pro », et on fait comme les autres...

      [^]Re: De la definition d'un expert

      Posté par alenvers () le 03/08/2006 à 09:33. (lien). Évalué à 3.

      >Quand on sort de l'école, on croit tout savoir. Et puis au fur et à mesure, quand on
      >écoute les autres, quand on fait des boulettes, quand on cherche à apprendre, et
      >bien on se rend compte qu'on en sait beaucoup moins.

      De mon expérience, c'est plutôt, on sort de l'école. On est très apte.

      On a des supérieurs qui n'ont jamais fais la moindre école d'informatique mais des écoles de commerce/management/ingénieur industriel ou civil. Ils imposent un paquet de chose à priori au début des projets qui n'ont ni queue ni tête.

      Mais en sortant de l'école, on a essentiellement rencontré des enseignants/chercheurs qui étaient très compétents et souvent quand on ne comprennait pas un choix c'était qu'on n'avait pas encore les connaissances nécessaires. Donc, on exécute ce mauvais choix sans récflèchir par habitude d'être avec des gens compétents.

      En acquérant, de l'expérience, on apprend simplement comment retourner les choses sans queue ni tête :
      - Passer 3 jours à faire un rapport explicant ce qui ne va pas et surtout en donnant la méthode adéquate.

      On sait juste comment se protéger des choix de départ imposés et ne pas se voir le responsable de l'échec d'un projet pour cause de choix de départ en-dehors de notre responsabilité.

      J'en ai vraiment marre qu'on prenne les gens qui sortent de l'école pour des crétins !

      • [^]Re: De la definition d'un expert

        Posté par SF () le 03/08/2006 à 11:02. (lien). Évalué à 5.

        Le problème d'un gars qui sort d'une école c'est qu'on sait ce qu'il a appris, pas ce qu'il a compris, ni ce qu'il va continuer à acquérir dans sa vie professionnelle.
        N'ayant pas fait d'études d'informatique j'ignore comment ça se passe mais dans d'autres domaines je sais très bien qu'il n'est pas rare de croiser des enseignants très compétents ayant des avis radicalement opposés sur un même sujet.
        L'école te transmet une partie des aptitudes nécessaires dans ton travail mais ce n'est qu'une partie, le reste c'est à toi de l'acquérir et ça a autant d'importance que le savoir transmis.

        Si tu es sorti apte au travail de ton école je t'en félicite, mais une partie non négligeable du mérite revient à toi seul, pas à ton diplome.

        • [^]Re: De la definition d'un expert

          Posté par alenvers () le 03/08/2006 à 13:28. (lien). Évalué à 2.

          >Si tu es sorti apte au travail de ton école je t'en félicite, mais une partie non
          >négligeable du mérite revient à toi seul, pas à ton diplome.

          De l'université, on sort apte ou on ne sort pas...

          >N'ayant pas fait d'études d'informatique j'ignore comment ça se passe mais dans
          > d'autres domaines je sais très bien qu'il n'est pas rare de croiser des enseignants
          > très compétents ayant des avis radicalement opposés sur un même sujet.

          Oui, jusqu'à ce qu'il y ait une preuve formelle de ce que un des deux avances. Je parle ici, de truc imposé à priori sans réflexion...

          >L'école te transmet une partie des aptitudes nécessaires dans ton travail mais ce
          >n'est qu'une partie, le reste c'est à toi de l'acquérir et ça a autant d'importance que
          > le savoir transmis.

          Si tu as acquis à l'univ., tu peux sans problème acquérir au travail. La difficulté de ce qui est demandé dans 99% des boulots est 99% plus simple que ce qui est demandé à l'univ. (Jamais développé d'OS, de compilo, utilisé de math au-delà du niveau humanité, utilisé de méthodogies modernes de dev. dans le boulot).

          Peut-etre n'est-ce pas le cas en France mais dans ce "cas le meilleur système éducatif au monde" (Ne pas taper, je ne fais que citer que ce que les 99% des français que je rencontre me disent) aurait bien besoin d'un patch.

          PS: les 99% sont un peu exagérés mais si peu...

          • [^]Re: De la definition d'un expert

            Posté par kraman () le 03/08/2006 à 13:37. (lien). Évalué à 6.

            De l'université, on sort apte ou on ne sort pas...
            kof kof.
            on sort pret a affronter a peu pres n'importe quelle situation technique.

            de la a dire que le mec est apte (ie : capable de rendre un projet pour avant hier, comprendre le besoin du client, employer les pincettes qui vont bien, estimer un besoin d'evolutivite ou le potentiel commercial d'un produit, etre capable de flairer un client emmerdeur qui va faire diverger etc.) ya un pas que je ne franchirais franchemnet pas.

            Un mec qui sort de l'ecole (fac ou ecole), je le laisserais pas a un poste tout seul, plutot avec un un mec de 5-10 ans mini pas loin pour le driver en cas de connerie ou d'exces de zele.

            • [^]Re: De la definition d'un expert

              Posté par alenvers () le 03/08/2006 à 14:56. (lien). Évalué à 1.

              >un un mec de 5-10 ans mini pas loin pour le driver en cas de connerie ou d'exces
              >de zele.

              Tu me le confierais alors ;-)

              Pour ce qui est du reste ce que tu cites n'est pas du ressort d'un informaticien (Plutôt, u commercial/vendeur). D'autres le sont. Mais dans tous les cas, je n'ai jamais vu des comportements de ce genre chez des recrues fraiches !

              • [^]Re: De la definition d'un expert

                Posté par kraman () le 03/08/2006 à 16:44. (lien). Évalué à 3.

                Tu me le confierais alors ;-)
                a partir du moment ou t'es capable de canaliser sa fougue de jeune chien fou et d'eviter les catastrophes "j'pensais que c'etait une bonne idee" :-P

                Le diplome ca sert surtout a trouver son premier taff, passe les qq premieres annees ca veut plus dire grand chose je trouve.

                Pour ce qui est du reste ce que tu cites n'est pas du ressort d'un informaticien
                mouaif...
                c'est clairement pas un boulot d'informaticien pur et dur, mais on peut rapidement etre amene a faire ce genre de choses en etant ingenieur...

    [^]Re: De la definition d'un expert

    Posté par Bouil (Jabber id, page perso, ) le 03/08/2006 à 14:31. (lien). Évalué à 3.

    J'abonde completement dans ton sens. La "masse" (journalistes et politiques inclus) se permet bien trop souvent de sortir des jugements à l'emporte pièce sous couvert de "on dit" et de préjugés.

    Je le constate particulièrement sur ce qui touche l'Espéranto, ou les gens les moins bien informés sont bien souvent les plus fervents détracteurs.

    --
    « La clé d'une langue commune, perdue dans la Tour de Babel, peut être seulement construite par l'usage de l'Espéranto. » Jules Verne.