I still don’t know if there are any hidden tricks in Microsoft’s Community Promise. Hopefully the SFLC will clarify. In the meantime, I notice some people pointed at a pair of possible problems:
[Microsoft] promises […] to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification
New versions of previously covered specifications will be separately considered for addition to the list.
Now, what I find interesting here is that in both cases they’re NOT necessarily blockers for free software. I repeat, I don’t think they are necessarily a problem. Whether they are not, depends a great deal on the response the Mono community will give.
Is #1 a source of patent liability for companies deploying Mono? It depends. What if the Mono project sticks to a covered version of the standard, and only declares the next one as “stable release” after complete compliance has been archieved?
And #2? It’s only a problem if a version of the standard is implemented and pushed as suitable for production before it has been approved and added to this Community Promise.
I don’t know how is the Mono community going to respond to this. After I’ve read phrases like “patents are worthless” and “we piss on patents” from some of their members, it’s hard to imagine they’re all going to take a constructive attitude. Nevertheless, and much to his credit, that’s what Miguel de Icaza has been doing the last few days:
In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.
As for Moonlight’s covenant, not only we are on the same page, most importantly, Microsoft is on the same page. But things take time.
Replacing System.Data is a trivial exercise. The code in question is some 200 lines of C# interfaces (a contract that providers implement) that need to be replaced with something else.
So is this just a PR stunt, or is it going to last? I suppose time will tell. If you’re looking for an answer to that question, the existing dependancy Banshee/F-Spot have on System.Data (which is not covered by the ECMA spec) is an interesting place to watch.
But as for now, to each what he deserves. Miguel: admitting that there is a problem doesn’t make you weaker. On the contrary, it’s the first step in solving it. Thank you for doing this.