Why you probably don't want to get Mono/Moonlight

Previously on "FOSS Holly Wars":

Last month a big Linux/FOSS conference was held in Israel. You know, the usual stuff - some interesting sessions and geeky activities but this year was a little different. This year Microsoft was one of the sponsors (this is somewhat not surprising if you monitor recent MS activities).

Some Israeli community people made a big fuss about it and did their best to prevent this from taking place but eventually Microsoft not only had their logo printed on the official conference T-Shirts alongside the cute penguins, they also got session time to propagate their shiny new friendly face to the FOSS world. In this debate I took the side that agreed to allow MS have a word. I think it's important to at least listen before you judge something. But that's not want I wanted to talk about.

Amir Shevat of Microsoft spoke and demonstrated Microsoft's superior Silverlight technology and tried to convince the audience that the war between MS and FOSS is over and we should learn to work together. He claimed that Silverlight is cross platform and can be easily used on Linux (which turned out to be false). He tried to convince the audience that it's Free for use. I tried to get to the bottom of the use of the "Free" word again by asking Amir a simple question :
"Do you grantee that if I use Mono and the .Net implementation, I won't eventually be sued by Microsoft?". In a personal talk I asked him another question: "Is it redistributable?".

Attack of the Lawyers

The answer was "Let me check with the company lawyers". Later on, when Amir was confronted with the same question again, this time by the press(Hebrew), he replied "I'm a programmer, not a lawyer ...". Two weeks ago Amir had sent me the "lawyer's reply" presenting this link (AKA "The CNS" - Covenants Not to Sue Downstream Recipients). I promised him that I'll keep my blog readers up to date with whatever the answer is.

I think that in the F/OSS business each of us must be just a little "lawyerish" and be able at least to understand what the GPL3/GPL2/LGPL/BSD/CC means when we use and share code and content in our projects. That's why I think that reading this document can be done by someone like me (who is not a lawyer) and as you will see, reading it and noticing the important stuff is not a brain surgery.

So, Let's see what we have here ...

The user of Mono/Moonlight is allowed to be a "Downstream Recipient" who may use it, but ..
"An entity or individual is not a Downstream Recipient when such entity or individual resells, licenses, supplies, distributes or otherwise makes available to third parties the Moonlight Implementation."
Which means it's NOT RE-DISTRIBUTABLE!

Moreover, the CNS talks about "Downstream Recipients of Novell and its Subsidiaries".
And what if I'm not a Novel client?
What if I use Ubuntu, Redhat or Debian?

And what about this part in the CNS:
"Microsoft reserves the right to update (including discontinue) ... "
Microsoft can discontinue the CNS whenever they like to. So I'm asking - what does this CNS really worth? I guess not much because right now it's a good time for MS to collaborate with Linux and FOSS because they need every developer they can get to beat Adobe's Flash in their own game. But this might (and probably will) not be the case in the future.

Can this all be true? Is this the document that "allows" me to use Mono/Moonlight on Linux? because it sure doesn't sound like it. Did Amir mistakenly send me the wrong link?
(I'll go on with this post assuming it's not the wrong link, but you may correct me in the comments if you find other legal references and I'll do my best to update this post accordingly)

I wondered what Miguel de Icaza had to say about this and stumbled upon this link in which he says that he knows about these legal issues but at least implementing the VM is no danger and Sun is in the same threatening position as Microsoft. To this claim I can only say:
1. Sun never sponsored(2007!) a raging patent vendetta(2007!) against Linux in the past. (notice the links, this happened only a year ago).
2. Sun started releasing code licensed under the GPL3 (GPL3 carries with it an explicit patent grant). If they keep moving in this direction, the above MS-Sun comparison is truly void.

To conclude the way that I see all this: Microsoft picked a clever strategy in which they can make the omelet without breaking eggs. They get more developers on one hand (who are not lawyers and some don't understand the implications) and They still maintain full control and they WILL sue when their technology will beat the competing technologies (Flash) in popularity.

Practice what I preach

This information is very alarming considering the fact that Mono is already integrated and installed by default in Ubuntu, one of the major Linux distributions out there. But at least for now it should be easy to remove - only two application rely on it: Tomboy and F-Spot. Finding alternatives should be easy enough but we should act NOW to remove it from Ubuntu.

On the Personal level, as a Local(ized) Linux Distributor ([1], [2], [3]), I will remove Mono from the next version of Ubuntu Hebrew Remix and find alternatives for these applications.


tony2001 said...

I've been avoiding Mono since the very first time I saw it (a huge package, it was required by some micro-program..), but didn't actually have a good reason for that. Now I have it, thanks.
The Silverlight thing have always looked kind of queer to me, so no surprise here.

elcuco said...

I personally don't understand why does anyone piss on what MS says on this subject. Do they have a copyright or copyleft on the mono CODE?

The code is released under a GPL/LGPL/BSD license, way... way.. before MS got with their FUD. This means Mono is GPL, which is free, which is re-distributable. GPL prohibits the addition of new condition to the contract, and I fail to understand when such license change happen, and why did *all* the contributors to the code of mono agreed to this change.

Again, IMHO, IANAL, but it seems like FUD. They have no way to enforce this license, since they are not the "owners", or copyright owners of Mono/Moonlight.

Shachar Shemesh said...

As the CEO of the company sponsoring (at least the distribution part) of the Ubuntu Hebrew remix you do, I'm not sure removing Mono is the right thing to do. I'll need to consult with a lawyer, but as far as I understand this, being in Israel, it is unlikely that MS has any patent claims that will stick here.

If you're afraid of getting sued, I think (again, pending lawyer consulting) that Lingnu will be glad to pick up responsibility over potential patent claims.

I should point out that we are responsible anyways. The moment the Hebrew remix is distributed from our servers the way it does (it's not like we offer anonymous distribution, after all), we are as liable, if not more, than you to get sued over the content of that file.


shlomil said...

Hey Tony! long time no see. thanks for dropping by :)

It doesn't matter what is the license of Mono as long as everybody knows it implementing MS technology and MS will use the patent weapon like it did before - Only last year MS announced that Linux violates 235 of its patents. What do you think will happen when most Linux distributions will depend on Mono. Take a wild guess.

You're kidding, right? Just in case you are not kidding:
The UHR scripts allow me to easily maintain multiple distributions. If you think it's a problem I can keep UHR as close as possible to Ubuntu and use another "brand name" for the distribution I want. Anyway, each change the script is performing is maintained in a different shell script (have a look at distros/UbuntuHebrewRemix/scripts) and that's the beauty of it - if you don't like some changes you can always delete the files responsible for it and rebuild your distro.

Shachar Shemesh said...

I don't think I was understood correctly. I'll try to clarify.

The "patent war" is fought by MS by making threats. MS is not, and will not be any time soon, be suing anyone. When MS start suing end users, you will know it is time to dump their stocks. Suing your potential customers is a sure sign of a dying company (see SCO, and that's not the only example).

Not being able to sue, all MS can do right now is threaten. Taking these threats seriously means giving in to MS's strategy. Rejecting free software for no reason other than some obscure future threat means doing what you claim they want you to do!

What I tried to say, perhaps unsuccessfully, was this: If you will stop packaging Mono because you are afraid of being sued by Microsoft, Lingnu will assume full responsibility to you in that regard.

If you want Mono out for another reason (say, because you don't want people to depend on it), then I must say I disagree with that reason (see above for why), but it is, indeed, your call.


MS will, likely, not be able to sue even if they want to. My totally lame-person analysis says that they are trapped between estoppal and "innocent infringement" defense. They cannot easily withdraw the pledge (estoppal - they encouraged people to use it), and even if they did, they cannot sue for damages (they never stated what the patents are, so any infringement is an innocent one). Now you know why I can afford Lingnu to give you the above promise :-)


shlomil said...

A year later and people still ask the same question: