07.20.09
Gemini version available ♊︎Why Mono Redefines Free Software
Summary: Free as in Freedom, with Microsoft’s conditions that are not enforceable by law
THE MONO-NONO WEB site has just published this long post which explores the impact of Mono on the term “Free software”, assuming Mono qualifies as “Free software” in the first place.
The question then becomes: Do you think that the licensing of the software, when combined with the patent assurances Microsoft has given are sufficient to meet all the requirements of the Four Freedoms? Of the Debian Free Software Guidelines?
Think on that in great detail and see what answer you come up with – think on it first trusting Microsoft to do the “right” thing, and once again assuming Microsoft will do the “wrong” thing. Can software be conditionally Free, depending on the intention of Microsoft? It is a sort of Schrödinger’s Freedom – how Free the software is depends on how Microsoft decides to act!
Perhaps you think that the assurances of the ECMA/ISO standard and the Community Promise are sufficient when combined with the licensing terms to consider Mono Free Software. I do not think that is an unreasonable conclusion. Now, read Microsoft’s Moonlight Covenant, and see if you get the same answer about Moonlight.
This matter is becoming important because code which falls outside Microsoft’s Community Promise will make it into GNU/Linux distributions [1, 2, 3, 4, 5] if Banshee’s vision is realised. Mono and Moonlight are persistently being promoted by Novell’s PR people, so it is by all means a strategic focus for Novell. █
Jonathan Wong said,
July 20, 2009 at 11:36 am
I work for Microsoft, if you don’t know already.
Just curious, but what does the community here think of the breaking news that Microsoft is going to contribute code to Linux under GPL?
http://www.techflash.com/microsoft/Microsoft_contributes_code_to_Linux_under_GPL_51145562.html
Good? Bad?
Andrew Macabe Reply:
July 20th, 2009 at 1:39 pm
GPLv3?
Roy Schestowitz Reply:
July 20th, 2009 at 1:51 pm
The Microsoft Kryptonite…
Seriously now, I am going to write a response to this in a few minutes (as a new post).
zatoichi Reply:
July 20th, 2009 at 8:47 pm
GPL v2. Honestly, no one really understands the implications of the v3 GPL in details. I think I can say that the folks at the SFLC (based on getting two radically different answers to the same issue from two different folks there) don’t understand the v3 GPL in details.
There are a lot of issues, with the license itself, as well as with the process by which it was developed. When it’s been my call, I’ve set a policy that GPL v3 code can’t be used in a project, it raises too many uncertainties and presents too many potential risks.
I know a lot of FLOSS developers, and I include folks from CodeThink, Collabora, Fluendo, Igalia, Movial as well as independent developers and engineers in the larger, better-known companies (and, yes, I am friends with people from Novell; I am friends with Miguel de Icaza, and if you were to say some of the things that were typically said around here about Miguel, before we got all polite and all, in my physical presence–at a conference, say, were one to ever attend one–I think I can safely say–without going into distressing detail–the results would not be easy on the eye, shall we say). The world in which they live, in many cases–and this is the world in which I pretty exclusively live–requires (and it’s not my requirement, it’s the requirement of the folks who pay us, i.e. our customers) oblige us to mix FLOSS and proprietary code.
No doubt this offends your sensibilities, but not all of us are in positions where we can finish our theses at great leisure while running informational sites on the web which get millions of hits a day, nor are we in positions where actual foundations exist for at least the partial purpose of supporting us (Linus is another lucky fellow this way). Some of us have those occasional bills to pay.
GPL v3 is a big unknown. Big unknowns make people running businesses kind of edgy, you know? They particularly make the nice people who manage risk–like the nice people in the Legal department, and myself in one of my various roles–uncomfortable.
Back in 2001, no one could explain the v2 GPL. I mean this quite literally, in the “I asked Richard Stallman and Eben Moglen the same question independently and got two different answers” sense of things, if you get my drift. There is, in fact, a lot of the GPL v2 that people still don’t understand in a “would it stand up in court if it came to that?” sense, however, we’ve built up a body of pretty standard practice and lore on the right ways and wrong ways to do this, and guys like Harald Welte and Armijn Hemel (both of whom I’m friends with, do you know them? Nice guys… but I digress…) of gpl-violations.org help keep us all honest.
Interestingly, Harald and Armijn are quite okay with proprietary code in the devices they analyze as long as it’s done in ways that conform with accepted community practices. They don’t believe that every bit of software (heh) needs to be Free or even free. They, like all the folks I know are pretty pragmatic about such things.
Anyway, there are plenty of solid reasons to stay away from GPL v3 right now. Don’t even get me started on Tivoisation. “Hard cases make bad law.”
zatoichi Reply:
July 20th, 2009 at 9:03 pm
Well, it good, obviously, Jonathan. It’s a little surprising–Greg K-H posted to his blog about it–but the folks working in actual FLOSS development, if Greg and I are any indication at least, appreciate it. Microsoft has both publicly recognized the GPL as a valid license under which to release code (as opposed to “communism” or a “virus”) as well as publicly recognized that this is the appropriate license to be used for Linux kernel drivers.
I would not be surprised if other opinions around here differ. While I certainly am not a mind reader, I expect that the regular contributors to this site will–unlike Greg, a long-term and prolific contributor to the kernel and unlike me, a long time community leader, and let me point out that it would be impolite to argue with me about this, I was at the Summit, I have the t-shirt–doubtless suspect some sort of plot.
There is some secret mechanism, known only in a small circle, which–when the time is right and the stars are aligned–will click over inside these drivers, in spite of the code being completely public, because that’s how devious and dangerous Microsoft is, and every Linux system (or maybe just the GNU/Linux systems, I’m not sure) on the planet will be suddenly infringing some patent in Nathan Myrrhold’s possession.
And then the jig is up. We’re all going to be sued into bankruptcy, and the paramilitary branch of Microsoft will march us all off to enforced labor camps where we will code Virtual Basic programs as slaves until our untimely demises.
I’m not sure I have every single detail right, but apparently Roy’s working something up. I’m guessing you can imagine how much I’m looking forward to that!
Jose_X Reply:
July 21st, 2009 at 12:20 am
You’ll find my comment and those of others here: http://www.linuxtoday.com/news_story.php3?ltsn=2009-07-20-021-35-NW-KN-MS&tbovrmode=1#talkback_area and here http://www.linuxtoday.com/news_story.php3?ltsn=2009-07-21-003-35-NW-MS-SV&tbovrmode=1#talkback_area
Short story: Microsoft wants to run underneath Linux. To hope to hold their monopolies, they need to support everything anyone would ever want (eg, from Linux or from FOSS). For starters this means Linux needs to be able to run over Windows adequately (at least early on before the “bugs” and performance issues start growing) or else people will do Windows over Linux instead.
Here is another link: http://www.linuxtoday.com/developer/2009072002935OSMSLL . It’s about how it took a while for the GPL license to be followed.
BW Reply:
July 21st, 2009 at 2:21 pm
I’m withholding judgement on this until I see how and if they genuinely support it. MS has a history of intentionally breaking APIs to attack competitors, so if a couple of months from now, SLES is running fine on Hyper-V but Red Hat suddenly has “compatibility issues,” I won’t be at all surprised.
More code is always a good thing, though. At the least, it gives the GPL community an opportunity to see what MS’s virtualization model requires and learn from it. We can also probably assume that Windows will run under that virtualization model, and use it to ensure that kvm can run Windows at least as well as Hyper-V does. Turnabout is fair play, after all.
The real measure of MS’s commitment to actually supporting Linux will be if they continue to participate in the process – I’ll believe that their engineering team has its heart in the right place when I see the first patch made to Hyper-V, for Linux performance enhancement. Otherwise it’s is a one-way street for MS, and I don’t think many kernel developers will bother spending time ensuring that their patches don’t break Hyper-V compatibility…
twitter Reply:
July 21st, 2009 at 9:29 pm
Tell your M$ Masters that twitter is pleased but not interested. I would no sooner put gnu/linux in a M$ cage than I’d run M$ Windows in the first place. You can keep it, I don’t want it.
I have offered M$ terms of endearment before, aka unconditional surrender. They can liberate their code, all of it, fire people like you, Mr. Wong, and quit pushing around OEMs vendors and retailers. Until they do this, their code will continue to be stale and third rate and M$ they are at war with software freedom.
zatoichi Reply:
July 21st, 2009 at 10:29 pm
Tell your M$ Masters that twitter is pleased but not interested. I would no sooner put gnu/linux in a M$ cage than I’d run M$ Windows in the first place. You can keep it, I don’t want it.
Well, that’s a noble sentiment, Mr. Hill, and I think I can state with complete confidence that no one at Microsoft is going to come and hold a gun to your head and force you to run a virtualized Linux on top of Server 2008.
I’m sure Jonathan will be happy to confirm this, although he may need a little lead time to check with Intergalactic HQ. We couldn’t want you to get incorrect information here.
Now, whatever your feelings on the matter might be, it seems that Greg K-H, the official maintainer of the kernel driver tree, wants it just fine. Is Greg also then under the thumb of “M$ Masters” (we’re not talking golf tournament here, I assume)?
I have offered M$ terms of endearment before, aka unconditional surrender. They can liberate their code, all of it, fire people like you, Mr. Wong, and quit pushing around OEMs vendors and retailers. Until they do this, their code will continue to be stale and third rate and M$ they are at war with software freedom.
(“Endearment”? I didn’t think Mr. Ballmer was your type, Mr. Hill…) I think it quite unlikely that Steve Ballmer is going to accept your terms, if only because the shareholders would have him thrown out before he could get any distance in capitulating. So it seems as though your only recourse is war.
I hope you’ll be sure to remember to keep your helmet on as you crouch in your foxhole, wars are dangerous places. In the meantime, Greg will do his thing, as he does so well, and get those drivers integrated into the kernel build, and all those sysadmins running all virtualized Linuxes on Server 2008 boxes will happily move ahead, secure in the knowledge that you’re holding down the front against the inevitable onslaught that awaits them all.
We salute you, Mr. Hill! (Nice to see you were able to work out setting up and ID so you could join us!)
zatoichi Reply:
July 21st, 2009 at 10:46 pm
I have offered M$ terms of endearment before, aka unconditional surrender.
I’m trying to work out what you’re saying here, Mr. Hill. I doubt you can mean “terms of endearment”, especially toward someone with whom your (apparently) in a state of war.
A “term of endearment” is a pet name, one you would call someone to whom you were close. If, to take a completely hypothetical case, you were to have a girlfriend (and I use you only as a convenient example, I have no knowledge of whether you actually have a girlfriend or not), you might call her, say, “Snoogie-woogums” or “Mistress”. These would be “terms of endearment”.
I wondered if you might mean “terms of engagement”, but those are the rules by which one conducts a war, not the agreements by which the various sides end one.
So, I think you must have meant “terms of surrender” here.
While we’re here, I’m just a bit curious, Mr. Hill. In the IRC log which Roy inserted in the comments to this article, you say, “Lefty works for a company called ACCESS right now. Does he still use a Mac?I put as much as I could find in here last night.”
Put as much of what as you could find, in where, Mr. Hill? As much information as you could find out about me into the IRC channel? Is that correct? To what end might you be collecting a dossier on me, Mr. Hill? Is there some particular information you’re seeking that I could, perhaps, help you with?
powered_by_tux said,
July 20, 2009 at 1:11 pm
A question that keeps me severely thinking:
As we know from inerrant Microsoft, Linux is a cancer that infects everything it touches. Microsoft just touched Linux. Is Microsoft a cancer now?
Will Reply:
July 20th, 2009 at 1:56 pm
Hasn’t Microsoft always been a cancer to the industry?
DiamondWakizashi Reply:
July 20th, 2009 at 2:16 pm
“Hasn’t Microsoft always been a cancer to the industry?”
Yes.
http://my.opera.com/BoycottMicrosoft/blog/index.dml/tag/sleaze
zatoichi Reply:
July 20th, 2009 at 9:13 pm
I think you need to define “cancer to the industry” a little more tightly to get a meaningful answer to that question.
If you are afraid of some device drivers, the source of which is available for anyone to inspect (and modify if they like), then you are not dealing with an issue–to the best of my ability to discern, but feel free to educate me–that is located in “objective reality”.
I fear no code. Neither does Greg. But then, we’ve actually written a lot of it in our respective times.
Folks who might view code as an object of something akin to religious worship, or as some sort of a political system, may see different issues here. I’d certainly be interested in hearing about those!
Will Reply:
July 21st, 2009 at 7:16 am
@ zatoichi:
My question was somewhat tongue-in-cheek, mostly referring to the way Microsoft distorts the industry by abusing its position to shut down or lock out any potential competition or non-Microsoft technology by any means possible, ethics and laws be sent to /dev/null.
But if you want a response to MS contributining GPL v2 code (and keep in mind I haven’t followed it too closely): I guess I’ll wait and see. I’m less concerned about whatever traps may or may not be in a GPL v2 contribution from Microsoft than I am about what traps Microsoft might be planning with Mono. I have no doubt that Microsoft’s contribution of the GPL v2 code was probably done solely with Microsoft’s interests in mind (interoperability is a good thing even for Microsoft, though Microsoft often seems allergic to it until its hand is forced) , but one would think the license and open source nature of the GPL v2 would severely limit the potential for underhanded shenanigans within the code. Time will tell, I suppose.
Yuhong Bao said,
July 20, 2009 at 3:53 pm
Yep, again they are trying to use software patents to do what software copyright once did, hoping people will miss it.
zatoichi Reply:
July 20th, 2009 at 9:26 pm
I solemnly swear that I had not read this comment when I wrote my own comment predicting the response of some of the folks around here.
Okay. Let’s say you’re right. There’s a magic secret patent hidden in the Hyper-V drivers. Do you know what Hyper-V drivers are?
They allow a Linux system to be run on a virtual machine within a Windows Server 2008 system. I know this sounds bizarre, perverse and horrifying, but–like most things people think sound bizarre, perverse and horrifying–it turns out that a surprisingly large number of people do it.
Now, let’s suppose that the Fateful Day arrives, and Steve Ballmer pulls the big switch and, in an instant, every Linux system running on a virtual machine inside a Windows Server 2008 system suddenly becomes an infringer of Nathan Myrrhold’s Secret Patent of Doom. What happens next?
Every company in the world that’s run afoul of this Secret Patent of Doom immediately pitches Windows Server 2008 and a whole bunch of ‘em sue Microsoft for illegal infringement of trade. Microsoft loses its rights to use software licensed under the GPL v2, probably forever–something which, I absolutely promise you, would inconvenience them–but, in compensation, it gets an incredible amount of the most hostile press coverage imaginable. Maybe even a nice Congressional sub-committee to call their very own.
Or am I missing something?
Yuhong Bao Reply:
July 20th, 2009 at 11:14 pm
I was not talking about Hyper-V. I was talking about Mono.
Homer said,
July 20, 2009 at 9:04 pm
@Jonathan Wong
Microsoft’s “contribution” was made for one reason only, and that’s to promote their virtualisation stack. Ultimately, this only benefits those who run Windows.
Are we supposed to jump up and down for joy because of this?
Hardly.
zatoichi Reply:
July 20th, 2009 at 9:32 pm
No, I wouldn’t expect you (meaning the majority of regulars here) to think anything Microsoft did was anything other than the Four Horsemen of the Apocalypse, but those of us who are participants in the FLOSS development community–and I’d mention Greg K-H, who’s one of the guys who’s responsible for you being able to run that kernel you love so much on the piece of hardware you have–think it’s just fine.
We’re pleased that Microsoft is submitting code to kernel project. We don’t mind. It’s free software development, and anyone–anyone–is free to join in, as long as they play by the rules, and Microsoft has played by the rules on this.
I want someone to inform me that Greg K-H is, in fact, a “Micro$oft shill”.
zatoichi Reply:
July 20th, 2009 at 9:33 pm
Please don’t make me beg.