Plusieurs composants d'ASP.NET basculent vers le modèle open source

Les tiers peuvent désormais proposer leurs propres patchs 18
Vincent Hermann
Pendant longtemps, le concurrent Microsoft du PHP se nommait l’ASP. Après l’apparition du framework .NET, la firme a lancé l’ASP.NET qui, malgré son nom, était très différent de la première technologie. Bien qu’une bonne partie d’ASP.NET ait été placée en open source, la communauté n’avait eu jusque-là pas droit au chapitre. La situation est désormais différente puisque les développeurs tiers vont pourvoir s'impliquer directement dans l'avenir de plusieurs produits.

asp icaza

Impliquer la communauté dans le développement

Ce n’est pas la première fois que Microsoft bascule davantage vers l’open source, mais il existe une différence très importante dans la gestion des produits. Dans le cas de l’ASP.NET justement, le MVC (Model-View-Controller) est disponible en open source depuis sa première version. Mais open source signifiait « simplement » des sources disponibles, non que les développeurs tiers puissent participer directement à l’évolution de la technologie. Or, cette participation est un comportement sous-jacent de l’univers open source en général.

Or, justement, Microsoft vient de changer la gestion du MVC d’ASP.NET ainsi que d’autres produits qui lui sont liés. Le MVC passe ainsi en licence Apache 2.0 et va être hébergé sur le site Code Plex en profitant du support récent du git. En clair, le modèle de développement du MVC va devenir transparent afin que la communauté puisse s’y impliquer si elle en éprouve l’envie... ou le besoin.

Une méthode jugée « excellente » par l’éditeur

Dans la pratique, et comme tout développement réellement open source, chaque modification du code pourra être analysée par la communauté, qui pourra également faire la chasse aux bugs ou examiner de plus près comment sont corrigés certains d’entre eux. Surtout, la communauté va pouvoir elle-même proposer ses propres solutions.

Sur son blog, Microsoft explique : « Nous allons également pour la première permettre aux développeurs extérieurs à Microsoft de soumettre leurs patchs et leurs contributions au code que l’équipe de développement Microsoft examinera pour une inclusion potentielle dans les produits. Nous avons annoncé une approche ouverte similaire pour le SDK de Windows Azure en décembre et avons découvert qu’il s’agissait d’un excellent moyen de construire une boucle plus fine pour le feedback des développeurs, et de fournir finalement de meilleurs produits en résultats. »

De la proposition au patch

En fait, ce fonctionnement a déjà produit une modification. Un patch a en effet été proposé par Miguel de Icaza, l’instigateur du projet Mono, une implémentation libre du framework .NET que l’on retrouve en général sous Linux. Sa proposition a été acceptée hier et plusieurs autres propositions sont en cours d’examen.

L’intégration des patchs va donc de la proposition à son examen attentif. Pour qu’un patch soit d’ailleurs examiné, il faut d’abord qu’il soit basé sur une idée préalablement acceptée. Si le patch garantit une amélioration de l’existant ou la correction d’un bug précis, son contenu est fusionné avec le code source du produit. À terme, plusieurs produits de Microsoft embarqueront donc des morceaux de code provenant de développeurs tiers.

La Web API et les Web Pages dans le même panier

Car le MVC de l’ASP.NET n’est pas le seul composant à subir ce traitement. Deux autres passent également à la moulinette open source : la Web API d’ASP.NET et les Web Pages (Razor). La Web API est un élément important qui permet aux développeurs d’exposer des données, des services et des applications sur le web via HTTP. Les Web Pages sont quant à elles une plateforme servant de base au moteur de vue Razor.

Plusieurs précisions s’imposent quand même. Premièrement, l’intégration des produits jQuery, jQuery UI, jQuery Mobile, jQuery Validation, Modernizr.js, NuGet, Knockout.js et JSON.NET dans le MVC d’ASP.NET reste toujours d’actualité.

Deuxièmement, et malgré le passage sous licence Apache 2.0 et l’ouverture aux développeurs tiers, le MVC, les Web Pages et la Web API sont toujours considérées comme des produits Microsoft. Cela signifie en pratique que la firme ne s’en « débarrasse » pas et continue leur maintenance. Ceux travaillant sur ces technologies restent en place. Les nouvelles versions feront l’objet de sorties séparées, tout en restant intégrées à Visual Studio.

Difficile pour l’instant de dire si les trois technologies de Microsoft vont intéresser la communauté. Il sera intéressant de faire le point dans six à douze mois pour mesurer le chemin parcouru.