{"id":1586,"date":"2009-07-08T13:29:35","date_gmt":"2009-07-08T12:29:35","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/1586-is-mono-safe-to-use.html"},"modified":"2009-07-08T13:29:35","modified_gmt":"2009-07-08T12:29:35","slug":"is-mono-safe-to-use","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/1586-is-mono-safe-to-use.html","title":{"rendered":"Is Mono safe to use?"},"content":{"rendered":"<p>Microsoft has <a href=\"http:\/\/port25.technet.com\/archive\/2009\/07\/06\/the-ecma-c-and-cli-standards.aspx\">promised not to sue<\/a> those who develop implementations of its C# language and Common Language Infrastructure \u2013 the heart of .NET.<\/p>\n<p>You might assume that to be good news for <a href=\"http:\/\/mono-project.com\/Main_Page\">Mono<\/a>, the open source implementation of .NET sponsored by Novell; and I suppose it is, though not in any major way.<\/p>\n<p>The key point here is that Microsoft\u2019s .NET platform goes well beyond what is covered by the promise. ASP.NET, Windows Forms, ADO.NET, <span style=\"text-decoration: line-through\">Windows Presentation Foundation, Silverlight<\/span>: all this falls outside. The promise covers only what is standardised by ECMA.<\/p>\n<p>Mono leader Miguel de Icaza is clear about the differences in <a href=\"http:\/\/tirania.org\/blog\/archive\/2009\/Jul-06.html\">his post<\/a>, and says Mono will be split into safe and \u2013 presumably \u2013 unsafe parts:<\/p>\n<blockquote>\n<p>In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.<\/p>\n<\/blockquote>\n<p>A good thing? Well, it could help promote the core of Mono in the open source community, which is wary. Open source champion Richard Stallman recently stirred up debate on the subject by proclaiming C# dangerous, in what has become a <a href=\"http:\/\/www.fsf.org\/news\/dont-depend-on-mono\">somewhat perplexing post<\/a>:<\/p>\n<blockquote>\n<p>It is dangerous to depend on C#, so we need to discourage its use. &#8230; The problem is not unique to Mono; any free implementation of C# would raise the same issue. The danger is that Microsoft is probably planning to force all free C# implementations underground some day using software patents.<\/p>\n<\/blockquote>\n<p>he says (and is unlikely to be comforted by Microsoft\u2019s recent moves), though he adds:<\/p>\n<blockquote>\n<p>This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good. (The GNU Project has an implementation of C# also, called <a href=\"http:\/\/www.gnu.org\/software\/dotgnu\/pnet.html\">Portable.NET<\/a>.) Ideally we want to provide free implementations for all languages that programmers have used.<\/p>\n<\/blockquote>\n<p>Confusing. Still, it\u2019s a valid and important question. Is Mono safe to use?<\/p>\n<p>I have been asking myself this for many years; and have asked Microsoft about it on a number of occasions with no clear answer. However, to me the breakthrough came when <a href=\"http:\/\/www.mono-project.com\/Moonlight\">Moonlight<\/a> was announced, an implementation of Silverlight for Linux for which Microsoft has partnered with Mono. The dual significance is first, that Microsoft is working with Mono; and second, that it shows how Microsoft has realised that overall Mono is more a benefit than a threat to its platform.<\/p>\n<p>Action against Mono now seems less likely than ever. That opinion is not based on legal knowledge, but on the business &amp; PR case.<\/p>\n<p>Nevertheless, there could be limits. Stallman\u2019s recent statement was provoked by discussions over whether Mono should be part of the default <a href=\"http:\/\/www.debian.org\/\">Debian<\/a> install. It is not; but it is rising higher on the list of packages that are likely to be installed sooner rather than later by users, because Mono applications are growing in number.<\/p>\n<p>On the server, Mono\u2019s implementation of ASP.NET is now rather good. I\u2019m using it on ITWriting.com for a <a href=\"http:\/\/www.itwriting.com\/silverlightdata\">Silverlight demo<\/a>. I\u2019ve been impressed by its compatibility with Visual Studio, though I\u2019ve also found it increasing resource usage more than I would like. I\u2019m using what is now an old version though, so I expect this to improve.<\/p>\n<p>The cost savings in using Linux+Mono rather than Windows+ASP.NET are significant, which implies that the <em>potential<\/em> cost to Microsoft is significant too. It\u2019s only a potential cost, because frankly the official platform is still less risky for a commercial deployment, from a technical rather than legal perspective. Mono is currently more likely to attract free or hobbyist users; but that could change. If Microsoft saw server license sales bleeding away because of Mono, my guess is that there would be rumbles.<\/p>\n<p>What then of de Icaza\u2019s move to separate Mono into safe and unsafe parts? I see the sense of it, but wonder if it could be counter-productive. While Mono is, errm, monolithic, Microsoft cannot take action against the unsafe parts without also blocking the safe parts. After the split, it will be easier for Microsoft to agitate about the pieces of Mono which might (or might not; I\u2019m no lawyer) infringe its rights.<\/p>\n<p>It still strikes me as unlikely that Microsoft would risk full-on legal action against its partner and against what is now a significant part of its platform story. However, I doubt we will get any further comfort from the company, beyond what it has already given.<\/p>\n<p>*updated to acknowledge that Silverlight and WPF are covered by the open spec promise &#8211; see links in the comments.<\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f634c484-7426-4771-8b0f-7cc72d1a54d4\" class=\"wlWriterEditableSmartContent\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/mono\" rel=\"tag\">mono<\/a>,<a href=\"http:\/\/technorati.com\/tags\/microsoft\" rel=\"tag\">microsoft<\/a>,<a href=\"http:\/\/technorati.com\/tags\/stallman\" rel=\"tag\">stallman<\/a>,<a href=\"http:\/\/technorati.com\/tags\/silverlight\" rel=\"tag\">silverlight<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft has promised not to sue those who develop implementations of its C# language and Common Language Infrastructure \u2013 the heart of .NET. You might assume that to be good news for Mono, the open source implementation of .NET sponsored by Novell; and I suppose it is, though not in any major way. The key &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/1586-is-mono-safe-to-use.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Is Mono safe to use?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,55,57,94,97],"tags":[],"class_list":["post-1586","post","type-post","status-publish","format-standard","hentry","category-net","category-microsoft","category-mono","category-visual-studio","category-windows"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/1586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=1586"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/1586\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=1586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=1586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=1586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}