[email protected] wrote:
I couldn't believe my eyes:
http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

Mono hacker and "open source" enthusiast Miguel de Icaza has announced an intention to continue to add Microsoft's code to Mono stating "Like we did in the past with .NET code that Microsoft open sourced, and like we did with Roslyn, we are going to be integrating this code into Mono and Xamarin's products." (http://tirania.org/blog/archive/2014/Nov-12.html).

But is that a wise course of action? Was it wise to do this in the past?

It's worth looking at history to see what traps Microsoft has set and if those problems still exist.

In 2009 the FSF advised against writing software in C# (https://www.fsf.org/news/2009-07-mscp-mono) and pointed to a practical way out.

Neither Microsoft's Patent Promise (https://github.com/dotnet/corefx/blob/master/PATENTS.TXT) nor Microsoft's chosen license (https://github.com/dotnet/corefx/blob/master/LICENSE) grant you an irrevocable patent license. Microsoft has promised to not sue you. A promise not to sue and an irrevocable patent license are not the same thing because the circumstances that make the promise true today can change tomorrow rendering the promise obsolete. The same is not true of an irrevocable patent license.

To my reading, what you get from Microsoft here is just as risky for us to depend on as what they offered years ago. So, as the FSF pointed out years ago, "It only says that Microsoft will not sue you over claims in patents that it owns or controls. If Microsoft sells one of those patents, there's nothing stopping the buyer from suing everyone who uses the software.".

As a result, FSF's advice from that 2009 essay is still worth heeding:
If Microsoft genuinely wants to reassure free software users that it
does not intend to sue them for using Mono, it should grant the
public an irrevocable patent license for all of its patents that Mono
actually exercises. That would neatly avoid all of the existing
problems with the Community Promise: it's broad enough in scope that
we don't have to figure out what's covered by the specification or
strictly necessary to implement it. And it would still be in force
even if Microsoft sold the patents.

This isn't an unreasonable request, either. GPLv3 requires
distributors to provide a similar license when they convey modified
versions of covered software, and plenty of companies large and small
have had no problem doing that. Certainly one with Microsoft's
resources should be able to manage this, too. If they're unsure how
to go about it, they should get in touch with us; we'd be happy to
work with them to make sure it's satisfactory.

Until that happens, free software developers still should not write
software that depends on Mono. C# implementations can still be
attacked by Microsoft's patents: the Community Promise is designed to
give the company several outs if it wants them. We don't want to see
developers' hard work lost to the community if we lose the ability to
use Mono, and until we eliminate software patents altogether, using
another language is the best way to prevent that from happening.

Reply via email to