Je suis développeur et contributeur sur le système d'exploitation Plan 9 from Bell Labs depuis quasiment une dizaine d'année.
J'ai eu l'occasion de suivre le développement du projet 9front depuis sa création, et j'ai d’ailleurs fait parti, à mon grand regret, de ceux qui ont soufflé cette idée, donné de nombreux conseils de départ et émis d'importantes réserves sur les écueils à éviter.
Au bout de deux jours, 9front avait définitivement basculé vers un désordre intégral. Par la suite, j'ai longtemps essayé de les convaincre de travailler d'une façon plus sérieuse, d'avantage pérenne et moins fermée. Ce fut un échec complet. J'ai par la suite définitivement abandonné.
Je n'exprime, aujourd'hui, plus aucun intérêt à l'égard de 9front. Cependant, je suis profondément agacé par leur attitude à vouloir s’exhiber à tout prix sur toute la surface d'Internet, provoquant une véritable confusion chez l'ensemble des débutants et nouveaux venus dans la communauté Plan 9.
Ce n'est donc pas par volonté de voir 9front changer que j'écris ceci, puisque j'ai déjà essayé et échoué, mais plutôt dans le but d'éclaircir ce qu'est véritablement 9front vis à vis des gens de l'extérieur.
Aujourd'hui, 9front se caractérise principalement par le dénigrement de tout le travail qui a été accompli par les développeurs originaux, les mainteneurs actuels, ainsi que les nombreux contributeurs qui ont participé à Plan 9 depuis ces dix dernières années. En plus de ça, ils ont une fâcheuse tendance à répandre des rumeurs infondés et à réécrire l'histoire du développement de Plan 9, tout en s'attribuant de nombreuses choses qui ne leur reviennent pas.
J'ai constaté que les quelques « articles » qui parlent de 9front, comme celui-ci, semblent en général sous-entendre deux choses :
Plan 9 n'est aujourd'hui plus activement développé
9front est le premier et seul dérivé de Plan 9
Ces deux affirmations sont fausses.
Plan 9 est toujours activement développé. Il y a des changements quasiment chaque jour. Des patchs provenant de la communauté sont régulièrement acceptés. De plus, il y a actuellement beaucoup de travail effectué chez Bell Labs (à Murray Hill et Antwerp), l'université Rey Juan Carlos (à Madrid) et Vita Nuova (à York). De plus, ils travaillent aujourd'hui notamment sur le développement des systèmes d'exploitation Osprey et Nix, tous deux dérivés de Plan 9.
Il y a eu des dizaines de dérivés de Plan 9 durant les dix dernières années. J'ai actuellement connaissance d'au moins trois distributions alternatives de Plan 9, publiques et actuellement maintenues, sans compter les dizaines de distributions personnelles que de nombreux utilisateurs maintiennent pour leurs propres besoins. Elles participent toutes à la communauté de Plan 9 en restant synchronisé et en remontant les patchs.
La seule véritable originalité de 9front est leur profond refus de rester synchronisé avec les développements de Plan 9, et, de façon générale, le refus de toute collaboration avec l'effort de développement existant.
Ils ont forké de façon obscure au début du mois d'avril et ont ensuite décidé que les nombreuses corrections et ajouts de fonctionnalité dans Plan 9 (comme par exemple, les améliorations sur IPv6, les compilateurs AMD64...) ne les intéressaient pas.
Dès les premiers jours, les développeurs de 9front ont commencé par casser une grande partie du fonctionnement de Plan 9. Ils on notamment en remplacé le système de réplication et de distribution par Mercurial, particulièrement inadapté à cet usage (c'est un outil de développement et non pas un outil de réplication, comme l'est par exemple Unison), ainsi que remplacé l'installeur et le système de build. Toutes ces modifications ne sont justifiables que par leur incompréhension du fonctionnement de ces outils. Ceci marque une première rupture dans la méthode de développement entre Plan 9 et 9front.
Le fait que les développeurs de 9front sont incapables de travailler proprement s'illustre notamment par la manière dont a été construit leur dépôt Mercurial. Différentes personnes ont importé la distribution initiale quasiment fichier par fichier, à partir de versions multiples de Plan 9, tout en cassant le noms de certains fichiers (notamment en montant les images ISO sans l'extension Plan 9) et en brisant l'ensemble des droits d'accès. Il ont ensuite passé plusieurs semaines à essayer de recoller les morceaux. De leur propre aveux, ils ne connaissaient pas du tout Mercurial avant de commencer le projet, mais manifestement, ils ne savaient pas non plus du tout comment gérer un projet proprement de façon générale. Tout ceci coupe définitivement la voie à tous ceux qui souhaiteraient incorporer des changements de 9front dans Plan 9 puisque les modifications sont obscurcies, ainsi les fusions de code sont rendues bien plus difficiles.
Ici on parle notamment du port de l'environnement Go sur Plan 9. Le travail la dessus a commencé il y a plus d'un an, en collaboration avec les développeurs de Go. Le port mentionné dans cet article est un port qui a été fait d'une traite, pour une version spécifique de Go et par une seule personne, dans son coin. Tout ce qui en est ressortit est une sombre archive de 30 Mo. Il n'y a eu aucune documentation, ni aucune interaction avec les développeurs de Go ni aucune tentative de collaboration. Si bien qu'il eu fallu plusieurs mois avant que les principales personnes qui travaillaient sur le port de Go puissent en être informé. Et aujourd'hui, rien n'en est encore sortit, probablement parce qu'il est plus simple de ré-effectuer le travail que d'essayer de comprendre ce qui a été fait. Bien que ce port ait initialement été effectué quelques semaines précédemment à la création de 9front, il est assez représentatif de leur idéologie.
Il y a certes des éléments intéressants qui ont étés développés ou intégrés dans le cadre de 9front, mais ils ne justifient en rien la nécessite de créer un fork. Tous ces changements pourraient très bien être soumis en tant que patch sur Plan 9 from Bell Labs ou simplement maintenus comme composants externes, facilement installables par les utilisateurs de Plan 9. Depuis le début, 9front a tout fait pour rendre cela le plus pénible possible.
Les développeurs de 9front s'en sortent généralement avec des arguments comme « le code est disponible, ils n'ont qu'à aller le chercher », ce qui est une hypocrisie complète. C'est eux qui ont décidé de forker, et ce n'est pas aux développeurs travaillant sur Plan 9 de faire l'effort d'aller retrouver le code qui les intéresse, le nettoyer et en extraire un patch de qualité. Ils ne font que participer à l'éclatement de la communauté.
Bien souvent, les développeurs de 9front se sont plaints qu'autrefois leurs patchs n'aient pas été acceptés dans Plan 9. D'une part, globalement, très peu de patchs ont été refusés, ensuite, il aurait probablement fallu qu'ils se demandent pourquoi ils ont été refusés. Quand on regarde la liste des patchs refusés, on voit beaucoup de patchs non justifiés, mal documentés, mal finis ou réalisés très improprement.
Évidemment, on pourrait dire qu'ils ne font ça que pour s'amuser. C'est moi-même ce que je pensais au début. Le problème, c'est qu'ils ont déployé une énergie assez considérable pour faire de la publicité, semer la confusion dans l'esprit des débutants et refourguer leur camelote aux nouveaux arrivants dans la communauté de Plan 9. Je passe sur leur coté « amusant » qui ne se résume globalement qu'à répandre l'idéologie nazie en distribuant un exemplaire de Mein Kampf dans la distribution, ainsi que de se permettre de faire d'incessantes références à Hitler et Goebbels.
Je ne comprends vraiment pas l’intérêt de mettre en lumière ce fork en particulier, alors qu'il en existe tant d'autres, bien plus propres, bien mieux maintenu, bien plus intéressants à découvrir, bien plus proches de l'esprit de Plan 9 et dont les auteurs savent avant-tout garder une certaine humilité.
Je n'avais jamais répondu aux différents « articles » à propos de 9front jusqu'à présent, de peur de leur accorder une importance plus importante que ce qu'ils méritent, mais je pense qu'il devenait nécessaire d'éclaircir le trouble jeté par ce genre d'«articles ».
Plan 9 from Bell Labs est un système d'exploitation passionnant, d'une très grande cohérence et d'une incroyable élégance. Si cela vous motive, regardez Plan 9, ainsi que du coté des dizaines de projets très intéressants qui gravitent autour (Inferno, Plan B, Octopus, plan9port, drawterm, 9vx, v9fs, Nix, Osprey, 9atom, 9k, xcpu...).
# Édifiant
Posté par hibou . En réponse au journal Plan9 & 9Front: Le front tombe!. Évalué à 10.
Je suis développeur et contributeur sur le système d'exploitation Plan 9 from Bell Labs depuis quasiment une dizaine d'année.
J'ai eu l'occasion de suivre le développement du projet 9front depuis sa création, et j'ai d’ailleurs fait parti, à mon grand regret, de ceux qui ont soufflé cette idée, donné de nombreux conseils de départ et émis d'importantes réserves sur les écueils à éviter.
Au bout de deux jours, 9front avait définitivement basculé vers un désordre intégral. Par la suite, j'ai longtemps essayé de les convaincre de travailler d'une façon plus sérieuse, d'avantage pérenne et moins fermée. Ce fut un échec complet. J'ai par la suite définitivement abandonné.
Je n'exprime, aujourd'hui, plus aucun intérêt à l'égard de 9front. Cependant, je suis profondément agacé par leur attitude à vouloir s’exhiber à tout prix sur toute la surface d'Internet, provoquant une véritable confusion chez l'ensemble des débutants et nouveaux venus dans la communauté Plan 9.
Ce n'est donc pas par volonté de voir 9front changer que j'écris ceci, puisque j'ai déjà essayé et échoué, mais plutôt dans le but d'éclaircir ce qu'est véritablement 9front vis à vis des gens de l'extérieur.
Aujourd'hui, 9front se caractérise principalement par le dénigrement de tout le travail qui a été accompli par les développeurs originaux, les mainteneurs actuels, ainsi que les nombreux contributeurs qui ont participé à Plan 9 depuis ces dix dernières années. En plus de ça, ils ont une fâcheuse tendance à répandre des rumeurs infondés et à réécrire l'histoire du développement de Plan 9, tout en s'attribuant de nombreuses choses qui ne leur reviennent pas.
J'ai constaté que les quelques « articles » qui parlent de 9front, comme celui-ci, semblent en général sous-entendre deux choses :
Ces deux affirmations sont fausses.
Plan 9 est toujours activement développé. Il y a des changements quasiment chaque jour. Des patchs provenant de la communauté sont régulièrement acceptés. De plus, il y a actuellement beaucoup de travail effectué chez Bell Labs (à Murray Hill et Antwerp), l'université Rey Juan Carlos (à Madrid) et Vita Nuova (à York). De plus, ils travaillent aujourd'hui notamment sur le développement des systèmes d'exploitation Osprey et Nix, tous deux dérivés de Plan 9.
Il y a eu des dizaines de dérivés de Plan 9 durant les dix dernières années. J'ai actuellement connaissance d'au moins trois distributions alternatives de Plan 9, publiques et actuellement maintenues, sans compter les dizaines de distributions personnelles que de nombreux utilisateurs maintiennent pour leurs propres besoins. Elles participent toutes à la communauté de Plan 9 en restant synchronisé et en remontant les patchs.
La seule véritable originalité de 9front est leur profond refus de rester synchronisé avec les développements de Plan 9, et, de façon générale, le refus de toute collaboration avec l'effort de développement existant.
Ils ont forké de façon obscure au début du mois d'avril et ont ensuite décidé que les nombreuses corrections et ajouts de fonctionnalité dans Plan 9 (comme par exemple, les améliorations sur IPv6, les compilateurs AMD64...) ne les intéressaient pas.
Dès les premiers jours, les développeurs de 9front ont commencé par casser une grande partie du fonctionnement de Plan 9. Ils on notamment en remplacé le système de réplication et de distribution par Mercurial, particulièrement inadapté à cet usage (c'est un outil de développement et non pas un outil de réplication, comme l'est par exemple Unison), ainsi que remplacé l'installeur et le système de build. Toutes ces modifications ne sont justifiables que par leur incompréhension du fonctionnement de ces outils. Ceci marque une première rupture dans la méthode de développement entre Plan 9 et 9front.
Le fait que les développeurs de 9front sont incapables de travailler proprement s'illustre notamment par la manière dont a été construit leur dépôt Mercurial. Différentes personnes ont importé la distribution initiale quasiment fichier par fichier, à partir de versions multiples de Plan 9, tout en cassant le noms de certains fichiers (notamment en montant les images ISO sans l'extension Plan 9) et en brisant l'ensemble des droits d'accès. Il ont ensuite passé plusieurs semaines à essayer de recoller les morceaux. De leur propre aveux, ils ne connaissaient pas du tout Mercurial avant de commencer le projet, mais manifestement, ils ne savaient pas non plus du tout comment gérer un projet proprement de façon générale. Tout ceci coupe définitivement la voie à tous ceux qui souhaiteraient incorporer des changements de 9front dans Plan 9 puisque les modifications sont obscurcies, ainsi les fusions de code sont rendues bien plus difficiles.
Ici on parle notamment du port de l'environnement Go sur Plan 9. Le travail la dessus a commencé il y a plus d'un an, en collaboration avec les développeurs de Go. Le port mentionné dans cet article est un port qui a été fait d'une traite, pour une version spécifique de Go et par une seule personne, dans son coin. Tout ce qui en est ressortit est une sombre archive de 30 Mo. Il n'y a eu aucune documentation, ni aucune interaction avec les développeurs de Go ni aucune tentative de collaboration. Si bien qu'il eu fallu plusieurs mois avant que les principales personnes qui travaillaient sur le port de Go puissent en être informé. Et aujourd'hui, rien n'en est encore sortit, probablement parce qu'il est plus simple de ré-effectuer le travail que d'essayer de comprendre ce qui a été fait. Bien que ce port ait initialement été effectué quelques semaines précédemment à la création de 9front, il est assez représentatif de leur idéologie.
Il y a certes des éléments intéressants qui ont étés développés ou intégrés dans le cadre de 9front, mais ils ne justifient en rien la nécessite de créer un fork. Tous ces changements pourraient très bien être soumis en tant que patch sur Plan 9 from Bell Labs ou simplement maintenus comme composants externes, facilement installables par les utilisateurs de Plan 9. Depuis le début, 9front a tout fait pour rendre cela le plus pénible possible.
Les développeurs de 9front s'en sortent généralement avec des arguments comme « le code est disponible, ils n'ont qu'à aller le chercher », ce qui est une hypocrisie complète. C'est eux qui ont décidé de forker, et ce n'est pas aux développeurs travaillant sur Plan 9 de faire l'effort d'aller retrouver le code qui les intéresse, le nettoyer et en extraire un patch de qualité. Ils ne font que participer à l'éclatement de la communauté.
Bien souvent, les développeurs de 9front se sont plaints qu'autrefois leurs patchs n'aient pas été acceptés dans Plan 9. D'une part, globalement, très peu de patchs ont été refusés, ensuite, il aurait probablement fallu qu'ils se demandent pourquoi ils ont été refusés. Quand on regarde la liste des patchs refusés, on voit beaucoup de patchs non justifiés, mal documentés, mal finis ou réalisés très improprement.
Évidemment, on pourrait dire qu'ils ne font ça que pour s'amuser. C'est moi-même ce que je pensais au début. Le problème, c'est qu'ils ont déployé une énergie assez considérable pour faire de la publicité, semer la confusion dans l'esprit des débutants et refourguer leur camelote aux nouveaux arrivants dans la communauté de Plan 9. Je passe sur leur coté « amusant » qui ne se résume globalement qu'à répandre l'idéologie nazie en distribuant un exemplaire de Mein Kampf dans la distribution, ainsi que de se permettre de faire d'incessantes références à Hitler et Goebbels.
Je ne comprends vraiment pas l’intérêt de mettre en lumière ce fork en particulier, alors qu'il en existe tant d'autres, bien plus propres, bien mieux maintenu, bien plus intéressants à découvrir, bien plus proches de l'esprit de Plan 9 et dont les auteurs savent avant-tout garder une certaine humilité.
Je n'avais jamais répondu aux différents « articles » à propos de 9front jusqu'à présent, de peur de leur accorder une importance plus importante que ce qu'ils méritent, mais je pense qu'il devenait nécessaire d'éclaircir le trouble jeté par ce genre d'«articles ».
Plan 9 from Bell Labs est un système d'exploitation passionnant, d'une très grande cohérence et d'une incroyable élégance. Si cela vous motive, regardez Plan 9, ainsi que du coté des dizaines de projets très intéressants qui gravitent autour (Inferno, Plan B, Octopus, plan9port, drawterm, 9vx, v9fs, Nix, Osprey, 9atom, 9k, xcpu...).