Entretien avec Mitsuru Furuta sur la publication des librairies du .NET Framework

Mitsuru Furuta

"Le .NET Framework est sorti en version 1.0 en début d’année 2002,
nous nous apprêtons à livrer la version 3.5 après 5 ans de vie.
"

Mitsuru Furuta, responsable technique en charge des relations développeurs


[Marine Tranquard] Bonjour Mitsu, j’ai vu le blog de Scott Guthrie qui a fait une annonce, annonce qui a été reprise plus de 730 fois ! Tout d’abord peux-tu nous rappeler qui est Scott puis nous en dire un peu plus sur cette annonce ?

[Mitsuru Furuta] Scott Guthrie est aujourd’hui un des General Manager de la division .NET. Il est surtout connu pour être le père du modèle ASP.NET même s’il gère aujourd’hui beaucoup plus de choses.

Il tient également à jour un des blogs techniques les plus connus des employés de Microsoft Corp. Choix de communication visiblement récent, des annonces techniques sur les sorties de produits par exemple sont publiées en premier lieu sur son blog (https://weblogs.asp.net/scottgu/ ).

Scott a donc annoncé le 3 octobre sur son blog la future mise à disposition d’une majorité des sources du .NET framework («Releasing the Source Code for the .NET Framework Libraries »).

Cette annonce fracassante lui a en effet valut d’être relayée un nombre de fois impressionnant (le record de son blog en fait, loin devant l’annonce de la RTM de Silverlight 1.0 ou encore de la sortie de Visual Studio 2008 beta2).

Les sources diffusées seront : .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows).  Dans un second temps, WCF, Workflow et LINQ devraient suivre le pas.

[MT] Quand et comment est-ce que le partage du code sera-t-il disponible ?

[MF] Le code sera disponible avec Visual Studio 2008. Les développeurs pourront librement le récupérer de deux manières différentes. Soit un download classique de l’ensemble des sources, soit via Visual Studio en configurant le débogueur afin qu’il aille directement télécharger à la demande les fichiers nécessaires au fur à un mesure d’un débogage pas à pas. Les spécialistes en déduiront que les fichiers de symboles sont également fournis.

[MT] Cela signifie donc que je peux désormais utiliser ce code comme je veux ???

[MF] Humm, dans « utiliser » il faudra distinguer la lecture de l’écriture. Les développeurs pourront librement parcourir le code afin de mieux comprendre le fonctionnement du framework.

Par contre, la licence Microsoft Reference License (MS-RL) n’autorise pas la modification de ces sources. Entre nous, dans un usage classique d’utilisation du .NET Framework sur Windows, tout l’intérêt vient du fait que le framework est le même pour tout le monde ! Si les clients commencent à générer des versions propriétaires, cela n’a plus d’intérêt.

[MT] Quel est ton point de vue en tant que développeur ? D’après toi, qu’est-ce que cela peut apporter ?

[MF] Je pense que pour de multiples raisons, c’est une très bonne chose. Certains y verront un message marketing de la part de Microsoft comme quoi nous nous rapprochons de l’open source ; à la rigueur pourquoi pas.

Les vrais bénéfices que je vois pour le développeur sont :

  • La possibilité de déboguer depuis leur code et de plonger en pas à pas dans les sources du framework.
  • Lire et mieux comprendre comment certaines parties ont été écrites.
  • La lecture des sources est pédagogique et aide à apprendre à utiliser le framework tel que ceux qui l’ont écrit l’utilise.

Un point va forcément apporter de la frustration : on se rend compte que peu de classes sont publiques et que bon nombre d’entres elles auraient pu nous être utiles. Moi-même en tant que développeur, j’étais souvent frustré de voir dans reflector des classes qui m’auraient été bien utiles.

C’est en aillant l’occasion de développer pour nos équipes Linq durant l’hiver dernier que j’ai compris toute l’ampleur du problème.

Lorsque nous rendons toute classe, méthode ou autre élément public, nous nous engageons à le maintenir dans le framework "ad vitam eternam". Même si certaines classes sont devenues "deprecated" car nous les avons remplacé, nous sommes obligés de les maintenir. C’est au prix de cet engagement que rendre une classe publique se réfléchit à deux fois.

[MT] Dernière question : Pourquoi est-ce que Microsoft décide de partager une grande partie du code sourde du .NET Framework  aujourd’hui ?

[MF] Pour plusieurs raisons. Il faut d’abord savoir que cela faisait longtemps que nous voulions le faire et que, comme tout projet, il faut se donner les moyens et le temps de le faire.

Nous aurons avec Visual Studio 2008, une solution complète qui supporte le débogage et le chargement à la demande. S’il avait juste s’agit de fournir un zip de tous les sources, je pense qu’on l’aurait fait depuis longtemps.

D’une manière plus générale, je pense également que c’est la bonne époque ! Le .NET Framework est sorti en version 1.0 en début d’année 2002, nous nous apprêtons à livrer la version 3.5 après 5 ans de vie.

Je pense que nous pouvons également associer cette annonce à la maturité reconnue de la plateforme .NET.

 

Votre avis et votre réaction sont importants, donnez-nous le votre sur le forum: