This morning Sam Ramji gave one of the closing keynote presentations at OSCON 2008. He talked about writing a new chapter in Microsoft's history with the open source community, and he promised to talk openly and honestly with us. It is a promise that he made to me personally when I met him between sessions a few days earlier. He also made a commitment to engage in difficult conversations about tough issues. And he announced some other concrete ways that Microsoft was reaching out to the open source community. But the subtext of all these commitments seemed to me to be a deeper question that Sam is trying to answer: what can Microsoft do to make peace and partner with the open source community?
In the past I've advocated for fair treatment of Microsoft with respect to the license approval process. And after approving two of Microsoft's licenses I've also written posts that have been critical of what I consider to be unfair or hypocritical behavior of Microsoft (toward open source)    and . When I was notified of the Sandcastle debacle I concluded that Microsoft had stooped to a new level to discredit open source, namely, to prove through its own bumbling actions that Open Source is so terribly difficult to get right that mainstream corporate America (which is clearly not as smart as Microsoft) would do best to stay clear away. But Sam tells me that I have it all wrong. And he tells me that he's committed to proving that Microsoft can act in good faith. And I believe that Sam does believe that, which is a start.
After Sam's keynote there were quite a number of people who wanted to probe Sam's statements, as to their depth, breadth, felicity, and, most of all, their agreement with observable Microsoft policies and behaviors. It was not a friendly crowd. Nevertheless, there was great insight contained in many of the questions, the best of which came from Jim Blandy. Jim politely thanked Sam for co-sponsoring OSCON and newly sponsoring the Apache Software Foundation, and then he asked (something along the lines of)
It is not possible to infringe a patent by merely implementing it, so Microsoft's promise to not assert patent claims against developers [for software within its universe of standards and interoperability] is moot. When is Microsoft going to step up and promise to not assert patents against those who distribute and practice the patent, namely the commercial open source companies and in particular, users of their software?
Sam responded that Microsoft has signed a number of agreements with various software companies to protect them and their users, an answer which inflamed rather than satisfied the audience, myself included. So what can Microsoft do for Open Source, really?
Well, let's think big. The Open Source community already has more than a billion lines of source code at its disposal, and it's doubling every 12.5 months, so I think it's fair to say "we don't really need your code". And we also know that money alone is no substitute for the freedom to innovate that we so crave. So what big thing could we do with Microsoft's cooperation?
There are really four things on my list, but if they did only the first, it would be a meaningful start. The list is:
- Pursue the abolition of software patents with the same zeal they showed in their efforts to get OOXML approved as a standard.
- Unilaterally promise to not use the DMCA to maintain control of their Trusted Computing Platform.
- Transition to 100% open standards (as defined by the OSI, IETF, W3C, or the Digistan).
- Stop trying to maintain their monopolies by illegal, anti-competitive means  .
We are now at a moment in history where science, logic, and economics all show that software patents are bad for the industry and bad for society. Even the US Congress is gearing up to confront a massively broken system. But Microsoft, who themselves are subject to hundreds of millions of dollars a year in frivolous patent claims against them, is not well-positioned to tackle the problem single-handedly: could you imagine Steve Ballmer testifying on Capital Hill about why we should abolish software patents and then facing all sorts of questions about why we should preclude little monopolies from having their chance to become larger monopolies? Therefore, what Microsoft cannot do without the open source community, and what we're having a hard time doing without Microsoft, is an historic opportunity for us to work together in a meaningful way. Namely, to present a consistent front that places companies and communities together in opposition of a legal accident that should never have happened in the first place. Together we can show the patent trolls for what they are and use our privilege of living in a democracy to restore to the public what also benefits the public: the freedom to innovate.
Microsoft could try to take the easy way out and offer a patent promise like the one that Red Hat offers, and I'm sure many would like that. But why take the step of unilaterally disarming when we have the chance to disarm everybody through the legislative process? Or better yet, Microsoft should make a meaningful patent promise today, and make a commitment to fight software patents until they are abolished. This means they go off the books in the US, they don't make it onto the books in the EU, and the rest of the world joins a new innovation commons unfettered by patent fears.
As to the DMCA and so-called Trusted Computing, I think that the SE Linux project has made it pretty clear that one can build a secure operating system without resorting to secrets at the implementation or interoperability level.
The other two points on the list are self-explanatory. Be a good corporate citizen and then everything you win (and everything you lose) is all to the good for the good of all. At least that's what I understand about fair and open competition.
So, as a first step toward a meaningful relationship with the Open Source community, would Microsoft join us in our long-standing effort to abolish software patents? If so, Microsoft can count me as a partner in their efforts. Please add a comment with your name and affiliation if you want to join me in extending that invitation as well.