|
|
Subscribe / Log in / New account

The FSF warns (again) against Mono

From:  campaigns-AT-fsf.org
To:  info-press-AT-gnu.org
Subject:  [GNU/FSF Press] Microsoft's Empty Promise
Date:  Thu, 16 Jul 2009 18:18:46 -0400
Message-ID:  <20090716221846.GA27623@serenity.office.fsf.org>

Last week, Microsoft extended the terms of their Community Promise to
implementations of the ECMA 334 and 335 standards.  You might think
this means it's safe to write your software in C#.  However, this
promise is full of loopholes, and it's nowhere near enough to make C#
safe.

### Why Worry About C#? ###

Since we published Richard's article about Mono[1] last week, some
people have been asking us why we're expressing special concern about
free software developers relying on C# and Mono, instead of other
languages.  Sun probably has patents that cover Java.  Maybe IBM has
patents that cover C compilers.  "Shouldn't we discourage the use of
these too?" they ask.

It's true that all software patents are a threat to developers--but
that doesn't mean that all software patents are equally threatening.
Different companies might have patents that *could* be used to attack
other languages, but if we worried about every patent that *could* be
used against us, we wouldn't get anything done.  Microsoft's patents
are much more dangerous: it's the only major software company that has
declared itself the enemy of GNU/Linux and stated its intention to
attack our community with patents.  If Microsoft designed a patent
trap into C#, that is no more than what it said it would do.

The company has been quite clear about its intentions since late
2006.  At a user conference in November that year, Microsoft CEO
Steve Ballmer said, responding to a question about their patent
agreement with Novell:

> ... the fact that [GNU/Linux] uses our patented intellectual
> property is a problem for our shareholders. We spend $7 billion a
> year on R&D, our shareholders expect us to protect or license or get
> economic benefit from our patented innovations. So how do we somehow
> get the appropriate economic return for our patented innovation...?

(Seattle Post-Intellegencer, The Microsoft Blog, "Ballmer on Novell,
Linux and patents," November 16, 2006.  "Intellectual property" is a
confusing term that should be avoided; to learn more, visit
<http://www.gnu.org/philosophy/not-ipr.html>.)

A few days later, an interview with Microsoft President Bob Muglia was
published, and he made it clear that they considered C# one of these
so-called "patented innovations:"

> There is a substantive effort in open source [sic] to bring such an
> implementation of .Net to market, known as Mono and being driven by
> Novell, and one of the attributes of the agreement we made with
> Novell is that the intellectual property [sic] associated with that
> is available to Novell customers.

(eWeek.com, "Microsofts Muglia Talks Longhorn, Novell and Java",
November 17, 2006.)

They've been turning up the heat ever since.  In May 2007,
Microsoft followed all this up by announcing in a Fortune magazine
interview that they believed GNU/Linux infringed 235 Microsoft
patents.  And recently they made it very clear that these were not
idle threats: the company sued TomTom for using the VFAT filesystem
implementation in the kernel Linux without buying a license from it.

All of this can't simply be brushed aside.  These are statements and
actions made at the highest executive levels of the company.  Using
patents to divide and conquer the free software community is a
fundamental part of their corporate strategy.  Because of that, C#
represents a unique threat to us.  The language was developed inside
Microsoft, so it's likely they have many patents to cover different
aspects of its implementation.  That would make free software
implementations of C#, like Mono, an easy target for attack.

The Community Promise does nothing to change any of this.  Microsoft
had an opportunity to take action and demonstrate that it meant us
no harm with C#.  Instead, they took meaningless half-measures that
leave them with plenty of opportunities to hurt us.

### Incomplete Standards ###

The ECMA 334 and 335 specifications describe the core C# language,
including information about standard libraries that must be available
in any compliant implementation.  However, there are several libraries
that are included with Mono, and commonly used by applications like
Tomboy, that are not required by the standard.  And just to be clear,
we're not talking about Windows-specific libraries like ASP.NET and
Windows Forms.  Instead, we're talking about libraries under the
System namespace that provide common functionality programmers
expect in modern programming languages: binary object serialization,
regular expressions, XPath and XSLT, and more.

Because these libraries are not defined in the ECMA specifications,
they are not protected in any way by Microsoft's Community Promise.
If this were the only problem with the promise, it might be safe to
use applications that avoid these libraries, and stick to what's in
the standard.  But even the code that's covered by the promise isn't
completely safe.

### Figuring Out What's Necessary ###

The Community Promise only extends to claims in Microsoft patents that
are *necessary* to implement the covered specifications.  Judging just
by the size of its patent portfolio, it's likely that Microsoft holds
patents which a complete standard implementation probably infringes
even if it's not strictly necessary--maybe the patent covers a
straightforward speed optimization, or some common way of performing
some task.  The Community Promise doesn't say anything about these
patents, and so Microsoft can still use them to threaten standard
implementations.

### Moving the Goalposts ###

Let's say you've written an implementation of one of the
specifications covered by the Community Promise, and you want to
determine whether or not you'll be sued for infringing a certain
Microsoft patent.  The necessity question already makes it difficult
enough to figure this out.  But even if you manage it, you should make
sure you check again tomorrow, because the Community Promise might not
protect you then.

The Community Promise does not give you any rights to exercise the
patented claims.  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.

### The Solution: A Comprehensive Patent License ###

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[2], using
another language is the best way to prevent that from happening.

[1] http://www.fsf.org/news/dont-depend-on-mono
[2] To learn more about our End Soft Patents campaign, visit
    http://swpat.org/


_______________________________________________
FSF And GNU Press mailing list <info-press@gnu.org>
http://lists.gnu.org/mailman/listinfo/info-press




to post comments

The FSF warns (again) against Mono

Posted Jul 17, 2009 13:46 UTC (Fri) by clugstj (subscriber, #4020) [Link]

Weaselly worded patent promise from Microsoft? Say it isn't so!

The FSF warns (again) against Mono

Posted Jul 17, 2009 13:50 UTC (Fri) by trasz (guest, #45786) [Link] (31 responses)

Java is GPL-ed now, so RMS spreads FUD to hurt its biggest non-GPL-ed competitor. Nothing new.

The FSF warns (again) against Mono

Posted Jul 17, 2009 13:57 UTC (Fri) by dskoll (subscriber, #1630) [Link] (14 responses)

Why do you say it's FUD? What about it isn't true?

The FSF warns (again) against Mono

Posted Jul 17, 2009 14:32 UTC (Fri) by epa (subscriber, #39769) [Link] (3 responses)

You know, FUD can be true and still be FUD... for example many people believe both that 'Microsoft spreads FUD about patent liabilities in free software' and also that 'Microsoft holds patents which really can be used to attack free software', and this is not inconsistent.

The FSF warns (again) against Mono

Posted Jul 17, 2009 14:44 UTC (Fri) by regala (guest, #15745) [Link] (1 responses)

anyway, this article is just another rephrasing of what RMS said last week, so much ado for nothing.

Indeed, with FUD clearly stated as FUD:

"Microsoft is bad, because:
- they ate my dog;
- they ate your granny's;
- they ate yours
- they said 3 years ago they would eat anyone's dogs in the world"

I am not that fond of that Do-what-I-say-not-what-I-do line, but lobbying is their job, after all.

The FSF warns (again) against Mono

Posted Jul 20, 2009 9:24 UTC (Mon) by TheMadHatter (guest, #59661) [Link]

anyway, this article is just another rephrasing of what RMS said last week, so much ado for nothing.

Indeed, with FUD clearly stated as FUD:

"Microsoft is bad, because:
- they ate my dog;
- Fat chance - they'd get eaten
- they ate your granny's;
- they ate yours
- they said 3 years ago they would eat anyone's dogs in the world"

I am not that fond of that Do-what-I-say-not-what-I-do line, but lobbying is their job, after all.


Lobbying is part of their job? Prove it. With direct links to the part of the Federal Register (or other regulation) that says that lobbying is part of their job.

Producing high quality software is their job. Unfortunately they seem to have forgotten this.

The FSF warns (again) against Mono

Posted Jul 17, 2009 15:14 UTC (Fri) by dskoll (subscriber, #1630) [Link]

If the FUD is true, then it's an excellent reason to avoid Mono, no?

The FSF warns (again) against Mono

Posted Jul 17, 2009 14:40 UTC (Fri) by elanthis (guest, #6227) [Link] (9 responses)

FUD stands for Fear, Uncertainty, and Doubt. Unless you can prove the bad stuff is true, the fact that it may be true doesn't stop it from being FUD. Trying to scare people using "maybes" is what FUD is all about.

It's in the article

Posted Jul 17, 2009 15:16 UTC (Fri) by coriordan (guest, #7544) [Link] (1 responses)

The "maybes" involved are of the type: "maybe that hungry fox will attack that nearby lamb".

No no no, I'm just spreading anti-fox FUD, no one can prove what the fox is thinking. We should wait until after the attack before making any comment about the safety of leaving the lamb beside the fox.

Despite various wordy announcements, MS still has broad unwaived patent rights on c# related things which could be used to launch patent threats against users/developers/distributors of Mono and related software in the future. Staying away from that area is simply common sense. (We should also try to end software patents, such as by instructing the USA's Supreme Court on how and why when they review Bilski)

It's in the article

Posted Jul 19, 2009 22:02 UTC (Sun) by Wol (subscriber, #4433) [Link]

Eggsackerly.

The promise basically *only* covers a *complete* implementation of the spec. And the spec is buggy and incomplete.

So if you reduce the spec to logic, you get something like "A = not B" and "If A and B then you are safe". Putting the two together, the only possible logical conclusion is that the promise is worthless, and you are not safe.

So saying the promise isn't worth the paper it's written on is NOT FUD. Just applying basic mathematical logical reduction shows that the promise will self-destruct. So you can't rely on it.

Cheers,
Wol

The FSF warns (again) against Mono

Posted Jul 17, 2009 15:20 UTC (Fri) by dskoll (subscriber, #1630) [Link] (6 responses)

Trying to scare people using "maybes" is what FUD is all about.

Perhaps so, but given Microsoft's past behavior, I don't think Linux distros should have anything to do with Mono technology. "Maybe" Microsoft won't try it's darndest to destroy Linux and Free Software... and "maybe" I really did win that lottery mentioned in the e-mail from Nigeria.

In 1997, "The Right To Read" may have seemed like far-fetched FUD, but in the days of the DMCA, it's not so funny. RMS was prescient on that topic; maybe he knows a thing or two about the world.

The FSF warns (again) against Mono

Posted Jul 17, 2009 15:52 UTC (Fri) by epa (subscriber, #39769) [Link] (5 responses)

The trouble is, all these 'Microsoft patent' arguments apply equally well to Samba, and distros are happy to ship that...

(RMS is not arguing against the existence of Mono, or its use to run C# programs on free operating systems, or even against including it by default in Linux distributions, but rather he warns against writing new free applications in C#.)

The FSF warns (again) against Mono

Posted Jul 17, 2009 16:44 UTC (Fri) by setecastronomy (guest, #59621) [Link]

"The trouble is, all these 'Microsoft patent' arguments apply equally well to Samba, and distros are happy to ship that..."

This is at least as far as I know not entirely correct. While negoiating the PFIF, the Samba project went out of their way to ensure that result would cover their asse(t)s while keeping it compatible with word and spirit of the GPL :

After paying Microsoft a one-time sum of 10,000 Euros, the PFIF will make available to the Samba Team under non-disclosure terms the documentation needed for implementation of all of the workgroup server protocols covered by the EU decision.

"Although the documentation itself will be held in confidence by the PFIF and Samba Team engineers, the agreement allows the publication of the source code of the implementation of these protocols without any further restrictions. This is fully compatible with versions two and three of the GNU General Public License (GPL). Samba is published under the GNU GPL which is the most widely used of all Free Software licenses. In addition it allows discussion of the protocol information amongst implementers which will aid technical cooperation between engineers.

Under the agreement, Microsoft is required to make available and keep current a list of patent numbers it believes are related to the Microsoft implementation of the workgroup server protocols, without granting an implicit patent license to any Free Software implementation.

(emphasis mine).

The second part is what (imho) sets the PFIF agreement apart from the community promise. C.f.
http://www.samba.org/samba/PFIF/

(This is besides the fact that getting rid of a file server implementation should be easier than getting rid of a whole development framework + the programs that rely on it).

You've correctly pointed to the biggest difference, but not the implications

Posted Jul 17, 2009 16:46 UTC (Fri) by khim (subscriber, #9252) [Link]

RMS is not arguing against the existence of Mono, or its use to run C# programs on free operating systems, or even against including it by default in Linux distributions, but rather he warns against writing new free applications in C#.

Exactly. Because mono is good for existing C# programs: may be you'll be used by Microsoft in the future, may be not, but in the end - without CLR implementation you can not use such programs at all.

The trouble is, all these 'Microsoft patent' arguments apply equally well to Samba, and distros are happy to ship that...

By the same logic samba should be shipped and used where it's unavoaidable (for example to work with existing Windows-based systems), but not for the tasks where it can be replaced with something else (for example you should use real LDAP server, not Samba's AD replacement in pure Linux environment). AFICS Samba is used exactly in this fashion: it exists for interoperability with Windows, but not for anything else.

It's the sad world we live in (Samba really can be better for some things then "native alternatives") but we can not easily swap it for other and so yes, we should treat Samba like mono: use it for interoperability with Windows, but for nothing else.

The FSF warns (again) against Mono

Posted Jul 17, 2009 22:20 UTC (Fri) by job (guest, #670) [Link] (1 responses)

Samba wasn't developed by a company who did a dodgy patent deal with Microsoft shortly thereafter (which SuSE/Novell did).

I can see why that worries some.

The FSF warns (again) against Mono

Posted Jul 22, 2009 15:46 UTC (Wed) by epa (subscriber, #39769) [Link]

In fact Mono has existed for a long time, before Ximian was bought by Novell and long before Microsoft decided to officially recognize that Linux exists.

Novell and Samba

Posted Jul 18, 2009 17:01 UTC (Sat) by man_ls (guest, #15091) [Link]

I think you have to look at the bigger picture to know why distros are more comfortable with Samba (even if there is always some danger). The Samba team has testified before the European Commission in an antitrust trial against Microsoft. Samba is used to interoperate with Windows on the network. That should make Microsoft think before using their patents against anyone distributing it.

However a lawsuit against people distributing Mono would probably be seen as Microsoft limiting distribution of their development platform. Mono is used to run .NET software on other platforms, and antitrust authorities do not care so much about that. If there was the same awareness about development platforms as there is for interoperability, Mono would probably be in the clear.

The FSF warns (again) against Mono: and correctly so

Posted Jul 17, 2009 16:48 UTC (Fri) by jeff@uclinux.org (guest, #8024) [Link] (15 responses)

I find it difficult to believe that intelligent people (evidenced by being a part of this community
discussion) still argue for the use of MicroSoft patented IP, in this case mono, after the VFAT
debacle which is still(!) unfolding even now.

I suppose you were not the one on the receiving end of the strategic VFAT lawsuit, so it's safe to
ignore their other patents even though they themselves say they will be trying to monetize and use
them as competitive weapons.

I told you I'd shoot, but you didn't believe me. Why didn't you believe me?

The FSF warns (again) against Mono: and correctly so

Posted Jul 17, 2009 21:34 UTC (Fri) by rahvin (guest, #16953) [Link] (5 responses)

If Microsoft was truly interested in not using the patents against Linux in the future they would note which patents apply. Their refusal to even list the patents they believe Linux infringes is tantamount proof that they intend to use them against Linux in the future because if they told us which ones apply, developers and free software lawyers could work together to evade the patents (or they could work to invalidate the patent) like they are trying to do with the VFAT patches.

Microsoft doesn't want their patents to be worked around because then they can't be used as a weapon. This is why they won't say which patents they believe apply. Tack that in with how they used the VFAT patent against Tom-Tom and everyone should be absolutely convinced how MS will proceed once Linux starts hurting windows market share. It's imperative that like Samba we treat these MS "inventions" as toxic elements that exist ONLY for interoperability with windows and are never ever a required part of any distribution.

The FSF warns (again) against Mono: and correctly so

Posted Jul 18, 2009 0:55 UTC (Sat) by mikov (guest, #33179) [Link] (4 responses)

If Microsoft was truly interested in not using the patents against Linux in the future they would note which patents apply. Their refusal to even list the patents they believe Linux infringes is tantamount proof that they intend to use them against Linux in the future because if they told us which ones apply, developers and free software lawyers could work together to evade the patents (or they could work to invalidate the patent) like they are trying to do with the VFAT patches.

I have never seen this put so clearly. 100% agreed.

The FSF warns (again) against Mono: and correctly so

Posted Jul 18, 2009 17:57 UTC (Sat) by directhex (guest, #58519) [Link] (3 responses)

It's a tricky game, that.

Saying "this app is free from this patent" means two levels of work need to be done

1) you need to determine that the patent you hold is enforcable, and relates to the kind of thing an app does (the "easy" stage, although if you own thousands of patents with a combination of hundreds of thousands of claims, it might actually be tricky to identify specific ones)

2) you need to perform a detailed analysis of the app in order to determine whether its implementation really does infringe on the patent in (1)

A general "yeah, we probably have patents on X, or stuff like it" is much much cheaper to say - albeit less precise in its implications. But saying "yeah, we probably have patents on X, but don't worry, whatever they are, you can use them" is somewhat LESS concerning than "you can use patent X" whilst keeping Y and Z secret

The FSF warns (again) against Mono: and correctly so

Posted Jul 19, 2009 0:41 UTC (Sun) by mikov (guest, #33179) [Link] (2 responses)

You are right. Plus, it occurred to me that if Microsoft listed all patents that they claim are infringed by Free Software, valid or not, it would be much harder to claim plausible deniability.

Patent X might be utter crap (like the long file names patent), but as soon as Microsoft announces it, everybody would have to stop using it, possibly for many years until it is invalidated.

Damn. It appears that no matter what Microsoft does, short of granting Comprehensive Patent License, it is all very very bad.

The FSF warns (again) against Mono: and correctly so

Posted Jul 19, 2009 20:53 UTC (Sun) by directhex (guest, #58519) [Link] (1 responses)

Don't worry, no matter what they do, even your suggestion, they're still worse than Satan, Jack the Ripper, and Hitler combined

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 1:28 UTC (Mon) by mikov (guest, #33179) [Link]

Goodwin strikes again! :-)

Seriously though, I actually don't think that Microsoft is "evil" - that would be ridiculous. They are a for-profit corporation, which is allowed and expected to do whatever possible within the law for said profits. Clearly enforcing their patents is legal and desirable from their point of view.

Objectively I can't blame them for that. But clearly they are in a position of strength, which honestly scares me.

The FSF warns (again) against Mono: and correctly so

Posted Jul 18, 2009 6:25 UTC (Sat) by AlexHudson (guest, #41828) [Link] (8 responses)

Not everyone is willing to cede ground to Microsoft simply because they have patents in areas. Give up Mono now, the same logic the applies to Java, Parrot, etc. We give up Samba after that, then we give up ODF, then we give up virtualisation, and then we give up 3D drivers.

Eventually you end up with nothing. This is not a worthwhile or long-term tactic, anyone who thinks there are many "Mono-only" patents out there that we can avoid by just burying our head in the sand is thinking extremely wishfully.

And if you look, you'll also see Microsoft aren't attacking technologies like Mono. That wouldn't make sense; that would turn people off .net. They're attacking things which are completely unrelated but competitive: e.g., having people sign agreements over the Linux kernel.

Microsoft aren't going to be attacking the likes of Mono and OpenOffice.org that soon. The battle lines are in a very different area, and tearing ourselves up over stuff Microsoft likely gives two hoots about is undoubtedly helping them.

The FSF warns (again) against Mono: and correctly so

Posted Jul 18, 2009 14:14 UTC (Sat) by dskoll (subscriber, #1630) [Link] (7 responses)

Not everyone is willing to cede ground to Microsoft simply because they have patents in areas.

But you have to weigh the risks and benefits. Obviously, we'd fight for the right to run (for example) Linux, the X Window System, SSH, etc. because they are core parts of the free software infrastructure. If you are concerned about Windows interoperability, you'll also fight for the right to run Samba.

C# and Mono simply don't seem (to me, anyway) to have enough benefits to outweigh the risks. Besides, the patent threat is only one problem. The far larger problem is trying to keep up with a technology Microsoft controls and can change on a whim. The Linux implementations of C# and Mono will always be poor substitutes for the "real thing", and Microsoft will use that as a weapon against free software.

The FSF warns (again) against Mono: and correctly so

Posted Jul 19, 2009 10:30 UTC (Sun) by AlexHudson (guest, #41828) [Link] (6 responses)

The "keeping up with MS" is a bit of a red herring. Mono is vastly usable in its own right, and is in fact ahead of the Microsoft implementation in key areas (e.g, compilation to static code, support for SIMD, etc.). People who think Mono is just copying .net are basically wrong.

The situation isn't vastly different to other areas anyway: MS have long had arguably a much better C/C++ compiler than gcc; big apps like OpenOffice.org enjoy a performance boost on W32. We lag them technologically in many areas. That's a different issue to software freedom and always has been.

I'm sure plenty of people won't see the benefit in using Mono. For the most part, they are not the target audience for it anyway: the target are those vast hoards of developers who are competent in Visual Studio but who would run screaming from vi/emacs.

The FSF warns (again) against Mono: and correctly so

Posted Jul 19, 2009 16:12 UTC (Sun) by dskoll (subscriber, #1630) [Link] (5 responses)

I'm sure plenty of people won't see the benefit in using Mono. For the most part, they are not the target audience for it anyway: the target are those vast hoards of developers who are competent in Visual Studio but who would run screaming from vi/emacs.

And for that constituency, Mono will fail unless it slavishly keeps up with Microsoft, feature-for-feature. The people you're talking about are first and foremost Windows developers, who will deign to port to non-Windows platforms as long as it's a no-brainer. They won't show the slightest interest in Mono unless it can be used to port Windows apps effortlessly. And this is doomed to failure.

Mono and C# have lots of risks and no benefits for Linux users. Likewise, they are not yet suitable for Windows developers looking for an effortless port. All Mono and C# do is waste developers' time when they could be working on more valuable free software projects.

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 7:41 UTC (Mon) by AlexHudson (guest, #41828) [Link] (4 responses)

I'm not sure why you think it's useless for that constituency. The offer isn't "run your Windows apps on Linux" - for the most part, people sadly don't care a huge amount about that.

The offer is "use your Windows dev skills on other platforms". That's why we've seen take-up of Mono in places like the games industry: it's about transfer of _skills_, not transfer of _source_.

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 11:47 UTC (Mon) by dskoll (subscriber, #1630) [Link] (3 responses)

The offer is "use your Windows dev skills on other platforms". That's why we've seen take-up of Mono in places like the games industry: it's about transfer of _skills_, not transfer of _source_.

Sorry, I don't buy this. Any competent programmer can pick up a different language and environment fairly quickly. I own a software company, and I'm in charge of hiring developers. Any developer who is scared off because we use a different language or don't use Visual Studio would automatically go into my "do not hire" list.

What a lot of people call "Windows dev skills" are nothing more than dilettante-level noodling around with pretty IDEs. Once such "developers" run smack into any non-Windowsism (which they will), they get stuck and panic. I've observed this several times in my career, which is why I no longer bother hiring developers unless they have some non-Windows experience.

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 11:56 UTC (Mon) by AlexHudson (guest, #41828) [Link] (1 responses)

Whether or not these "dilettantes" are people you would hire is entirely orthogonal to the fact that they exist or the desire to support them, even if we limited the argument to that subset alone.

In any event, it's not entirely about capability (though there would definitely be people entirely stuck moving from VS to [for example] vim). It's about transferability of skills.

To much argument about Mono is "I don't need/like it therefore nobody else should do either". It misses the point.

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 14:05 UTC (Mon) by dskoll (subscriber, #1630) [Link]

To much argument about Mono is "I don't need/like it therefore nobody else should do either". It misses the point.

The point is that Mono does nothing very useful for the Linux community. It's also very risky for that same community, and it commits the Mono developers to slavishly following proprietary standards set by a company very hostile to free software.

So really, I don't care if people use Mono on Linux. I would care very much if Mono were installed by default on a Linux distro, or became used for critical components of a Linux distro. That's crossing the line.

The FSF warns (again) against Mono: and correctly so

Posted Jul 20, 2009 21:43 UTC (Mon) by nix (subscriber, #2304) [Link]

If you were to force me to use vi I would get stuck and panic: the
keybindings simply fall out of my skull. But everyone knows Emacs is a
religion as well as an editor, so forcing me to use anything else would be
religious intolerance. :)

If the patents are sold, is the promise no longer enforceable?

Posted Jul 17, 2009 14:28 UTC (Fri) by epa (subscriber, #39769) [Link] (3 responses)

The Community Promise does not give you any rights to exercise the patented claims. 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.
Would any legally trained person care to comment on this? Would the buyer of the patents still be estopped in the same way as Microsoft, or is transferring the ownership an easy way to get out of the promise?

If the patents are sold, is the promise no longer enforceable?

Posted Jul 17, 2009 23:25 UTC (Fri) by Ed_L. (guest, #24287) [Link] (2 responses)

I am NOT legally trained, but I do think you have again identified the most cogent item in FSF's argument: A "Promise Not to Sue" is not a "License to Use."

FSF suggests we minimize our infringement of patents for which we have no license. Their legal opinion appears to be that Microsoft's Community Promise is not a license. They have offered to help Microsoft make it one.

In contrast Java is now GPLv2. Since Java is licensed under GPLv2 by SUN Microsystems, GPLv2 appears to grant (again I'm not a lawyer) an implicit "license to use" any of SUN's patents impacting Java:

GPLv2 Section 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
My bold. I don't know if SUN might also have issued an explicit Java patent license. Does anyone else?

I agree that C#/CLI is a sharp language. But a programming language does not stand independent from the libraries that make is useful, and I share the belief that patent clarification remains TBD.

If the patents are sold, is the promise no longer enforceable?

Posted Jul 18, 2009 1:00 UTC (Sat) by mikov (guest, #33179) [Link]

Sadly, I actually think that Java being under GPLv2 is not a permanent license to use. Briefly, there is an opinion that since GPL is not a contract, it can be revoked retroactively.

See this old post of mine fore more details:
http://slashdot.org/~cecom/journal/153146

Does GPL implicitly grant patent license ?

Posted Jul 20, 2009 10:49 UTC (Mon) by pjm (guest, #2080) [Link]

Can you be explicit about the premises that make that (likely to) imply a patent license? They have said (through the GPL) "you can redistribute this so long as there aren't any patent restrictions that forbid royalty-free redistribution", but I'd hesitate to infer that there aren't any patent restrictions that forbid royalty-free redistribution.

(IANAL.)

Finding out what the patents are

Posted Jul 17, 2009 14:41 UTC (Fri) by epa (subscriber, #39769) [Link]

The language was developed inside Microsoft, so it's likely they have many patents to cover different aspects of its implementation.
I suppose it is likely; one way to settle this question would be for Novell or someone else to find out which patents Microsoft holds that are likely to apply. Because this just means reading patents held by one company, it would be much cheaper than a full patent search. Perhaps then they could ask Microsoft to acknowledge that some of them are 'Necessary' for a C# implementation, and thus definitely covered by their no-sue promise.

The FSF warns (again) against Mono

Posted Jul 17, 2009 20:02 UTC (Fri) by mikov (guest, #33179) [Link] (2 responses)

I can only imagine the violent anti-FSF reaction and hate this will generate (or is probably already generating?) on various forums.

Anything that RMS or the FSF says is usually grounded in solid logic. Everybody would be wise to at least consider it.

As for me personally, and the businesses I am involved with, I would avoid Mono.

Which really saddens me because I like Mono. The language is better than Java, the implementation starts faster, it feels more lightweight, it supports static compilation, etc.

I have been on the receiving end of an IP-related lawsuit and it is an experience which one never forgets.

There are two RMSes

Posted Jul 17, 2009 20:38 UTC (Fri) by khim (subscriber, #9252) [Link] (1 responses)

Anything that RMS or the FSF says is usually grounded in solid logic. Everybody would be wise to at least consider it.

RMS (like Drepper) exist in two modes: free-flowing conversations and essays. While in mailing list and other fast-moving forums RMS and Drepper looks abrasive, arrogant and (quite often) just plain wrong with essays and articles we have different situation altogether. There every word is carefully cosidered and aligned to the rest of the article and it's very hard to find actual loopholes or errors.

Funny how two persons who hate each other so much can be so similar...

And yes, you can hate RMS's guts but you can rarely fault his logic when he does have time to carefully describe his position. And time and again reality shows that his worst fears have unfortunate habit of becoming true (often, but not always - Qt licensing issue was safely resolved, for example, but... can we be sure it's not result of GNOME existence?). After Tomcat's story we can safely forget Microsoft's "peace rhetoric" and so everyone should be vary of mono - this is known trojan horse. It's danger can be reduced and contained, but it'll never go away.

There are two RMSes

Posted Jul 18, 2009 0:51 UTC (Sat) by sjj (guest, #2020) [Link]

+1
This is very well put.

RMS can sound like a stubborn, arrogant, pigheaded zealot (possibly because that's part of his makeup ;). But his arrogant, stubborn, pigheaded stick-to-it-ness changed the world. For the better. Not many of us can claim that. I've never met him, but if I do, I will thank him for his life's work and beg forgiveness for being one of those annoying anonymous people analyzing his personality on the internet.

The FSF warns (again) against Mono

Posted Jul 18, 2009 17:53 UTC (Sat) by directhex (guest, #58519) [Link] (8 responses)

Which non-ECMA Microsoft libraries does Tomboy use, then?

Show your working.

Hint: it doesn't, which demonstrates the FSF's inability to apply basic research

The FSF warns (again) against Mono

Posted Jul 19, 2009 15:55 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link] (7 responses)

Whether Tomboy uses it currently or not is not very relevant. My reading of FSF's statement is that Tomboy is being suggested merely as an example of the class of applications which are vulnerable to this problem and F-Spot and others do provide us evidence that it is not a merely theoretical risk. The important point is that Mono apps frequently do not limit themselves to what is provided within the ECMA spec only and therefore still are not protected by the Microsoft community promise. FSF's advise is a good one. Instead of nitpicking, fix the apps so that they do not rely on anything outside what is covered within the promise and ECMA spec. The promise is not as strong as a patent grant and therefore still have some risk but we will limit it significantly. Considering that it is impossible to eliminate the risks and the applications have already been written, this is the least we should be doing now.

The FSF warns (again) against Mono

Posted Jul 19, 2009 19:34 UTC (Sun) by directhex (guest, #58519) [Link] (6 responses)

Wait a sec... "Instead of nitpicking, fix the apps so that they do not rely on anything outside what is covered within the promise and ECMA spec." - it's nitpicking to say JOB DONE in the case of the SPECIFICALLY NAMED APP?

How does that even make sense?

"Do this, but don't say you've done it"?

The FSF warns (again) against Mono

Posted Jul 19, 2009 19:40 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link] (5 responses)

Fixing it one single app hardly solves the problem being mentioned. Tomboy is just one example and probably the smallest. The list is longer and includes other popular applications. Fix the rest of them and then say you have addressed the entire class of problems. In fact, Mono applications developers should have done this long back since it hardly the first time this problem is being raised. Till then, FSF's point remains valid.

The FSF warns (again) against Mono

Posted Jul 19, 2009 21:10 UTC (Sun) by directhex (guest, #58519) [Link] (4 responses)

Which leaves only one real sticking point - ADO.NET, the System.Data namespace.

So. In your considered legal opinion, what needs to be done to make SQlite access "safe"? Which specific details of System.Data make it dangerous? What do apps need to do? Is renaming it to "Panda.Data" enough for all legal risk to suddenly vanish, in your mind? If not, what do you suggest instead?

The FSF warns (again) against Mono

Posted Jul 20, 2009 7:40 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link] (3 responses)

I suggest contacting SFLC if you must continue using Mono

http://www.softwarefreedom.org/

The FSF warns (again) against Mono

Posted Jul 20, 2009 8:58 UTC (Mon) by kragil (guest, #34373) [Link] (2 responses)

Nice try, but mono evangelists are not really into real legal advice.
They prefer to make it up themselves.

The FSF warns (again) against Mono

Posted Jul 20, 2009 9:22 UTC (Mon) by directhex (guest, #58519) [Link] (1 responses)

Oh, and that's your considered legal opinion is it?

The FSF warns (again) against Mono

Posted Jul 20, 2009 9:31 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

If you want legal opinions ask the lawyers. That's my non legal opinion :-)

The FSF warns (again) against Mono

Posted Jul 18, 2009 20:06 UTC (Sat) by speaker2animals (guest, #59643) [Link] (1 responses)

languages. Sun probably has patents that cover Java. Maybe IBM has patents that cover C compilers. "Shouldn't we discourage the use of these too?" they ask.

More importantly, Microsoft probably has patents that cover these. See below.

Windows Forms. Instead, we're talking about libraries under the System namespace that provide common functionality programmers expect in modern programming languages: binary object serialization, regular expressions, XPath and XSLT, and more.

Because these libraries are not defined in the ECMA specifications, they are not protected in any way by Microsoft's Community Promise.

The patents we need protection from, and hence that need to be covered in the MCP, are those patents that cover things in C# and CLI that are unique to C# and CLI (well, unique modulo patent office incompetence at recognizing when software is new, useful, and non-obvious).

Regular expressions, et. al., are not unique to C# and CLI. The C# and CLI specifications of those are the same as they are in most other languages and runtimes commonly used on Linux. If Microsoft has any patents that cover those, those patents are just as valid against Java, C, and every other Linux language as they are against Mono's implementation of C# and CLI.

Microsoft might also have patents covering particular algorithms they used to implement regular expressions and those other common things in their implementation of C#, but those particular algorithms would be no more likely to be in Mono than that are likely to be in any other independent implementation of regular expressions or the rest.

The above argument completely deals with the section named "incomplete standards" in the FSF's argument. The same argument also deals with the next section, "Figuring Out What's Necessary", where they worry Microsoft patents might cover some common way of performing some task, and so Mono could infringe that. Such a patent would cover that in the non-Mono language systems, too. If Microsoft is going to sue over such a patent, they are far more likely to go after something other than Mono, where they won't run into major estoppel and laches issues. I think Java would be their most likely target, as Java is a major competitor of theirs in the enterprise.

The "Moving the Goalposts" section stands up a bit better, in that there is nothing that is obviously wrong at first glance. However, it shows a fundamental understanding of what a patent is. When you get a patent on something, that gives you the right to exclude others from practicing that patent. It does NOT give you a right the practice the patent yourself. A popular example given in law school is that if you got a patent covering 3-legged chairs, you could stop others from making 3-legged chairs, but you might not be able to make 3-legged chairs either, because someone else might have a patent on legged sitting devices. Hence, if you were to license your 3-legged chair patent to someone else, you would be foolish to write your license as saying they are allowed to make 3-legged chairs. Your license would only say that you will not use your patent to stop them from making 3-legged chairs.

The second concern that the FSF raises in that section, the effects of a transfer of patent ownership on the promise not to sue, has more merit. Courts have leaned toward applying such promises to subsequent assignees, but some have gone the other way. At least one major manual of patent practice I know of recommends using a license over a bare promise just so you can write into the license that it applies to assignees and not leave any doubt. (Ironically, the FSF insists that the GPL be interpreted not as a contact but rather as a bare license, which means that it has the same theoretical problem).

Summary: after eliminating the legally erroneous parts of the FSF's argument, we are left with a possible concern that MCP might not apply to assignees if Microsoft ever transfers its patents to someone else (BTW, this would have to be a legitimate transfer--courts would see through a sham transfer to a shell company just for the purpose of getting out of MCP). For me, that isn't enough to be of concern--I will continue on my Linux systems to use whatever software gets the job done best, even if it is written using Mono.

The FSF warns (again) against Mono

Posted Jul 20, 2009 18:19 UTC (Mon) by makomk (guest, #51493) [Link]

More importantly, Microsoft probably has patents that cover these. See below.
Yes, but the patents won't be specifically aimed at that software, which gives more wiggle room to get in there with prior art and invalidate them.
Regular expressions, et. al., are not unique to C# and CLI. The C# and CLI specifications of those are the same as they are in most other languages and runtimes commonly used on Linux.
Yes and no. There are certain language-specific design decisions that have to be made when interfacing to regular expressions, XPath etc from a language. The open question is whether Microsoft has patented any aspect of the interface between them and .Net. (I have a feeling such patents wouldn't stand up well in court if it wasn't for the novelty requirement being severely weakened these days.)
they worry Microsoft patents might cover some common way of performing some task, and so Mono could infringe that. Such a patent would cover that in the non-Mono language systems, too.
Of course it could cover non-Mono languages. The concern is that Microsoft might have patented some common way of performing a task specific to implementing C#/.net. By tying it to C#/.net they'd again make it much harder to find good prior art, or even totally impossible.
If Microsoft is going to sue over such a patent, they are far more likely to go after something other than Mono, where they won't run into major estoppel and laches issues.
IANAL, so this is a bit beyond me. I can imagine the courts wouldn't look kindly on such a trick - but this assumes the defence can convince the court that infringing said patent was a likely or inevitable consequence of implementing the ECMA standard, which would be difficult in itself.
Hence, if you were to license your 3-legged chair patent to someone else, you would be foolish to write your license as saying they are allowed to make 3-legged chairs. Your license would only say that you will not use your patent to stop them from making 3-legged chairs.
No, it would say that it gave you a license to practice their patent on 3- legged chairs and would be legally binding on future purchasers of the patent. This is not a patent license, it's a promise not to sue, and as far as I can tell it doesn't bind anyone that Microsoft sells the patents onto.

The FSF warns (again) against Mono

Posted Jul 20, 2009 9:45 UTC (Mon) by sylware (guest, #35259) [Link]

mono/.net legal issues are the same with other software.
The real issue is that mono a huge technical kludge driven by MS (commercially too).
That's fairly enough to stay far away from it, period.
Hope debian and canonical won't force upon users such a controversial bloat (canonical plz). Each time I install a GNU/Linux Ubuntu, I must remove mono: tomboy is useless as my users don't give a damn of its use (same fate for the sainer sticky notes), and gthumb does the job instead of fspot, heard there are other image viewers, even ligther than gthumb and which do the job too.
The only real interest of mono is to be what is wine for win32/64, just a compatibility layer.


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds