Mono : la « promesse » de Microsoft de ne pas armer ses brevets

mono logo En 2003, Novell rachète la société Ximian, et avec elle un projet initié par Miguel di Icaza : Mono. Ce dernier est une implémentation libre de l’environnement .NET de Microsoft, principalement marqué par l’utilisation de code managé et d’un Runtime, c’est-à-dire un concurrent direct de Java. Mono étant directement lié à cet environnement .NET, de très nombreuses questions ainsi que des doutes persistants sont liés aux brevets qui se tiennent derrière chez Microsoft. L’éditeur de Redmond vient justement de faire un pas vers un premier éclaircissement.

Mono et l'environnement .NET

On trouve bien sûr plusieurs briques dans Mono :
  • Un compilateur C# 3.0, une machine virtuelle, de nombreuses classes de base
  • Des API indépendantes de l’environnement : sécurité, base de données, web services, XML, web form.
  • Des API destinées à la programmation sous GNU/Linux et plus particulièrement GNOME : Gtk#, Glade# Gecko#, Gst.
  • Des API compatibles avec le framework .Net de Microsoft. Il s'agit du portage de briques logicielles non couvertes par une standardisation ECMA, comme ASP.NET, ADO.NET.
  • Un IDE (environnement de développement intégré) : MonoDevelop, avec notamment le support de la complétion de code.
  • Un outil pour naviguer dans la documentation : Monodoc, qui a l'originalité de pouvoir être modifié par le programmeur qui peut ensuite envoyer automatiquement les modifications au CVS de Mono.
  • Un serveur web léger entièrement compatible avec la technologie ASP.NET qui permet d'utiliser n'importe quel langage de la plate-forme pour générer des sites web dynamiques. Un module Apache est également disponible.
Le problème avec l’ensemble de ces éléments est que de nombreux brevets existent, bien qu’une grande partie de l’environnement ait donné lieu à une série de plusieurs normes ECMA. Cette normalisation devrait normalement garantir à elle seule que les éléments qui y sont rattachés ne pourront faire l’objet de plaintes sur des questions de brevets, mais ce n’est pas le cas, l’histoire de la firme n’aidant certainement pas.

La promesse de ne pas attaquer

Depuis quelques années toutefois, Microsoft met de temps à autre en avant sa « Community Promise ». De quoi s’agit-il ? D’une promesse qui engage la firme de Redmond à ne jamais poursuivre les sociétés utilisant les technologies couvertes par ladite promesse. Cela comprend en particulier tous les produits protégés par licences GPL et LGPL pour l’utilisation, la création, la vente, les services, l’importation, le développement ou encore la distribution.

Deux éléments importants de l’environnement .NET sont justement couverts par la Community Promise désormais :
  • Le langage C#, principal outil de développement .NET
  • La CLI, pour Common Language Infrastructure, une spécification décrivant l’environnement d’exécution de la machine virtuelle .NET, ce qui inclut par exemple la gestion des erreurs, le ramasse-miettes, ou encore la sécurité
Le but de la CLI est de produire un langage intermédiaire nommé CIL (Common Intermediate Language). Comme son nom l’indique, ce code sera unique, quel que soit le langage .NET utilisé : C#, Visual Basic, J#, IronPython, etc.

Ce mouvement de Microsoft dégage une partie du terrain, et Miguel di Icaza s’est d’ailleurs fendu d’un billet sur son blog pour expliquer son contentement face à cette « promesse irrévocable ». Le directeur du projet Mono avait ainsi demandé à Microsoft il y a plusieurs mois de clarifier la situation autour justement de la CLI et du C# (qui sont également des normes ISO).

Pourtant, il ne s’agit que d’une première étape, comme le reconnaît volontiers di Icaza. La Community Promise couvre deux éléments ECMA/ISO essentiels, mais Mono intègre beaucoup plus d’éléments que cette seule base. En conséquence, dans les prochains mois, l’équipe de Mono va s’employer à regrouper d’un côté les éléments ECMA, et de l’autre tout le reste, à savoir les implémentations d’ASP.NET, ADO.NET, les Winforms et autres.

Reste à voir maintenant la réaction du monde du logiciel libre, notamment pour mesurer le degré d'intégration de Mono dans les distributions Linux.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !