Pour cela, j'ai commencé, car c'était le plus simple et le plus rapide, par étudier le journal des modifications effectuées sur le dépôt subversion qui contient ce qui deviendra peut être un jour la prochaine version majeure de PHP, aka le trunk.
J'ai donc récupéré dans un fichier au format texte l'intégralité des événements survenus sur le trunk depuis le 23 mars 2010, date de sa création suite à l'abandon du développement de PHP 6.
J'ai ensuite passé ce fichier à un script PHP fait maison, afin d'en extraire quelques statistiques, et je dois dire que j'ai été assez surpris du résultat.
J'ai ainsi découvert qu'il y avait eu 51 personnes qui ont travaillé sur le trunk jusqu'à aujourd'hui et qu'elles ont modifié le code du langage 1732 fois.
J'avoue avoir été surpris en ce qui concerne le nombre de contributeurs, car je m'attendais à un chiffre beaucoup plus réduit de l'ordre de la dizaine à peine, et que de plus, je pensais que le nombre de modifications était beaucoup plus important.
Cependant, en poussant un peu plus loin mes calculs, j'ai compris la raison pour laquelle j'avais sous-estimé le nombre de contributeurs.
En effet, dans le cadre de ma veille, j'analyse attentivement le travail effectué sur le trunk, et en conséquence, j'ai en mémoire le nom des principaux contributeurs.
Et il se trouve que 7 contributeurs sur 51, soit 13% du total, ont cumulés à eux seuls 65% des modifications depuis le 23 mars 2010.
De plus, 33 contributeurs, soit 35% du total, ont participé pour moins de 1% au développement.
Il est donc parfaitement logique que j'ai totalement sous-estimé le nombre réel de contributeurs.
Je précise immédiatement que je ne produirais pas de palmarès nominatifs, car je pense que cela ne serait pas forcément une bonne chose, pour tout un tas de raison.
Cependant, je peux vous dire que parmi le top 10 des contributeurs, il n'y a aucun développeur historique du langage.
Je peux également vous dire que parmi ces fameux 65%, il n'y a aucun membre du clan traditionaliste
, ce qui vérifie encore une fois l'adage il y a ceux qui font, et ceux qui font chier
.
D'ailleurs, bizarrement, parmi le top 10, il n'y a que des membres du clan progressiste et des personnalités neutres.
Enfin, j'ai dis que je ne donnerais pas de nom, mais j'ai menti.
De par le fait qu'il soit le créateur de PHP, Dieu Rasmus Lerdorf tient une place particulière au sein de la communauté.
En effet, il n'en est pas le leader, mais il s'exprime régulièrement, notamment sur les sujets qui lui tienne à cœur, et il arrive parfois qu'il fasse preuve d'autorité pour calmer les débats, même si cela est exceptionnel.
Et bien Dieu Rasmus Lerdorf arrive en 19ème position avec (coïncidence) 19 modifications, soit environs 1.1% du total.
Aujourd'hui, grâce à cette analyse, j'ai donc une vision plus claire de la communauté et de sa hiérarchie
, en terme de productivité
, mais cela n'a fait que confirmer une impression que j'avais déjà depuis quelque temps, à savoir qu'il y a très peu de contributeurs réellement actifs.
De plus, j'ai eu la confirmation que ceux qui en font le plus ne sont pas ceux qui s'exprime le plus sur internals@ ou qui résiste au changement, même si pour l'instant, ce n'est encore qu'une impression purement subjective car je n'ai pas encore croisé mes résultats avec les éventuels statistiques que je pourrais extraire de la liste de diffusion.
9 réactions
1 De phpFriendly - 23/03/2011, 14:36
Je me posais une question est ce que la quantité de modification représente uniquement les commits effectués ou réellement le code impacté ?
Car l'on peut commiter 1000 fois 1 commentaire mais on ne peut pas commiter 1 fois 1000 commentaires ! Oups je m’égare
Non sérieusement je ne suis pas sur que le nombres de commit puisses représenté vraiment le travaille fournit.
2 De mageekguy - 23/03/2011, 14:39
@phpFriendly : En l'occurrence, c'est relativement représentatif.
Je pourrais pondérer par le volume de fichier modifié, voir même le nombre de lignes ajoutées/modifiées/supprimées, mais ça ne changerait pas grand chose.
Les développeurs de PHP travaillant sur leur temps libre, je les vois mal perdre leur temps à faire des modifications inutiles juste pour le plaisir de faire un +1 sur leur nombre de commits.
Il arrive bien qu'il y ait des modifications visant à corriger des erreurs typographiques, mais c'est très ponctuel et en général en relation avec un travail plus
.Dans le contexte, il est légitime de penser que ceux qui commit travaille, tout simplement, indépendamment de toute notion de qualité.
3 De Amaury - 23/03/2011, 16:43
D'un autre côté, on peut se dire que les "traditionalistes" (comme tu les appelles) étant les gardiens de la rétro-compatibilité et/ou les gardes-fous contre ceux qui voudraient faire de PHP une usine à gaz inutilement compliquée, il est normal qu'ils ne fassent pas des ajouts sans arrêt.
De la même manière, Rasmus a un impact sur les développements de PHP qui dépasse largement les modifications qu'il effectue directement. C'est implicite dans ton article, mais ça mérite d'être souligné.
Il serait intéressant de faire la même analyse, mais en séparant les commits de débug et les commits d'évolution. Pas évident à faire, mais ça donnerait sûrement une vision encore différente des choses.
4 De mageekguy - 23/03/2011, 16:52
@Amaury : On peut toujours faire dire ce que l'on veut aux statistiques ;), mais, indépendamment de tout ironie et dans l'absolu, les modifications relatives aux bugs étant relativement bien taggées dans les commentaires, il devrait être possible de faire une discrimination entre les corrections et les évolutions.
Mais intuitivement, vu la distribution des résultats, je suis quasiment certain que ça ne changera pas fondamentalement les résultats, vu qu'il semble logique que les plus gros contributeurs soient ceux qui ont corrigé le plus de bugs.
Par contre, le classement des 7 plus gros contributeurs pourrait être légèrement différent.
5 De Cyril pierre de geyer - 23/03/2011, 21:34
Merci fred, encore une fois un article sympa !
6 De sunseb - 24/03/2011, 01:03
Très intéressant ton billet ! Que penses-tu au fond du rôle joué par Dieu Rasmus Ledorf ? Pourquoi il ne s'implique pas davantage dans le développement de son bébé ?
7 De Amaury - 24/03/2011, 10:24
Ce serait intéressant que tu nous parles un jour du parcours effectué par les contributeurs pour avoir le droit d'accéder en écriture au dépôt SVN de PHP. Si tu as une idée de comment ça se passe, je suis curieux de savoir.
8 De Matthieu - 24/03/2011, 23:03
Et est-il envisageable que les dissensions entre ces deux "clans" aboutisse à un "fork" de PHP ? (cf. débat vis à vis du passage de SVN à Git)
Parce que pour moi, ça serait un tel bon en avant ! Garder PHP, le langage qui commence à dater, qui n'évolue plus trop, et qui se garde l'image d'un truc d'amateur pour pages web, et qu'on ai un PHP-Pro, qui reparte sur de bonnes bases, aille de l'avant, et tant pis si certains contributeurs tiennent tellement à ce que "PHP soit PHP et pas Java, Python, Ruby...." (comme tu l'as expliqué dans un précédent article).
Ton poisson d'avril de l'an dernier (i.e. Facebook crée un fork de PHP) était tellement crédible !
9 De Paul - 25/03/2011, 08:04
Mais du coup qui c'est qui tranche lors des débats ? Celui qui parle le plus fort ?
PS: c'est vrai qu'un fork serait grandement appréciable