Il faut dire qu'ils ont commis une erreur difficilement pardonnable, puisque le bug à l'origine de PHP 5.3.8 aurait pu facilement être corrigé avant la sortie de la version 5.3.7 si seulement l'un des contributeurs s'étaient donné la peine de vérifier les tests unitaires, et du coup, les critiques souvent négatives et peu constructives, ont fusées de toute part.
En effet, la grande majorité des remarques que j'ai pu lire n'ont fait que poser un constat et enfoncer des portes ouvertes, car il n'a pas été tenu compte par leurs auteur des dernières évolutions dans le processus de développement du langage depuis la mort de PHP 6.
De plus, ces gens n'ont pas cherché à savoir ce qui était fait ou ce qui allait être fait pour que ce genre d'erreurs ne se reproduise pas.
Enfin, ils ont oublié que les développeurs de PHP sont les premiers à avoir conscience de leurs erreurs, et qu'ils étaient déjà suffisamment honteux pour qu'il n'y ait pas besoin d'en rajouter.
Je pourrais également ajouter que l'erreur est humaine, qu'il n'y a que ceux qui ne font rien qui ne font pas de conneries et que la critique n'est utile que si elle est constructive, mais ce n'est pas l'objet de ce billet, et d'ailleurs, cela a déjà été dit.
Et pourtant, ceux qui me connaissent et suivent ce blog depuis sa création savent que je suis loin d'être un fan inconditionnel de PHP et de la façon dont son développement est géré, du moins jusqu'à il y a quelques mois.
Car depuis un peu plus d'un an, les choses ont énormément évoluées.
En effet, au risque de me répéter, le développement de PHP s'est structuré de plus en plus, les décisions stratégiques sont prises publiquement et démocratiquement et la communauté des utilisateurs commence à être écouté.
J'ajouterais que le développement de PHP, après avoir été quasiment au point mort pendant longtemps, s'est beaucoup accéléré et que la prochaine version du langage, aka PHP 5.4 apporte plusieurs nouvelles fonctionnalités significatives.
De plus, l'infrastructure technique de la communauté évolue, puisque le principe de la migration vers Git vient d'être validé par la communauté et que les serveurs nécessaires à la mise en place d'un processus d'intégration continue plus efficace est en cours.
D'ailleurs, c'est à cause du problème rencontré avec PHP 5.3.7 que l'intégration continue de PHP va être amélioré, et ce problème a également provoqué un nettoyage en profondeur des tests unitaires.
La sortie de la version béta de PHP 5.4, initialement prévue pour le 01/09/2011, a de plus été reporté, tout d'abord à aujourd'hui puis à nouveau d'une semaine afin que les tests unitaires correspondant passent dans leur intégralité.
Si tout cela n'avait pas existé, si le développement de PHP n'était pas en pleine mutation depuis presque deux ans, entre autre pour remédier aux problèmes mis en lumières par la plupart des critiques, j'aurais pu comprendre le lynchage subséquent au fiasco de PHP 5.3.7, et peut être même y participer.
Cependant, même si j'aimerais que les choses aillent encore plus loin et plus vite, en l'état actuel des choses, je préfère largement encourager les développeurs de PHP à poursuivre leurs efforts pour que le langage s'améliore de plus en plus, aussi bien au niveau de son processus de développement que fonctionnellement.
9 réactions
1 De sexyprout - 08/09/2011, 23:21
Je voudrais juste dire deux choses :
- Ce qu'on fait les devs est clairement impardonnable, y'a même pas besoin d'essayer de chercher des excuses. Autant pas faire de tests unitaires du tout.
- De l'autre côté, l'argument de la sécurité est plutôt faible, étant donné qu'on parle quand même de MD5.
2 De mageekguy - 08/09/2011, 23:22
@sexyprout : Je ne nie pas l'aspect impardonnable, et eux non plus, d'ailleurs.
Et j'ajouterais que ceux qui mette en production une nouvelle version en production sans l'avoir testé auparavant, donc sans avoir à minima exécuté
make test
sont tout aussi impardonnables.3 De Benjamin - 09/09/2011, 01:29
J'ai l'impression que le lynchage a plus été la conséquence du comportement de l'équipe (un tout petit peu plus qu'élitiste) : au final, ils font les malins mais ils font les mêmes conneries que nous.
Parce que l'impact a été assez faible au final : il ne s'est passé que 4 jours dont 2 ouvrés entre l'annonce de la release et l'annonce de l'avertissement (sans compter les 12 milliards de tweets sur le sujet), j'ai donc du mal à croire que beaucoup d'hébergeurs aient du revenir en arrière.
Par contre, je me dis que les devs ont intérêt à être ultra-qualitatifs pour les prochains mois, sinon on risque tous de finir par avoir envie d'aller voir ailleurs...
4 De Tharkun - 09/09/2011, 07:42
La plupart des développements communautaires se structurent au fur et à mesure de leurs erreurs. Il est assez rare que tout soit mis en place dès le début.
Il est clairement dommage qu'une telle erreur soit apparue tout le monde en convient. Suivant la liste internals de PHP, je peux largement confirmer les dire de mageekguy.
La version 5.4 beta vient d'être reportée une deuxième fois d'une semaine pour permettre la suppression des erreurs dans les tests unitaires.
Et franchement l'argument de mettre à jour la version de PHP alors qu'elle vient de sortir ya deux jours, je ne connais aucune entreprise qui le fera sans de sérieux tests.
Il y a bien souvent un décalage dans le temps pour les mises à jour.
5 De Francis - 09/09/2011, 08:38
Joli billet mais joli tweet aussi: http://twitter.com/mageekguy/status...
6 De mageekguy - 09/09/2011, 08:56
@Francis : Et ?
Je ne donne qu'un qu'un fait, sans faire plus de commentaires.
7 De Mère Teresa - 09/09/2011, 09:14
"La plupart des développements communautaires se structurent au fur et à mesure de leurs erreurs. Il est assez rare que tout soit mis en place dès le début."
--> certes mais est-ce le début pour les dévs PHP ?
8 De mageekguy - 09/09/2011, 09:18
@Mère Teresa : Non, et c'est justement le problème.
Une fois les (mauvaises) habitudes prisent, il est très difficile de les faire évoluer, surtout pour un projet de cette importance, d'autant qu'en plus, l'intégration de nouveaux contributeurs capable de faire bouger les choses n'est pas une chose évidente et qu'il n'y a pas réellement de leader.
La mise en œuvre de nouveaux outils et de méthodologie différentes demande donc de la pédagogie et du temps.
Et je ne parle même pas des problèmes posés par les fuseaux horaires, la mauvaise communication, les égos hypertrophiés, les différences de niveau technique au sein de la communauté, j'en passe et des meilleurs.
Pour preuve, il aura tout de même fallu l'électrochoc
pour que les choses commencent à vraiment bouger...9 De mageekguy - 09/09/2011, 14:18
@haypo : J'ai franchement hésité avant de ne pas publier ton commentaire.
La raison de mon refus de publication est que ton commentaire ressemble bien trop au bashing dénoncé dans ce billet.
Tu y donnes en effet des informations valides, mais j'en disposais déjà, et c'est sciemment que j'ai décidé de ne pas les inclure dans le billet afin de ne pas relancer les discussions stériles et surtout stupide.
Tu comprendras donc, je l'espère, que je ne peux pas diffuser ton commentaire.
Si tu veux basher PHP et encenser une autre technologie, libre à toi, mais ne te sert pas du blog des autres pour le faire ou le relayer, et surtout, ne le fait pas dans le cadre d'un billet qui a pour but de lutter précisément contre ce bashing.