Je n’étais pas au courant de la compatibilité discourse, c’est donc quelque chose que je devrai approfondir.
J’aimerais aborder cela, car il semble y avoir une énorme déconnexion entre la façon dont l’équipe Discourse conçoit la branche stable et la façon dont le reste de la communauté discourse/la communauté plus large des administrateurs de forums pense de l’offre stable de Discourse.
Principales raisons pour lesquelles la branche stable ne répond pas à la définition de LTS.
1) La branche stable est activement déconseillée par le personnel chaque fois qu’elle est mentionnée.
Je ne veux pas nécessairement pointer du doigt des contributeurs individuels, mais voici une sélection de publications du personnel pour montrer le thème :
Notez que dans certains aspects,
tests-passedest plus stable questable, car c’est ce que discourse.org utilise, donc c’est le mieux testé.
Ainsi, Discourse est dans un état de bêta perpétuel, ce qui signifie que nous travaillons toujours sur de nouvelles fonctionnalités et des améliorations. Dans notre cas, la bêta ne signifie pas instable ; nous hébergeons des sites avec des millions de pages vues mensuelles sur nos versions
tests-passedet bêta.
La branche stable n’est pas nécessairement plus « stable » que tests-passed. Il s’agit plutôt de l’idée que les bugs sont connus, et elle sert de point de contrôle pour un ensemble spécifique de fonctionnalités et d’améliorations. Avec tests-passed, de nouveaux bugs peuvent être introduits, puis corrigés quelques commits plus tard.
Le message a été assez constamment que Discourse est en « bêta perpétuelle », ce que les utilisateurs en production / non développeurs ne veulent pas expérimenter.
Dans une recherche rapide sur DuckDuckGo des dix premiers liens pour “discourse stable”, aucun ne semble vraiment plaider en faveur de l’utilisation de la branche stable. Donc, quelle que soit sa qualité réelle, si le personnel guide universellement les gens à s’éloigner de la branche stable, cela donne une impression négative dans l’esprit des gens quant à son adéquation à l’usage.
La branche stable est peut-être excellente, mais si on nous dit sans cesse qu’il vaut mieux ne pas l’utiliser, nous ne la considérerons pas pour un déploiement sérieux.
2. Une LTS reçoit des correctifs de bugs au-delà des simples correctifs de sécurité.
Une LTS est quelque chose qui ne reçoit pas de mises à jour de fonctionnalités, mais qui reçoit des correctifs de bugs. Selon les propres commentaires du personnel, il ne semble pas y avoir d’efforts déployés dans Discourse pour réintégrer les correctifs de bugs pour les problèmes non liés à la sécurité. Peut-être que ce n’est pas vrai, mais c’est ce qu’on nous a dit.
3. Une LTS a des étapes d’installation simples.
Le guide d’installation ne mentionne même pas l’existence de la branche stable.
4. Une LTS est largement utilisée.
Avant votre publication, je n’avais pas entendu parler d’une utilisation généralisée de la branche stable. Est-elle également largement utilisée dans la nature ? Vu à quel point elle est cachée, j’en doute, mais je n’ai pas de métriques pour le dire. C’est un facteur important car il donne aux gens confiance pour utiliser la branche stable pour leurs déploiements en production.
5. Une LTS a un cycle de publication et des notes de mise à jour claires.
Je ne vois aucun endroit central où la branche stable est clairement documentée. (Je la manque peut-être !)
Mes attentes pour une LTS sont une page qui décrit :
- Version de publication active actuelle
- Notes de publication incluant :
- Changements/fonctionnalités majeurs entre les versions LTS
- Étapes de migration depuis la dernière version LTS (en particulier les changements majeurs à connaître)
- Durée de support actif prévue pour chaque version
par ex. mediawiki, mais vraiment toute LTS open source majeure a des pages similaires.
Cette documentation m’aide à planifier lorsqu’il y a un changement majeur qui nécessitera une interruption de service et/ou une intervention manuelle.
6. Une LTS n’a pas de changements majeurs incompatibles au sein d’un cycle de publication.
C’est peut-être le cas pour la branche stable, mais je suis trop habitué à appuyer sur le bouton de mise à jour et à voir le forum tomber en panne pour le savoir avec certitude. Je suppose que ce que je cherche ici, ce sont des avertissements plus clairs lors du passage d’une version à une autre qui casse quelque chose.
7. Une LTS fournit des avertissements de dépréciation d’API pour au moins un cycle de publication LTS complet.
Ceux-ci devraient être mesurés sur une période d’un an ou plus, par opposition à un mois ou plus.
8. Une LTS est planifiée / a des périodes de support qui se chevauchent.
Toute LTS majeure aura une période de support qui se chevauche entre deux versions LTS. La branche stable semble simplement basculer de manière binaire vers la version suivante. (Mon impression peut également être erronée du fait qu’il n’y a pas de page de documentation centrale)
9. Il est simple de passer d’une version non-LTS à une LTS.
Il n’est pas nécessaire de prendre en charge le retour en arrière, mais lorsqu’une LTS est disponible, il n’est pas clair comment passer proprement d’une branche à une LTS. Il semble y avoir quelques publications sur le forum à ce sujet, mais là encore, aucune documentation centralisée que j’ai pu trouver.
Je suis un fan de Discourse, mais c’est un point de douleur courant que je rencontre et que beaucoup d’autres personnes rencontrent. Ce qu’est la branche stable actuellement n’est qu’une branche, pas une LTS.