Une galerie des possibles évolutions de #BuddyPress

Galerie de l’évolution - Jardin des plantes

Galerie de l’évolution – Jardin des plantes, photo de imath sur Unsplash

Cher blog personnel, ma dernière publication remonte à bien longtemps ! Jusqu’à présent, je me suis contenté de tenir ta copie de WordPress à jour et de répondre aux rares visiteur·se·s qui t’utilisent parfois pour me contacter. Pour ma défense, ma vie professionnelle a sensiblement évolué : depuis 2 ans je suis « responsable » d’une équipe et le management de femmes et d’hommes dans la vraie vie est certes passionnant mais aussi très prenant (surtout au début).

Toutefois, ce silence ne signifie pas l’abandon de mon hobby : la contribution à WordPress. J’ai simplement fortement réduit la voilure pour me concentrer sur le projet open source qui, selon moi, a le plus besoin de mon d’aide : BuddyPress, l’extension de WordPress qui ajoute des fonctionnalités communautaires à la plateforme de publication la plus utilisée sur Internet.

Et justement, à ce propos, j’ai pensé que tu pouvais, cher blog, m’aider à partager les évolutions que j’estime importantes à apporter à l’extension avec ses contributeur·rice·s, ses utilisateur·rice·s finaux·ales et les développeur·euse·s de thèmes ou d’extensions qui intègrent une dépendance à BuddyPress.

Un peu comme une jeune pousse essayerait d’obtenir des fonds d’investisseurs providentiels, mon objectif est de les sensibiliser sur la nécessité d’investir une partie de leur temps libre et de leur surplus d’énergie pour s’engager à contribuer à ce projet open source.

Vous êtes tou·te·s fortement invité·e·s à contribuer à BuddyPress

Un projet open source comme BuddyPress est maintenu par une équipe de volontaires plus ou moins réguliers. À la différence des logiciels payants qui peuvent rémunérer des développeur·euse·s, des opérateur·rice·s de support, des traducteur·rice·s ou encore des rédacteur·rice·s de documentation, ce sont ces volontaires qui remplissent ces différents rôles, bénévolement, pour assurer la maintenance du projet BuddyPress.

En tant que « lead developer » de cette extension, je suis l’un d’entre eux, bien entendu. Mon influence sur le code source de BuddyPress est simplement plus directe en raison de mon pouvoir « d’écriture sur / d’administration de » ses dépôts SVN et Git. Cette position me pousse également à énormément participer à l’animation des cycles de développement du projet ainsi qu’à la communication des actualités de l’extension sur son site officiel et son blog d’information traitant plus particulièrement de l’évolution de son code source. Après quelques semaines à occuper le rôle, j’ai très vite compris que, pour bien le remplir, il était important de d’abord penser à la continuité de la subsistance maintenance du projet et d’agir en sa faveur.

Evolution du nombre de contributeurs depuis la première version majeure de BuddyPress

Le graphique ci-dessus montre l’évolution du nombre de contributeur·rice·s aux versions majeures de BuddyPress. La ligne étoilée précise le nombre de contributeur·rice·s moyen au fil de ces versions : elle s’établit à 47 contributeur·rice·s. La toute première version de BuddyPress tire cette moyenne vers le haut de 5 unités. Depuis la version 6.0, nous avons modifié notre manière de compter les contributions : nous prenons en compte le travail de traduction de l’extension effectué depuis la plateforme de traduction de WordPress, et les auteurs des tickets SVN ou d’issues GitHub partagés sur nos dépôts. L’avantage de cette pratique est d’encourager les utilisateur·rice·s avancé·e·s à signaler des anomalies ou à traduire l’extension et de reconnaître leurs apports. Pour réellement comparer l’effort contributif entre la version 10.0 et la version 3.0 par exemple, il s’agit de ne prendre en compte que les auteur·e·s de patches convertis en modifications de code source, c’est à dire 12 personnes pour la 10.0 contre 57 pour la 3.0.

Cette diminution de l’effort contributif, l’équipe le constate également lors de la publication des pré-versions. C’est un moment hyper important pour nous puisqu’il s’agit de nous assurer que nos travaux sur une version majeure n’ont pas généré de régression par rapport aux configurations de nos utilisateur·rice·s finaux·ales. Durant ces périodes dédiées aux bêta-tests, nous avons de moins en moins (pour ne pas dire aucun) de signalements et ce malgré avoir rendu disponible une extension permettant de simplifier la participation des utilisateur·rice·s.

Il est impératif d’inverser la tendance

  • C’est pourquoi il m’arrive assez fréquemment de demander aux rappoteur·euse·s d’anomalies de proposer des patches pour partager leur correctif et amorcer un engagement plus fort dans leur participation au maintien durable de l’extension.
  • C’est pourquoi nous avons intégré l’environnement de développement @wp/env à la version de développement de l’extension.
  • C’est pourquoi nous avons mis en place une passerelle entre nos dépôts SVN et GitHub en vue d’encourager la contribution via des « Pull Requests ».

Rappelons-nous qu’à la différence des logiciels payants qui peuvent mettre à contribution l’argent que leurs utilisateur·rice·s leur fournissent afin d’améliorer leur code, leur support, leur documentation, leur traduction, etc., BuddyPress – projet libre et gratuit – a quant à lui besoin de l’énergie et du temps d’une partie de ses utilisateur·rice·s pour faire plus que signaler des améliorations potentielles ou des anomalies : il s’agit de contribuer ou de faire contribuer à leur concrétisation ou à leur résolution.

Si nous sommes trop peu d’utilisateur·rice·s à nous engager, nous risquons de ne plus être en mesure d’assurer le maintien des services offerts par BuddyPress de manière pérenne auprès de l’ensemble des utilisateur·rice·s. Impensable.

0,02% pour le futur !

Si WordPress suggère que 5% des ressources des organisations devraient être dédiées à l’investissement contributif, je pense que si sur les 200 000 installations actives de l’extension, 0,02% des utilisateur·rice·s l’ayant activé réservaient quelques heures par semaine de leur temps libre sur ces domaines de contribution, nous garantirions à l’ensemble un maintien de l’extension dans la durée.

Page de BuddyPress sur le répertoire des extensions de WordPress.org

Ce niveau de contribution me paraît tout à fait atteignable, il correspond à 42 personnes en moyenne, nombre que nous avons atteint 1 fois sur 2 dans l’histoire des versions majeures de BuddyPress.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : la documentation de BuddyPress serait à jour.

Si j’ai naturellement tendance à considérer le verre à moitié rempli, le dernier appel à la contribution que l’équipe du projet a lancé au sujet de la révision de fond en comble de la documentation de l’extension a suscité tellement peu d’enthousiasme que ce verre m’apparaît aujourd’hui bien vide. Avec David et Varun, nous avons essayé de porter à bout de bras l’effort requis pour améliorer cette documentation avant que notre motivation, devant le désert contributif, ne s’étiole progressivement. J’avais même mis sur pied un site avec les extensions et le thème du site documentaire de WordPress pour préparer la migration de notre codex.

Nous ne renonçons cependant pas à cette nécessaire évolution de notre documentation et espérons pouvoir obtenir de l’aide pour progresser significativement sur ce sujet.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : BuddyPress serait en passe d’utiliser l’API de réécriture des URL de WordPress pour gérer ses liens permanents.

Il s’agit d’un besoin fondamental pour BuddyPress sur lequel nous essayons de progresser depuis 9 ans. Remplacer la manière dont BuddyPress génère et interprète ses URL par celle utilisée par WordPress nous procurera à toutes et tous des bénéfices importants :

  • pour les utilisateur·rice·s finaux·ales :
    • l’extension pourra être utilisée avec le réglage par défaut des liens permanents de WordPress
    • toutes les URLs de BuddyPress pourront être personnalisées, ce qui pour les sites s’adressant à des utilisateur·rice·s localisé·e·s dans des pays dont la langue n’est pas l’anglais sera très appréciable.
  • pour les développeur·se·s d’extensions ou de thèmes BuddyPress : la génération et l’interprétation des URL BuddyPress gagnera en rapidité, en fiabilité, en extensibilité et surtout deviendra complètement conforme avec les meilleures pratiques en matière de développement WordPress.

Plutôt que de brutalement intégrer ce changement dans le cœur de BuddyPress, nous avons choisi de le rendre disponible dans l’extension « BP Rewrites ». Ce faisant, nous espérons progressivement influencer les développeur·se·s d’extensions ou de thèmes BuddyPress pour qu’ils·elles mettent à jour leur code car nous souhaitons préserver l’expérience des utilisateur·rice·s finaux·ales d’incompatibilités potentielles.

Page de BP Rewrites sur le répertoire des extensions de WordPress.org

Rappelons-nous que l’intérêt de toutes et tous nécessite un plus fort investissement de certaines et certains. Or avec 20 installations actives, nous ne pouvons pas être assuré·e·s que la majorité des extensions dépendant de BuddyPress se comportent sans régression suite à l’intégration de ce changement majeur dans le cœur de BuddyPress. Nous avons a minima besoin de vérifier que 1000 installations actives se comportent sans anomalies.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : des media pourraient être prochainement générés par les membres de votre communauté.

Comment se fait-il qu’une extension visant à ajouter des fonctionnalités communautaires à WordPress ne propose toujours pas un composant de partage de media ?

Un reproche récurrent exprimé par une partie de nos utilisateur·rice·s.

Nous y travaillons et essaierons de franchir une première étape dans ce domaine à l’occasion de la prochaine version majeure de l’extension (la 11.0.0). Évidemment, nous irions beaucoup plus vite si une partie plus importante des utilisateur·rice·s (les 0,02%) s’engageait et contribuait à la construction de ce composant.

Capture d’écran de la page d’administration des media communautaires

Ce composant sera publié dans un « Add-on » de BuddyPress (une extension exclusivement dépendante de WordPress et de BuddyPress) pour laisser le choix aux utilisateur·rice·s de continuer à utiliser les très bonnes extensions qui ont comblé ce manque depuis des années s’ils·elles le préfèrent.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : nous pourrions rapidement profiter d’un formulaire d’ajout d’activités reposant sur l’API des blocs de WordPress.

Imaginez le territoire des possibles !

Nous pourrions profiter de cette API pour permettre d’ajouter des blocs gérant l’intégration de media, de sondages, de liens, …, et le tout d’une manière standardisée.

Capture d’écran d’un prototype de formulaire d’ajout d’activités

Nous pourrions enrichir le fonctionnement du composant des activités en permettant par exemple de planifier des publications tout comme c’est possible de le faire avec les articles de blog de WordPress.

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s : nous oserions finalement nous lancer dans la création d’un thème BuddyPress utilisant des gabarits de bloc.

L’édition complète des sites WordPress devient progressivement possible depuis la version 5.9 de la plateforme de publication sur internet. Cette fonctionnalité portée par le projet Gutenberg vous permet de personnaliser l’apparence de la plupart des zones frontales de votre site lorsque vous utilisez un thème compatible.

Dans la version 10.0.0, nous avons ajouté le support de cette nouvelle « espèce » de thèmes en nous assurant de présenter vos contenus communautaires de la même manière qu’avec les thèmes classiques de WordPress.

Et si, demain, cette possibilité de personnalisation de l’apparence se propageait jusque dans les zones frontales de votre site que BuddyPress dédie à votre communauté ?

Avec 0,02% des utilisateur·rice·s également contributeur·rice·s… À nous tout·e·s de participer à la construction des prochaines fonctionnalités et au maintien des existantes !

Si certain·e·s des utilisateur·rice·s de BuddyPress sont initimidé·e·s par un saut dans l’univers de la contribution open source – car j’imagine que nous sommes tou·te·s convaincu·e·s de l’intérêt de contribuer puisque c’est ce qui nous assure du maintien durable de l’extension que nous utilisons pour gérer notre communauté sous WordPress – je les invite à lire cet article que j’avais publié en décembre 2017. Ils·elles pourront y découvrir ce qu’ils·elles peuvent apporter et ce qu’ils·elles peuvent apprendre de leur engagement. 

Vous êtes tou·te·s bienvenu·e·s dans la tribu de contribution à BuddyPress, un projet libre, humain et ouvert.

Vous aurez simplement besoin de créer un compte sur WordPress.org, de l’associer au Slack de la communauté WordPress et de rejoindre le canal #BuddyPress un mercredi soir sur 2 pour discuter avec l’équipe lors de nos réunions de développement. D’ailleurs la prochaine est dans quelques heures.

À très bientôt !

Laisser un commentaire

Restez informé·e des évolutions de la discussion en vous abonnant à son flux : Flux RSS des commentaires

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.