I guess you saw the news about Microsoft submitting some licenses to OSI hoping for approval as "open source" licenses. You can watch Bill Hilf of Microsoft giving his talk at OSCON, which is where the stories emanated from.
That, to me, wasn't the news, since a Microsoft license was submitted once before, although I gather not by the company. But what I'm noticing is reactions.
ComputerWorld collected some truly astonishing responses, and if you follow their links, it gets worse. First, though, the reaction that matters, from Michael Tiemann:
Michael Tiemann, president of the non-profit Open Source Initiative, said that provisions in three out of five of Microsoft's shared-source licenses that restrict source code to running only on the Windows operating system would contravene a fundamental tenet of open-source licenses as laid out by the OSI. By those rules, code must be free for anyone to view, use, modify as they see fit.
"I am certain that if they say Windows-only machines, that would not fly because that would restrict the field of use," said Tiemann in an interview late Friday.
Why would this need to be said? What nerve Microsoft has to even dream of trying for such a restriction. A license that restricts use to only the Windows operating system. Why would OSI even consider that? Have we lost our minds? At least two years ago, folks began noticing the erosion of the meaning of "Open Source" by Microsoft. It moves like a glacier, but while it may be slow, it's hard to be in a glacier's path and win. But unless someone stands up, and soon, Open Source is dead as we know it, and Microsoft will take it over and remake it in its image. All that will be left standing will be GPLv3 and Free Software. Personally, I hope that doesn't happen. I have always seen the need for both, and I hope OSI has the vision to see what needs to happen next.
But will they? Get a load of these reactions to the announcement about the license submission:
"This is a huge, long-awaited move," Tim O'Reilly, CEO of O'Reilly Media Inc., wrote in his blog. If the shared-source licenses are accepted by the OSI, he added, "it will be a lot harder to draw a bright line between Microsoft and the open-source community." O'Reilly Media sponsored the conference at which Hilf made the announcement.
And blurring that line is good? Why? I hate to say this after they gave me an award and everything, but the fact is, Microsoft was also a Diamond Sponsor of OSCON.
Worse, is the reaction from Matt Asay, and it's worse because he's on the OSI board:
Tim's comments seem to reflect a belief that it's the community, not Microsoft, that has been barricading Microsoft out. The truth is mostly the opposite. Most of us would love to have Microsoft participate in open source.
The real news in this is that Microsoft recognizes what many "open source" companies apparently do not. Namely, that while others have groused about the OSI being out of touch with their efforts to dilute the value of "open source," Microsoft clearly understands the importance of the OSI. By contributing its shared-source licenses to the OSI for approval, it cements this fact and shows that it respects the community. Odd that Microsoft should grok the community so well when many so-called open-source companies clearly do not.
I welcome this move by Microsoft. It continues to impress me as being one of the few big companies that truly understands open source, even if I don't always like how it works with the open-source community.
Let me please clarify something for you. Most of us do *not* want Microsoft to participate. I would like to personally barricade Microsoft out, until it alters its negative, rapacious and hostile behavior toward the GPL and FOSS. And so should you.
Speaking for myself, I wouldn't invite them to speak at conferences or take their money. I know. That's the hard part for some. I wouldn't pretend the company isn't what it is, because it *is* what it is. This is starting to feel like Wonderland, where Alice finds that up is down and large is small and nothing is the same or logical. Think tea party strange.Why would anyone want Microsoft to participate? Seriously. Why? And no, patent deals with Novell don't make me like them. I despise them for what they did, and I know what it means. They intend to coopt Linux, destroy the GPL, and hop on board to make some money, honey. Oh, and kill it if it doesn't wish to be ridden, while isolating and rendering pointless and helpless all developers who won't go along. Why would you hope for that? Seriously. Why?
I hope you are taking notes, everyone, because there is a line being drawn in the sand, and everyone will have to make a decision, one way or another. I gather from Port 25's article that Microsoft is going to pack the OSI membership and then get what it likes. That is how I read this statement:
Although open source at Microsoft and the OSI are two different animals, I would submit to you that both are at a point in their maturity where their constituencies need to become more involved to maintain growth.
While it’s important to focus on the needs of a growing community membership, it’s also important to remember why you started it in the first place. In Microsoft’s case, the reason is simple: Customers. IT professionals told us they wanted both platform choices and platform interoperability. Developers told us that they wanted more open collaboration and that the language of that collaboration is code. In response, Microsoft has reached interoperability agreements with several key vendors of open source software, CodePlex is now supporting 2,000 collaborative development projects, and the features of CodePlex itself are largely driven by the votes of the community.
Today, we reached another milestone with the decision to submit our open licenses to the OSI approval process, which, if the licenses are approved, should give the community additional confidence that the code we’re sharing is truly Open Source. I believe that the same voices that have been calling for Microsoft products to better interoperate with open source products would voice their approval should the Open Source Initiative itself open up to more of the IT industry.
So what about the flip side of the OSI becoming a membership organization? Could they really be voted out of existence or rendered ineffective? It doesn’t seem likely to me. Participation in the OSI and adherence to OSI licensing guidelines and Open Source definitions is entirely voluntary. If it isn’t serving the best interests of the community, the community will go elsewhere. Anyone considering an effort to “vote the organization into the ground” would surely realize that such heavy handedness would be self-defeating. That’s not to say that a new membership structure wouldn’t lead to change, but I believe that these changes would have to be the result of vigorous consensus building and that’s probably not a bad thing.
Hardy har. Like Microsoft worries about being viewed as "heavy-handed". Remember Massachusetts? What it tried to do to Peter Quinn? If Microsoft does to OSI what it's been doing to technical committees voting on OOXML, speaking of heavy-handed, I think "consensus" is just another word for taking over by packing the numbers. In fact, when Michael Tiemann wrote about the idea of OSI becoming a membership organization, he asked that very question:
And what should be the process? And how should it be done? And how can we protect ourselves if 50,000 people who want to destroy open source decide they want to join and vote us into the ground?
How indeed? That's the right question, all right, because it acknowledges reality. But isn't it obvious now, at this juncture, that defining Open Source as just "open code" is not sufficient? If it's just about having fun and writing great code, why shouldn't Microsoft join in? Microsoft indeed can do that. But if it's about end users being free to do what they want with software, then that definition isn't nearly good enough to protect them.
And does Microsoft want to be an Open Source company? Puh-lease. They may want you to think that, but Steve Ballmer just told the world that it can't embrace that model:
"Open source has been the issue that surrounds us. Could a commercial model like Microsoft compete with open source? And we've worked very hard on making the value of a commercial company surpass what the open-source community can deliver, because frankly, it's not a business model we can embrace. It's inconsistent with shareholder value."
Does it get any clearer? And if they have no intention of adopting that business model, the right question is: why are they proposing open source licenses?
To pick off developers, silly, for starters and to start the usual Embrace, Extend, Extinguish junk. There is nothing new under the sun, Hilf or no. That statement tells me that as long as Ballmer is heading up Microsoft, the company has no good intentions toward FOSS when it tries for an embrace, and its moves toward open source licenses are not about wanting to be more open, and since Ballmer heads the company, it doesn't matter what Bill Hilf says or does. I understand some may feel there are factions inside Microsoft, and they may well be trying to give the faction hoping to take the company more open some public support. But I am free to just tell you the truth as I see it.
Indeed, I believe Microsoft will embrace Open Source only enough to Embrace, Extend and Extinguish it as it now exists and replace it with its own extended "Brand Microsoft" monopoly version, one that just happens to benefit and fit in to Microsoft's business model and that isn't open at all as far as control is concerned.
By the way, guys, check those license submissions carefully. Do they exclude the GPL? Do they exclude sublicensing or allow it only if the sublicensee contacts Microsoft to get permission? How about if a licensee sells the company? Is this all just a wicked game?
That is all "interoperability" means to Microsoft, I fear, a way to beat the competition in a devilish way, smiling as they stab the knife in Open Source's back. And all the time, they'll be mocking the community's definitions by seeming compliance, while twisting them with that ever-ready knife. If the twists are slow enough, by the time you wake up, it'll all be over.
In that connection, I suggest you look very, very carefully at the IronRuby initiative. The first rule with Microsoft proposals has to be: look for the devilish part. It won't be obvious.
Here's the license for it, Microsoft's Permissive Licence, one of the shared source licenses. Is it Open Source?
Is that the only question we should be asking? Here's another. Is IronRuby Ruby? Or is it a Microsoft-extended brand of Ruby, kind of like OpenXML (how I hate that use of the word open to confuse people, by the way) is XML but it's got extensions that are Microsoft-only or Microsoft-best. Ruby with a Microsoft twist.
In Ruby's case, my understanding is that it started as Ruby.NET under the MIT license. Microsoft has added some WPF functions to it. WPF stands for Windows Presentation Foundation. Some would tell you that WPF threatens an open web, the W3c standards, and
basically anything involved with the open Internet. I don't know, not being a programmer, but that's what I hear. WPF comes preinstalled in Vista. I gather it's what makes Silverlight hum Microsoft's way. For me, it's enough of a warning that Miguel likes the MPL as he did the patent deal and all things Microsoft. He says the license is "by all intents and purposes an open source
license". Whose intents? And whose purposes? Remember Lily Tomlin's old joke? If love is the answer, can you rephrase the question? And if this is "by all intents and purposes an open source license" then maybe it's time to look at that definition again.
[ Update: I'm told Miguel is mocking me in response, saying I don't know what I'm talking about. So let me make things clearer for him and those who listen to him when he tells us that this license is for all intents and purposes Open Source. Look at this page, where Microsoft itself describes the Permissive License:
There is no obligation for licensees to publish any changes they make in either binary or source code form.
Thank you, Microsoft, for making the legalese clearer for those who have trouble understanding it. My thanks to Egan Orian at the Inquirer for noting that description page. OK, Miguel. Please explain to us, mockingly or not at your option, how that is Open Source. You probably want to read the Open Source Definition before you begin. Note paragraph 2, Source Code:
2. Source Code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
So. To all intents and purposes the Microsoft license is Open Source? Please elaborate so we can all follow the bouncing ball. And for the rest of you who care about the GPL, please note this description:
Licensees may also charge a licensing fee for the modified work.
Think that makes that licensed stuff incompatible with the GPL? So, IronRuby is under this license. Okie Dokie. And how about this tidbit:
Microsoft has created a limited version, the Microsoft Limited Permissive License (Ms-LPL), of this license to be used for restricting usage to the Windows platform only. The platform restriction is a measure that may be chosen for a particular source code release in order to enable positive interaction with Windows-based developers.
If Microsoft really wants to be interoperable with FOSS, all it needs to do is follow standards. That's it. Then there is no need for "special relationships" with those willing to use a license that "enables positive interaction" with Windows developers. Want to see what interoperability means to Microsoft even when one is in a partnership? Take a look at what Mac owners are going through.[end update]
Here's how one Microsoft guy explains IronRuby:
Ruby.NET and IronRuby are separate Ruby implementations for .NET.
Ruby.NET was started at Queensland University in Australia. You can
find more details about it here: www.plas.fit.qut.edu.au/rubynet
IronRuby uses some of the Ruby.NET code (Microsoft licensed it), but
uses the DLR library for implementing the dispatching and code
Separate implementations. Yup. Just like ODF and PDF. Microsoft can't play nicely with others, folks. It has to have its own, and if you are stoopid, you will help them take over the world. Guess who won't be allowed to play in that world, by the way? The GPL and true FOSS. You think?
So let's say you are the the Devil at Microsoft. You write a license just good enough to squeeze past OSI. Now you announce to the world that Ruby... I mean IronRuby... is released under an Open Source, OSI-approved license. Yay! says the world. Welcome to the Open Source community. We're sure Microsoft will play fair.
Why would they start now?
So lots of dumb developers who only care about great code will run and help them make IronRuby great code. Now what have you done? What happens to Ruby? How hard is it then to add a twist of the knife? Let's look at the license again, in the Conditions and Limitations section:
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
It can be harmonious and still add proprietary little twists that make it so Ruby doesn't quite work well any more, and only IronRuby fills the needs of those customers everyone is pretending are driving the wagon here.
The same thing is happening to PDF and ODF. Microsoft is proposing its own alternatives, under the guise of "choice". It's a game, folks, and they're playing to win. But they can't win if you don't play. If you want the world to remain a software monopoly, keep it up. It's what you will get. That license may not directly violate any OSI requirements; but does it affirmatively meet them?
If you do play and that is the future for Open Source, you can have it. It loses all meaning to me. I didn't leave Microsoft products behind so I can find them again in a new guise. I don't trust that company. I shouldn't, after all I went through running their software. Words don't matter to me. They always talk pleasantly, except for Ballmer. But actions are what matter. And Microsoft is an Open Source company only if the earth actually is flat and the sun totally revolves around it after all.
Update: I notice on this Silverlight page, it describes it as offering Ruby and Python, not IronRuby and IronPython:
Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.
Gentlemen, I've done my part to point out the issue. The rest is up to you.