Developpez.com

Le Club des Développeurs et IT Pro

Open source : Microsoft lance la .NET Foundation

Et publie le compilateur Roslyn et WinJS sous licence Apache 2.0

Le 2014-04-04 16:37:19, par Hinault Romaric, Responsable .NET
Un nouveau PDG, un nouveau visage pour Microsoft. Il est très loin l’époque ou l’ancien PDG de la société Steve Ballmer traitait l’open source de cancer.

Microsoft, lors de la conférence Build, a dévoilé sa stratégie sous les commandes de Satya Nadella, qui accorde une place de choix à l’open source dans son univers.

Après la création de Microsoft Open Technologies, sa filiale dédiée au développement des solutions open souce, Microsoft annonce le lancement de .NET Foundation, afin de créer un environnement collaboratif ouvert autour de .NET.

Le but de ce nouvel organisme est de coordonner et accélérer le processus de développement des solutions autour de la plateforme .NET, par la participation communautaire, l’innovation rapide et la promotion de l’ouverture. « Nous allons servir de forum pour les développeurs commerciaux et communautaires, tout en offrant un ensemble de pratiques et de processus qui renforceront l’avenir de l’écosystème .NET », a déclaré Scott Guthrie, responsable de la division Cloud de Microsoft, lors de sa keynote pendant la conférence Build.

.NET Foundation sera un organisme indépendant, qui sera dirigé pour un début par un comité de trois membres, dont un responsable de Microsoft Open Technologies, le PDG de Xamarin Miguel de Icaza et un membre provenant de GitHub.

Miguel de Icaza est un pionnier de l’écosystème de l’open source, reconnu pour avoir été à l’origine de l’environnement de bureau Linux GNOME. Sa société s’occupe du développement de Mono, l’implémentation open source de .NET, qui permet d’ouvrir les systèmes non Windows (Linux, Mac, Android et iOS) aux développeurs C#.

A son lancement, .NET Foundation avait déjà dans ses registres 24 projets open source à superviser, dont plusieurs bibliothèques .NET de Microsoft.

Par ailleurs, Microsoft a annoncé la publication sous licence open source Apache 2 du compilateur en tant que service Roslyn. Actuellement, un compilateur serait un peu comme une boite noire pour le développeur. Celui-ci sait globalement ce qui s’y passe et le résultat obtenu, mais ne peut exploiter les informations générées par le compilateur. Roslyn ambitionne non seulement de fournir un outil de compilation pouvant être utilisé dans le Cloud, mais également de démystifier cette étape du cycle de développement d’une application.

Roslyn atteindra bientôt sa première version stable et Xamarin compte l’intégrer dans ses produits.

Microsoft ne s’est pas arrêté là, et a également publié en open source ses API JavaScript pour Windows. WinJS avait été développé pour permettre aux développeurs de créer des applications sous Windows 8 en utilisant le couple JavaScript/HTML5.

En transférant le projet à sa division open source, Microsoft espère faciliter le développement d’applications multiplateformes pour Windows, Android, iOS et autres. Le code de WinJS est disponible sous licence Apache 2 sur Github.

Source : Microsoft

Et vous ?

Que pensez-vous de la stratégie de Microsoft ?
  Discussion forum
14 commentaires
  • tomlev
    Rédacteur/Modérateur
    Je sais pas qui c'est qui "moinsse" systématiquement toutes les news concernant Microsoft, mais il se garde bien d'expliquer ouvertement son point de vue... Pourtant je ne vois pas très bien ce qu'on peut trouver de négatif dans cette actu.

    En tous cas le compilateur C# et VB.NET en open-source, c'est assez énorme comme annonce

    On notera aussi que les nouvelles features de C# 6 et VB 13, sont visibles sur cette page. Celles qui sont déjà implémentées sont d'ores et déjà testables dans la dernière preview de Roslyn.
  • Heptaeon
    Membre habitué
    Personnellement, j'ai du mal a suivre la stratégie d'ouverture de Microsoft-Miguel-Nat vis à vis de la platforme .NET.
    - Les premières version sont ECMA et la communauté Open-source répond présent.
    - Miguel et Nat créer Ximian et Mono (1999)
    - Mono est racheté par Novell (2003)
    - Attachmate achète Novell et pourris Mono
    - Miguel et Nat créer Xamarin (2011)
    - Création de Microsoft Open Technologies
    - Une grosse partie du Framework .NET devient open-source (http://referencesource.microsoft.com/)
    - Création .NET Foundation (http://www.dotnetfoundation.org/)
    - Roslyn en open-source
    - .NET Foundation reprend des parties de Xamarin

    Même si open-source c'est mieux que closed-source, open-source ne veux pas dire forcément "free". Xamarin est d'ailleurs un produit Freenium (certaines limites en free).
    J'aurais du mal a collaborer gratuitement pour un produit qui me demande de payer une licence. Payer pour apporter sa contribution c'est un peu le monde a l'envers...
  • Sirus64
    Membre éclairé
    J'étais à la Build : ceux qui ne voient pas l'intérêt peuvent aller voir la keynote du jour 2 (modification du compilateur pour ajouter les guillemets français), ainsi que "The future of c#" (http://channel9.msdn.com/Events/Build/2014/2-577) où il y a une démo de ce que l'on peut faire avec Roslyne avec notamment l'ajout de sorte de plug-in qui s'ajoute au compilateur sur tels ou tels types d'éléments analysés afin de faire notre propre analyser et de proposer des corrections si besoin. (Dans l'exemple, ils recherchent les if / else sans bloc et ils suggèrent d'en rajouter et propose de corriger avec un simple clic).

    Pour répondre à la question, je pense que Microsoft va dans la bonne direction. Ils ne sont pas en avance, ont même de légers retards, mais c'est un peu comme un rouleau compresseur : ils accélèrent la cadence et ramasse tout sur leur passage. Le mot d'ordre de la conf. : on attends vos feeds back, participez aux projets OSS.
  • tomlev
    Rédacteur/Modérateur
    Envoyé par Sirus64
    C'est bien open source aux termes attendus (Apache licence v2).
    Qu'est-ce qui est bien open-source ? Le nouveau compilateur (Roslyn) est effectivement sous licence Apache v2. Le code de .NET disponible ici, la licence est la MICROSOFT REFERENCE SOURCE LICENSE (MS-RSL), qui dit notamment :

    2. Grant of Rights

    (A) Copyright Grant- Subject to the terms of this license, the Licensor grants you a non-transferable, non-exclusive, worldwide, royalty-free copyright license to reproduce the software for reference use.

    (B) Patent Grant- Subject to the terms of this license, the Licensor grants you a non-transferable, non-exclusive, worldwide, royalty-free patent license under licensed patents for reference use.
    Et que signifie "reference use" ?

    "Reference use" means use of the software within your company as a reference, in read only form, for the sole purposes of debugging your products, maintaining your products, or enhancing the interoperability of your products with the software, and specifically excludes the right to distribute the software outside of your company.
    Donc pas grand chose à voir avec la licence Apache v2... Le code est dispo uniquement pour information (ce qui d'ailleurs est déjà pas mal)
  • tomlev
    Rédacteur/Modérateur
    Envoyé par Sirus64
    Ce qui est open source sous licence Apache 2.0, c'est .net foundation
    [...]
    Il ne manque plus que les fondations de .net et le principal est open source.
    Attention, .NET Foundation, ce n'est pas "les fondations de .NET", c'est une fondation qui gère les projets open-source de Microsoft, dont le .NET framework proprement dit ne fait pas (encore) partie. Ca couvre pas mal de projets intéressants, mais pour l'instant la Base Class Library (c'est à dire tous les assemblies "de base", mscorlib, System, System.Data, System.Core (Linq), Windows Forms, WPF etc) ne sont pas gérés par cette fondation. Mais peut-être que ça viendra...

    Envoyé par Sirus64
    Donc je ne vois pas l'intérêt qu'il aurait de ne pas libérer le code.
    Au point où ils en sont, je suis assez d'accord... Pour l'instant un des principaux inconvénients de Mono (à mon sens) est qu'il n'inclue pas WPF, mais si c'était open-sourcé, ça pourrait changer.

    EDIT: à ce sujet, je viens de tomber là-dessus :

    http://www.zdnet.com/microsofts-open...ry-7000028109/

    So will Microsoft take the next step and open source the core of .Net, including the Base Class Libraries (BCL) and Common Language Runtime (CLR)?

    "We are taking it one step at a time," said Somasegar. "If it's truly beneficial for us and for the community," Microsoft will consider it, Somasegar said. But there has to be a proven need, he emphasized. For example, Microsoft provided Xamarin with the BCL documentation late last week given that company's proven need for it.
    Donc c'est de l'ordre du possible
  • tomlev
    Rédacteur/Modérateur
    Envoyé par Heptaeon
    - Une grosse partie du Framework .NET devient open-source (http://referencesource.microsoft.com/)
    .NET n'est pas open-source, du moins pas au sens usuel du terme. Le code source est disponible à titre informatif, mais tu ne peux rien en faire. Tu ne peux pas le télécharger et le recompiler chez toi, il manque trop d'éléments. Tu ne peux pas le forker ou proposer tes contributions (sauf pour les parties de .NET qui sont effectivement open-source bien sûr)

    Envoyé par Heptaeon
    J'aurais du mal a collaborer gratuitement pour un produit qui me demande de payer une licence. Payer pour apporter sa contribution c'est un peu le monde a l'envers...
    J'ai l'impression que tu mélanges un peu tout. Les produits open-source dont il est question sont gratuits (les compilateurs C# et VB.NET font partie du .NET SDK, qui a toujours été gratuit). Ce qui est payant, c'est l'IDE Visual Studio, et il n'est pas open-source.
  • lunatix
    Rédacteur
    En fait, il faut attendre de voir quelle est la stratégie derriere cet open sourcing

    - abandon (type flex/openoffice ou google wave)
    - créer une vraie communauté et étendre le projet
    - opensourcer juste pour lutter contre llvm et java coté compilateur (typiquement java (au sens jvm) apres avoir été pas mal en retard, semble avoir une communauté de créateurs de langages bien plus importante que .net alors que a un moment c'était vraiment le contraire)

    en tous cas, la license apache est une vraie bonne surprise de la part de microsoft
  • Sirus64
    Membre éclairé
    Envoyé par tomlev
    .NET n'est pas open-source, du moins pas au sens usuel du terme. Le code source est disponible à titre informatif, mais tu ne peux rien en faire. Tu ne peux pas le télécharger et le recompiler chez toi, il manque trop d'éléments. Tu ne peux pas le forker ou proposer tes contributions (sauf pour les parties de .NET qui sont effectivement open-source bien sûr)

    J'ai l'impression que tu mélanges un peu tout. Les produits open-source dont il est question sont gratuits (les compilateurs C# et VB.NET font partie du .NET SDK, qui a toujours été gratuit). Ce qui est payant, c'est l'IDE Visual Studio, et il n'est pas open-source.
    C'est bien open source aux termes attendus (Apache licence v2).
  • Sirus64
    Membre éclairé
    Ce qui est open source sous licence Apache 2.0, c'est .net foundation : http://www.dotnetfoundation.org. Et c'est déjà un très bon début.

    Pour xamarin, Miguel de Icaza a présenté une démo sous mac qui peut utiliser roslyn comme compilateur. Il ne manque plus que les fondations de .net et le principal est open source. De toute façon, MS ne vend pas le Framework mais des licences msdn et windows. Donc je ne vois pas l'intérêt qu'il aurait de ne pas libérer le code.

    La seul chose qui m'inquiète c'est la compilation native (avec comme application par exemple, de produire du il, le store le distribut dans le bon format, soit x64, soit arm) . Outre le gain de rapidité (et des options d'autoparallelisation qu'ils ajoutent), il a été avancé l'argument de l'offuscation de code. Hors pour moi c'était un avantage de pouvoir facilement décompiler le code....
  • _skip
    Expert éminent
    Effectivement, pas grand chose de négatif dans cette news. Et la clarification de la position officielle de .Net vis à vis de l'open source permettra je pense de donner plus de crédibilité à mono et de lever les réticences de ceux qui jugeaient les garanties de MS (pourtant déjà assez concrètes) insuffisantes. Lorsque j'avais évalué mono j'avais moi-même eu certains points de blocage, notamment parce que le projet avait perdu son principal sponsor (Novell sauf erreur?) et que Xamarin semblait plus intéressé par les le mobile et ses produits plus "monétisables" que par l'aspect plus desktop et web.

    Envoyé par tomlev

    Au point où ils en sont, je suis assez d'accord... Pour l'instant un des principaux inconvénients de Mono (à mon sens) est qu'il n'inclue pas WPF, mais si c'était open-sourcé, ça pourrait changer.
    Pour ma part, c'est l'absence de support et de compatibilité des grandes suites de composants commerciales qui me bloque. Du coup plus de super composants winforms ou asp.net qui déchirent , plus tellement de solution d'impression convenable si ce n'est un pont JasperReport/Birt avec java. Bref, avec ça, les grands avantages de .Net par rapport à java s'effondrent. Bien dommage car il y avait eu de bons signaux de la part de Telerik de porter ses produits sous mono mais ça ne s'est virtuellement jamais fait.