CakePHP n'est pas mort !
Résumé des récents mouvements au sein de la communauté.

Le , par RideKick, Rédacteur
CakePHP n'est pas mort !

Vous n’avez pas pû passer à côté des tweets et articles de blogs à propos des récents mouvements au sein de la communauté CakePHP … si c’est le cas, il est temps de vous rattraper !
En quelques mots, le projet développé en secret et publié sous le nom initial de “Cake3″ (ce qui a été source de mésententes au sein de l’équipe) a donné lieu à un nouveau framework dont le site à ouvert récemment : Lithium. Ce n’est pas à proprement parler un fork de CakePHP au niveau code, vu que tout a été ré-écrit de zéro … mais les contributeurs sont communs ! J’ai pu voir des questions d’utilisateurs ayant peur de la fin de CakePHP, et cela me fait plutôt sourire : un si gros projet ne s’arrêtera pas si facilement surtout vu le nombre d’utilisateurs actuels, la volonté de ceux-ci et les contributeurs qui pensent plus que jamais au futur.
Je vous propose donc un petit résumé des évènements, afin de montrer en quoi cette séparation permettra à CakePHP de repartir de plus belle dans son développement.

Rapide historique

CakePHP a été créé en Mai 2005 par Michal Tatarynowicz qui a rapidement quitté le projet par manque de confiance en celui-ci ! C’est donc Larry Masters, qui était parti dans l’aventure avec Michal qui reprend la direction du projet. Rapidement, il est rejoint par Garrett Woodworth (aka gwoo) et Nate Abele.
En 2008, afin de se consacrer à sa société CakeDC et afin de différencier clairement l’aspect open source / business Larry Masters prend du recul pour ne redevenir “que” contributeur. Nate et Garrett deviennent alors respectivement lead developer et project manager de CakePHP, la version 1.2 du framework est en cours de développement.
Un an plus tard (en Juillet 2009), un projet tenu secret est annoncé lors du 3ème Cakefest : un code expérimental nommé Cake3, réécriture complète du framework afin de tester l’intégration de nouvelles fonctionnalités apportées par PHP5.3. C’est au mois d’Octobre que Garrett annoncera qu’il quitte la fondation, suivi de quelques jours par Nate le lendemain de la ZendCon où il représentait le projet CakePHP. Tous deux annoncent le projet Lithium, dont le site a ouvert le 29 Octobre : http://li3.rad-dev.org/.
C’est donc Larry Masters qui reprend la tête de la fondation et la supervision de la roadmap du projet, comme durant les 3 premières années de CakePHP. De plus il n’y a aucun changement au niveau des versions en cours de développement ! Mark Story continue à faire de magnifiques choses pour la version 1.3 de CakePHP, et Graham Weldon (aka Predominant) reste responsable (avec Larry) du développement de CakePHP2.0 (version full PHP5 du framework).
De nombreux autres contributeurs ont intégré l’équipe au fil des années, et au jour d’aujourd’hui (4 ans plus tard) 30 contributeurs ont défilé au sein de la core team ! Ce n’est donc pas une première dans la vie du projet, ni dans la vie d’un projet open source.

Que s’est-il passé ?

Je ne vais pas entrer dans les détails, mais il faut simplement savoir que le code de Cake3 (Lithium) a initialement été développé par Nate Abele en secret, alors qu’il était lead developer de CakePHP. Il a ensuite ouvert son projet à d’autres membres de la core team, toujours sans en informer le reste de l’équipe. Ce n’est qu’à quelques semaines de Cakefest #3 que toute l’équipe de développement a eu vent de ce projet.
Ensuite, c’est une histoire de communication : le projet a été annoncé (à tort et de manière maladroite) comme le futur de CakePHP, alors que celà n’était vu par l’équipe que comme un projet expérimental. A partir de ce moment, le fork était la meilleure solution pour les deux parties.
Du côté de Lithium, il y avait de grandes espérances sur le framework et des idées en totale rupture avec le framework CakePHP actuel (réécriture totale du code notamment, avec un remaniement de toute l’API, l’organisation des fichiers …). De plus le projet s’adresse principalement aux développeurs “à la pointe de la technologie”, en utilisant au maximum les fonctionnalités apportées par PHP 5.3.
Du côté de CakePHP, ce code s’éloignait trop de la base actuelle et la possibilité de backporter du code de l’un à l’autre diminuait jour après jour. De plus, du très bon travail était déjà en cours sur les versions 1.3 et 2.0 … qui seraient rendues caduques avec ce nouveau code. Enfin, CakePHP a également une très grande communauté d’utilisateurs qui utilisent le framework dans un cadre professionnel, et se doit donc de diminuer au maximum les changements d’API entre chaque nouvelle version.
L’open source est heureusement où ce genre de conflits peuvent se résoudre “simplement” par la création d’un nouveau projet. Ainsi a été lancé Lithium, un nouveau projet qui vivra sa vie et a des contributeurs communs à ceux de CakePHP … mais qui au final n’est qu’un framework supplémentaire très inspiré par Rails

Qu’est-ce que cela change ?

RIEN … ou presque
Suite à cette annonce, de nombreuses personnes (souvent assez éloignées des réalités et trompées par les annonces) ont eu peur de voir la mort du framework qu’ils utilisent depuis plusieurs années. En effet, si l’on ne connait pas très bien le projet l’annonce des départs du “lead developer et project manager” du projet peut faire peur. Je n’irai pas jusqu’à dire que c’est une bonne chose, au contraire le travail réalisé par Nate et Garrett pour CakePHP depuis toutes ces années est tout simplement merveilleux … et c’est dommage de les voir quitter l’aventure. Néanmoins c’est comme je l’ai dit une bonne chose au vu de la tension qui s’était installé au sein de la core team.
Autrement (comme je l’ai expliqué plus haut), les équipes de développement des prochaines versions du projet restent exactement les mêmes ! Ces derniers mois, toutes les personnes qui sont désormais uniquement contributeurs de Lithium avaient arrêté de contribuer aux versions 1.x et 2.0 de CakePHP pour se focaliser sur Cake3. Cette semaine le code de CakePHP 1.3 a été taggué en version alpha et chacun peut voir les avancées qui ont été faites à ce niveau. D’autre part, les développements sur CakePHP 2.0 se sont accélérés depuis quelques semaines et une version de développement devrait être disponible avant la fin de l’année. C’est à mon sens la meilleure preuve de vie qu’un projet peut montrer ! C’est là aussi l’illustration de l’intérêt d’avoir un projet open source soutenu par une entreprise. CakeDC a joué un rôle prépondérant dans la continuation de ce projet au sens où les membres de son équipe sont restés fidèles au plan de développement du framework et plus que jamais investie dans le projet. [Disclaimer : je travaille actuellement pour CakeDC. Néanmoins, cette affirmation se veut objective et la page présentant notre équipe devrait la justifier ]
Malgré une peur initiale lorsque chacun a découvert le départ de Garrett et Nate, la communauté a généralement bien réagi à cette annonce et de nombreuses personnes ont renouvellé leur soutien au framework et leur envie de voir les choses avancer. Le retour de Larry Masters est également un retour au source, et marque une nouvelle ouverture envers la communauté. CakePHP a surtout été rendu populaire grâce à sa communauté, il ne faut pas l’oublier ! Cela sera également l’occasion de donner des rôles plus importants au nombreux développeurs qui contribuent au framework en ouvrant des tickets et en résolvant des bugs sur leurs propres forks (au sein Git du terme) du projet.
Un point que je trouve également positif, et qui terminera mon article, est les discussions que cela a généré. Que cela soit sur le google group anglophone, le forum francais, Twitter, IRC (#cakephp ou #cakephp-fr), de nombreuses discussions entre des membres de la communauté et des utilisateurs ont eu lieu. Cela a été l’occasion de détecter les réelles attentes des utilisateurs vis à vis de CakePHP … je pense que tout ceci a été entendu (j’espère pouvoir aider à faire évoluer les choses également), et que nous verrons bientôt la mise en place d’une bibliothèque de composants (behaviors, plugins, helpers …) digne de ce nom, une avancée dans la traduction du core, une mise à plat des outils proposés … et de nombreuses autres choses !

Source Le blog de Pierre Martin


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de gannher gannher - Membre actif https://www.developpez.com
le 06/11/2009 à 15:26
Du coup pour un projet futur, mieux vaut il miser sur Lithium ou sur Cake ?
Avatar de real34 real34 - Membre régulier https://www.developpez.com
le 06/11/2009 à 17:11
Citation Envoyé par gannher  Voir le message
Du coup pour un projet futur, mieux vaut il miser sur Lithium ou sur Cake ?

Si ton projet est sérieux je dirai CakePHP sans aucun doute, sauf si tu souhaites changer ton code dans 6 mois puis dans un an ... et que ton projet est pour dans 2 ans.
Si ton projet est un blog perso où tu veux te faire plaisir techniquement, tu peux tester Lithium ...

Je ne suis pas suffisamment investi dans Lithium et sa communauté pour affirmer à 100% ceci, mais à je pense que l'API du framework est encore en train de se chercher.
Le projet n'a qu'une seule semaine en tant que tel et de nombreux retours et changements sont à prévoir encore. Le projet est en version 0.1, et Nate Abele le dit lui même "As for us, well, we're not suggesting you go out and write any major production apps on Lithium just yet, but we're very excited about what we have to share, and we hope you will be too".

Enfin, n'oublies pas que celà reste un nouveau projet open source ... et que la perénnité de celui-ci est encore à démontrer A l'opposé, CakePHP a encore je pense de bonnes années devant lui.
Pour moi Lithiun n'en est encore qu'au stade de joujou technologique.
Avatar de gannher gannher - Membre actif https://www.developpez.com
le 06/11/2009 à 17:26
Oui les différents projets dont je parle sont sérieux et sur plusieurs mois de développement.
Donc je prendrai cakePHP pour sa maturité surtout que je l'ai déjà utilisé dans d'autres projets.
Merci
Avatar de fanick fanick - Membre régulier https://www.developpez.com
le 06/11/2009 à 17:26
Bon à savoir. Je commençais juste a m'intéresser à CakePHP et ce Lithium sorti du Gateau m'inquiétait quelque peu.
Offres d'emploi IT
AMOA Chef de projet fonctionnel H/F
EXTERNATIC - Pays de la Loire - Nantes (44000)
Ingénieur systèmes et réseaux h/f
KONICA MINOLTA BUSINESS SOLUTIONS France - Midi Pyrénées - Toulouse (31000)
Développeur d'application web F/H
Link-consulting - Midi Pyrénées - Toulouse (31000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil