次の方法で共有


Microsoft publiera en grande partie le code source du .NET Framework avec la sortie de Visual Studio 2008

Aujourd'hui, nous annonçons que nous publierons sous licence Shared Source "Microsoft Reference Licence" une grande partie des codes sources des composants et technologies qui constituent le .NET Framework.

Dans un premier temps, l'ensemble de classes et des bibliothèques qui sera couvert par cette publication de leur code source comprendra les bibliothèques de base (la BCL, aka Base Classe Library, qui regroupe par exemple les namespaces System, IO, Text, Collections, CodeDom, Remoting, etc...) ainsi que ASP.NET, Windows Forms et WPF (aka Windows Presentation Foundation). D'autres parties constitutives du .NET Framework seront ajoutées avec le temps.

Pour les développeurs, cela signifie d'une part qu'il sera possible d'étudier le fonctionnement des composants de base du .NET Framework, et que d'autre part, il sera possible d'utiliser ces codes sources au sein des outils de debugging intégrés à Visual Studio 2008.

Il sera donc possible d'installer ces codes sources localement sur les machines de développement pour les étudier et naviguer d'un code à l'autre, et d'autre part, il sera possible de configurer Visual Studio 2008 de façon à ce qu'il rappatrie les codes sources et fichiers de symboles (.PDB) nécessaires au sein des sessions de Debug.

Vous pouvez retrouver cette annonce sur le blog de Scott Guthrie, ainsi qu'une interview publiée sur Channel9 qui présente les différents aspects et détails liés à cette annonce.

On dirait que Shawn Burke est finalement parvenu à faire entendre sa voix ;)

[Edit 05/10/2007] : Miguel de Icaza a posté un billet dans lequel il commente cette annonce. Son billet comporte un paragraphe de "spéculations" personnelles.

A mon tour, non pas de faire des spéculations, mais de prononcer mes rêves à voix haute : Je veux croire que la publication de ces codes sources sous licence Microsoft Reference Licence soient un premier pas vers un accord de droit d'utilisation de notre propriété intellectuelle par les contributeurs du projet Mono. Clairement, c'est complètement utopique, et sans doute ingérable au niveau juridique avec ces imbrications et implications entre les différentes licences en présences qui ne sont pas toutes mutuellement solubles.

En même temps, c'est pourtant déjà bien le cas avec IronPython et le DLR, non ? Alors pourquoi n'étendrions nous pas ceci à tout le .NET Framework ?

Dernier commentaire personnel : Si vous ne l'aviez pas remarqué, ou si vous avez passé les 12, 24 ou 36 derniers mois dans une grotte, sachez qu'il se passe des choses en profondeur chez nous. Microsoft change... I luv this c0mpany ;)

Comments

  • Anonymous
    October 03, 2007
    C'est tout bonnement hallucinant. Bien sûr, ce sera génial de pouvoir aller dans le code du Framework .NET. A première vue, ça paraît un peu bête de publier les sources d'ASP.NET qui n'a pas de concurrent viable sur le marché. Mais je crois deviner la raison derrière: Microsoft essaie peut-être de montrer patte blanche pour éviter de futurs procès antitrust comme celui qu'il a récemment perdu en appel face à l'Union Européenne.

  • Anonymous
    October 03, 2007
    @Arnaud : Ce que les procès anti-trust et autres commissions Européenne surveillent, c'est les cas d'Abus de position dominante. La position dominante sur un marché n'est pas punissable, fort logiquement, sur un marché donné, une entreprise ou un fournisseur se retrouve plus fort que ses concurrents et il prend donc une position dominante. Rien de critiquable ou punissable à ce niveau, tant que cette position est acquise de façon honnête et loyale. La taille d'une entreprise est une inconnue qui est déterminée par le marché. C'est le modèle libéral qui fonctionne ainsi. Tout ça pour dire que dans ma compréhension, la publication du code source n'a aucun rapport avec les procédures pour Abus de position dominante. Et ce n'est certainement pas une des motivations de ces publications que de penser que ça permettrait d'éviter de quelconques procédures en justice. C'était mes 2 centimes d'Euro sur la question...

  • Anonymous
    October 03, 2007
    The comment has been removed

  • Anonymous
    October 03, 2007
    Petite question naïve : Qu'est-ce que ça apporte de plus par rapport à Reflector et un add-in genre FileDisasembler ?

  • Anonymous
    October 04, 2007
    @Matthieu : La différence ? Ben tu auras les vrais noms des variables locales, ça aide généralement bien à la compréhension. Ensuite, tu pourras faire du debug en descendant jusqu'au niveau du framework et voir ce qui se passe dans les internes. Bien entendu impossible avec Reflector.

  • Anonymous
    October 04, 2007
    @MatthieuMEZIL Ca apporte aussi la légalité...

  • Anonymous
    October 04, 2007
    "Bien entendu impossible avec Reflector." Je ne suis pas d'accord. Rien ne t'empêche de te recréer le projet avec l'add-in FileDisasembler et ensuite référencé ton projet plutôt que la dll du framework. C'est assez pénible, surtout qu'en général, il faut bidouiller un peu pour que ça compile mais ça marche.

  • Anonymous
    October 04, 2007
    The comment has been removed

  • Anonymous
    October 04, 2007
    "Reflector : Oui, mais il faut être franchement motivé. Et puis il manque des choses avec le FileDisassembler, c'est pas très direct comme manip." C'est vrai qu'il faut être motivé et qu'il faut pas mal bidouiller pour arriver à un projet qui compile. Donc c'est sûr qu'avec les sources c'est quand même vachement plus simple, à la portée de tout le monde et en plus, aucun risque que les "bidouilles" apportées ne génère des bugs. Donc au final, même si je n'avais pas forcément perçu l'importance de la chose au tout début, je pense que c'est une très bonne chose. Par contre, autant il est intéressant de déboguer avec les sources du Framework, autant je déconseillerais vivement de modifier ces dernières et d'utiliser les assemblies ainsi modifiées dans les applications. Cela pose en effet deux problèmes très important : les effets de bord potentiels et la conservation des modifs avec les futurs versions du framework.

  • Anonymous
    October 05, 2007
    Est-ce que les commentaires seronts inclus avec le source?

  • Anonymous
    October 05, 2007
    @Lofti : C'est la grande question qu'on se pose en interne... Je sais que les rares privilégiés qui ont accès au code source de Windows ont accès à ces commentaires. En revanche, par le passé, on a souvent "strippé" les commentaires des codes sources qu'on publie. Non pas parce qu'ils contiennent des secrets à protéger, mais juste parce que souvent, ils sont écrits par des développeurs de Microsoft et destinés à être lus par des développeurs de Microsoft. Et que pour des yeux externes, ça pourrait faire mauvais genre ;) J'me comprends ;) http://www.kuro5hin.org/story/2004/2/15/71552/7795  par exemple ...

  • Anonymous
    October 05, 2007
    @Matthieu: Autre intérêt par rapport à Reflector: on aura les commentaires. Parce que lire du code sans commentaires, c'est plutôt difficile!

  • Anonymous
    October 11, 2007
    The comment has been removed

  • Anonymous
    January 16, 2008
    L'annonce avait été faite par Scot Guthrie il y a un peu plus de deux mois maintenant, et relayée ici