• # Le casier judiciaire de Mono

    Posté par . En réponse à la dépêche Mono 3.0 est disponible. Évalué à 8.

    Ça a un peu trollé sur reddit à l'annonce de la sortie, et j'ai été amener à ramener à l'audience, de la façon la plus neutre et la plus impartiale possible, les "torts" que la communauté du libre reproche factuellement au projet Mono. C'est par ici, et pour les paresseux anglophones je me permets de copier le message ci-dessous.

    I am not part of the GNU project (nor of the Mono community), and I definitely think Mono has managed impressive technical achievements, but I would like to point out that the story is more nuanced as you make it seem.

    The general perspective is that people have been opposed to introducing Microsoft technologies in the free software stack, and regularly claimed that Mono raised patent issues and was a danger (on one side, you could say that most software raises patent issues and most developers boldly ignore them, but on the other you could say that Microsoft is a particularly nasty player, as indeed the later Android patent racket has again confirmed). So the Mono project has been the target of more scrutiny and criticisms than most others, with discussions for example of which part of Mono are safe because of .NET ECMA standardization (answer: essentially only the core). No judgment on my part here, that is only an explanation of the general context, which I believe is fair.

    Here are the few objective facts that raised concerns over Mono as a free software project and fueled what you call "shit from the GNU community"

    • In November 2006, Novell made a deal with Microsoft. The deal was itself never disclosed entirely (not that it should have been), but some information were released publicly. There was some money exchanged, agreement to distribute products from the other, and time-limited license grants for some technology allegedly covered by intellectual property. The part of concern here is that both Microsoft and Novell claimed that Mono (along with some other projects such as Samba) was covered by the deal. This meant that Novell customers could safely use Mono without fear of patent litigation. This also meant that non-customers were explicitly excluded from a license grant on Mono, and therefore could fear patent litigation. This was terrible for Mono's reputation, as it hinted at patent dangers (why would otherwise Microsoft give an explicit license grant?) and created an unfairness in the field, with some users of free software more equals than others. I'm not aware of Microsoft having in fact used Mono-related intellectual property to conclude other licensing deals, and I think Mono is now covered by the Open Invention Network that provides some more guarantees of safety. But at the time Ballmer was roaring about how Microsoft would have to defend its intellectual property, and a hidden agreement on Mono licensing was very badly perceived. (Note that the deal does not specifically originates from Mono and I have no idea whether they even requested being covered by this patenting deal.)

    • the second issue is how Moonlight was supported by Microsoft. When the Mono project successfully demonstrated a prototype Silverlight implementation, Microsoft decided to help them to get up to speed (assumption: Microsoft wanted to be able to say that Silverlight is a cross-platform technology to help adoption). The Mono team signed a non-disclosure agreement (NDA) and was given preferential access to non-public documentation and test suites, and Microsoft made a very specific patent grant saying essentially "you're safe if you use the Novell-provided product". Again, the free software community resented the unfairness introduced by this procedure (what about alternative implementations? users of non-Novell distributions?). Note that this kind of "NDA over private documentation" is not new, it has been done in a few cases of device drivers for the Linux Kernel, and publicly criticized by the BSD folks that would like the additional documentation to be made public instead. Yet this is highly unusual for desktop technologies and the Mono project has been criticized for that move.

    I believe it is fair to say that in those two cases, the Mono project was in a situation benefiting its own interest (being a privileged Microsoft partner) while increasing the perceived risk for the rest of the free software community, and creating a fragmentation of different rights. Whether you think this is an important issue, and how you compare that to the technological benefits brought by having a reasonable free software implementation of a part of the .NET stack, that is entirely up to you.