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
«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 #739878.



Merci
... d'avoir écris ce journal.
Sincèrement.
"Debian est un ancien mot Africain qui signifie "Je m'la pête".