Microsoft continues with moves that make it easier for open source projects to use its technology. On Tuesday, Microsoft published the Microsoft Open Specification Promise (the link to the actual promise document can be found here) which guarantees that Microsoft will never sue anyone for using patents related to critical web service technologies. Microsoft the company being careful in ways that I, an employee, am not (which means this is MY opinion, not Microsoft's), they are leaving it to the GPL folks to determine whether this promise not to sue meets their requirements for use of the technology, but open source fans and thought leaders around the world gave the move their stamp of approval.
This isn't the first time Microsoft has done something like this. They are doing the same thing with the Office 2003 XML Schemas. Is this a trend?
I sure hope so. I spoke less than a month ago about the fabric of innovation, and how the divide between the open source and proprietary world separates the innovative power of the software development community into two incompatible - and often warring - streams. Far better if some middle ground could be achieved that enables open source software to use proprietary software without any ideological or legal hindrances, and vice-versa. That way, the efforts of those motivated to innovate for free can be combined with innovation motivated by financial incentives to accelerate the advance of the software state of the art at a faster clip than is possible when the two sides are required to follow incompatible paths.
Microsoft, however, isn't the only one who has to change. It would be great if Microsoft could release more of its own products under open source licenses (or, at least, parts of those products, as a hybrid model is a better means to secure a revenue stream). Likewise, it would also be great if Microsoft could find a way to use more open source software within Windows. Open source programmers would see their efforts used in a product used by a huge percentage of the computer-using public (both business and regular consumer), and in so doing would have more access to source code used in Windows than if Microsoft avoids their efforts like the plague.
To make that happen, certain things need to change on the open source side that make it easier to do that. First up would be to make LGPL-style rules on open source projects more the norm, and the "purist" GPL, a license that requires that products that simply link against the binary code of a GPLed product be covered by the GPL, a rare and curious oddity. Another issue would be problems of verifiability of the technology in GPLed code. Right now, many proprietary companies fear the liability that accrues from simple use of a GPLed product given the uncertain genesis of the code used therein. If you are small proprietary company, the threat is less pronounced, but if you are a massive company like Microsoft, even small risks can quickly balloon into massive ones given the way lawsuits flock to large agglomerations of capital like flies to a bug zapper (except, sometimes, the flies manage to beat the zapper, and even if they lose, the lawyers survive the experience).
To make all this happen, control over the center of gravity in the open source universe needs to be wrestled away from Stallman and his ilk and towards a more pragmatic group that, if my experience in the Talkbacks is any indication, clearly constitutes the majority of the open source community. If I had a dime for every time an open source fan said that Stallman does not speak for them, I wouldn't be rich, but I certainly would have enough to pay for a very nice dinner at a posh Los Angeles eatery of my choice. Even so, Stallman has a disproportionate amount of control over the terms of the license that is most commonly used in the open source world.
So, on the one side, you have Richard Stallman, declared enemy of proprietary software. On the other, you have Microsoft, the archetype of the proprietary software company against which Stallman and company fire their cannons. Somewhere between the two lies a middle ground that would satisfy MOST developers while enabling open source projects to use Microsoft technology, and vice-versa. It's a middle ground that would be the best of both worlds, if only either side of the trench warfare that is open source vs. proprietary software could see the way straight towards a compromise.