- Wasm-bindgen, qu'est-ce que c'est ?
- Changer la langue d'affichage dans Blender, comment et pourquoi ?
Après une étude de l’attractivité de Zeste de Savoir du coté des auteurs de contenus (ici et là), je suis de retour pour étudier cette fois-ci l’attractivité de la plateforme technique de Zeste de Savoir.
Vous le savez certainement, la plateforme technique de ZdS est gérée par une équipe dont le rôle est de mettre en place des solutions techniques attendues par la communauté de Zeste de Savoir.
Aujourd’hui ce qui va nous intéresser, c’est de savoir si le code source du site attire du monde (devs back, devs front, admin sys, testeurs, etc.). On ne cherchera donc pas à savoir s’il "peut" attirer du monde, mais s’il attire réellement. On reste donc dans les faits.
- Les contributeurs au code source
- La productivité des contributeurs
- Le turn over des nouveaux contributeurs
- Quel est le comportement adopté par les nouveaux contributeurs ?
- La fidélisation des contributeurs
- La plateforme intéresse t-elle les hébergeurs ? pourquoi ?
Les contributeurs au code source
Le langage de développement principal de la plateforme ZdS est le langage python. Il constitue ~69.6% des lignes de code de dépôt zds-site. Il apparaît donc évident que pour développer pour ZdS en tant que développeur back-end, il faut savoir utiliser python (et le framework Django).
Ce langage a été choisi à l’origine pour sa simplicité et l’objectif a toujours été de faciliter l’arrivée de nouveaux contributeurs dans le projet, afin d’en faire non seulement un projet opensource, mais aussi communautaire. Nous allons essayez de savoir si ces attentes ont été satisfaites.
Parmi les contributeurs, on constate que depuis le début de l’histoire de ZdS, 31 contributeurs se sont impliqués un minimum 1 dans le développement de ZdS.
Voici un histogramme qui montre le nombre de contributeurs sur le dépôt git de Zeste de Savoir par année, et par mois. On comptabilise ici tous ceux qui ont fait un commit dans la période sélectionnée.
On remarque plusieurs choses ici :
- Le projet technique tourne entre 36 et 44 contributeurs par an 2 (le record de contributeurs a été enregistré en 2016)
- Nous avons subi un record de contributeurs (24) durant le mois de Juillet 2014. Si on s’y intéresse de plus près on voit qu’il s’agit du mois de lancement du site Zeste de Savoir. C’était un période assez intense ou la communauté était en pleine effervescence.
-
Un pic irrégulier en novembre 2016 : en plein milieu d’une période un peu difficile, on remarque un pic de contributeurs en novembre 2016. En creusant les choses on peut noter que cela coïncide avec des événements majeurs tels que :
- une prise de parole publique alarmante d’Andr0 le 16 octobre, suivi d’un lancement de recrutement dans l’équipe technique le 24 octobre,
- l’annonce du changement de la direction technique du site le 29 octobre,
- un appel de test des tribunes le 1er novembre
- l’abandon du principe des ZEP le 30 novembre,
- il y a certainement d’autres événements qui ont permis cela
Au moment de la rédaction de ce billet, les 10 plus gros3 contributeurs à la plateforme sont les suivants :
La productivité des contributeurs
Avoir beaucoup de contributeurs c’est bien, mais des contributeurs qui produisent c’est encore mieux.
Ci-dessous un histogramme qui représente le nombre de commits par an sur le dépôt zds-site.
On constate une grosse baisse de productivité entre 2015 et 2016.
Le turn over des nouveaux contributeurs
Une question qui me taraudait pendant cette étude, était de savoir quand est-ce qu’arrivent de nouveaux contributeurs ? Combien sont attirés par le développement du site ? Est-ce que cet effectif reste stable ? Et surtout, quand et pourquoi décident-il de partir ?
Les histogrammes ci-dessous représentent le nombre de contributeurs qui arrivent (en bleu) par mois ou par année et le nombre de contributeurs qui partent (en orange) par mois ou par année.
Comment tu sais qu’un contributeur est parti ?
Il suffit d’identifier à quel moment un contributeur arrête de committer sur le dépôt.
En observant bien les choses, on peut en conclure que :
- Depuis 2016, on perd plus de contributeurs qu’on en gagne. Heureusement que l’année 2014 nous a ramené beaucoup de nouveaux contributeurs
- Les nouveaux contributeurs provenant de l’ouverture du site n’ont pas pu être fidélisés, ils n’ont pas pu être convertis en contributeurs réguliers.
- Depuis décembre 2017, les nouveaux contributeurs se font très rares.
Quel est le comportement adopté par les nouveaux contributeurs ?
Dans le développement logiciel, on distingue précisément deux catégories de ticket :
- Les correctifs de bug : une tache que l’on pourrait qualifier d’ingrate, car on corrige des problèmes qui viennent du code écrit par quelqu’un d’autre.
- Les ajouts de fonctionnalités : rajouter des nouvelles choses dans le code a très souvent un impact directement visible auprès des utilisateurs
Dans cette étude, j’ai essayé de comprendre, dans quelle catégorie rentre les nouveaux contributeurs. Autrement dit, on va s’intéresser aux premiers commits que fait un contributeur quand il arrive. On va donc calculer la différence entre les lignes ajoutées et les lignes supprimées par un contributeur pour savoir si les contributeurs sont attirés par la correction de bugs ou par l’ajout de fonctionnalité.
Les hypothèses sur lesquelles je me base sont loin d’être les plus intéressantes, mais par souci de simplicité, on va considérer que si un contributeur dans le mois, fait plus d’ajout de lignes que de suppression, et que la différence de lignes est supérieure au nombre de lignes supprimées, il s’agit d’une nouvelle fonctionnalité. Sinon, on parlera de correction de bug ou de refactoring.
Partant de là, on obtient le camembert suivant qui représente la répartition des membres qui rentre sur le projet.
Comme on peut l’observer, les nouveaux contributeurs commencent principalement par de la correction de bug ou encore du refactoring.
La fidélisation des contributeurs
Un contributeur fidèle est un contributeur qui, lorsqu’il commence à contribuer, continue pendant un bon moment. Je me suis donc intéressé à la durée de contribution sur zds-site.
On obtient l’histogramme suivant qui montre, pour chaque contributeur, la durée (en nombre de mois) entre son premier et son dernier commit.
On constate que :
- Le tiers des contributeurs ne contribuent que ponctuellement (une journée)
- Il y a tout de même un gros vivier de contributeurs qui se sont investis longtemps sur le projet. C’est donc autant de membres qui connaissent plus ou moins bien le code de Zeste de Savoir.
Il faudrait sonder les contributeurs pour essayer de savoir pourquoi ils ont arrêtés les contributions.
La plateforme intéresse t-elle les hébergeurs ? pourquoi ?
Il y en a qui sont déjà allé plus loin qu’une simple déclaration d’intention en installant la plateforme ZdS pour une utilisation personnelle.
DansTonCube
Il s’agit d'un vieux fork (il date de 2015) du code source du projet zds-site. L’idée était de faire vivre une communauté Minecraft en leur proposant au travers de zds-site des outils communautaire (forums, espace de rédaction, etc.). Le fork avait été réalisé par un membre de l’équipe technique à l’époque @gustavi.
Malheureusement ce projet est mort suite à un manque de motivation dans leurs équipe. Cependant les retours d’expérience sont toujours intéressants. Les problèmes qui avaient été relevés à l’époque pouvaient être regroupé dans les catégories suivantes:
- Flexibilité du front : la variabilisation et l’organisation a été revue depuis, ça reste perfectible, mais l’équipe technique a fait un gros travail dessus
- La documentation : elle a été améliorée depuis le temps. Cependant, la documentation du front reste toujours problématique puisqu’elle est toujours inexistante.
Bref, c’était le premier vrai fork de la plateforme technique.
Une tentative de ZdS en Kirundi ?
Le code source du site est pensé pour être utilisé dans une autre langue que le Français. C’est ainsi qu’un membre de Zeste de Savoir s’est renseigné dans l’objectif de déployé la plateforme technique pour l’utiliser dans sa langue maternelle le Kirundi. Cette histoire date de 2017.
La tentative semble avoir échouée suite à un double problème de compétence de l’hébergeur ainsi qu’un problème de documentation du coté de ZdS.
On constate donc qu’aujourd’hui le code source du site est surtout utilisé par l’association Zeste de Savoir. Peut-être qu’un jour le projet sera utilisé sérieusement ailleurs, mais ce n’est pas encore le cas.
Voilà, c’est tout pour cette étude. On pourrait encore creuser plus (quel est le background des contributeurs ? Comment en sont-il arrivés à contribuer ? Qu’est-ce qui les attirent ?), mais je préfère m’arrêter là pour le moment.
On a pu, en analysant principalement le dépôt git du site, constater un certain nombre de choses. On pourrait s’appuyer dessus pour améliorer l’attractivité de la technique de Zeste de Savoir.
Et vous, qu’est-ce qui vous a motivé au départ à contribuer à la technique de Zeste de Savoir ? Et pourquoi avez-vous abandonné ? Pour ceux qui n’ont jamais tenté l’expérience, qu’est-ce qui fait que vous ne vous êtes jamais lancé ?
Merci à tous de m’avoir lu.