May 25th, 2010

Complaining is a privelege, not a right

In politics, few things frustrate me as much as listening to someone complain about the current Congress and/or Administration, only to be told, when you ask them how they voted, "Oh, uh, I didn't actually vote. What's the point?" Surely one of the points is to recognize that you don't have a right to complain. Instead, you earn the privelege to complain by engaging and attempting to affect change.

Andrew Oliver, whom I quite like, and who has brought much needed sanity the OSI, as a recent blog post up titled To Microsoft, Open Source means "Windows Encumbered". He summarizes his complaints with Microsoft this way:
  • "They have not retracted their patent FUD against Linux.
  • They (a founding member of the BSA) did not speak out against the BSA/IIPA's attempt to have the US government equate Open Source with piracy and as anti-capitalist.
  • They continue to attack, with legal action or threats, any open source that competes with any of their core products.
  • They continue to hijack standards boards with "standards" that are encumbered by patent or platform constraints."
I think that his latter two points are false, or at least gross exaggerations. But truth isn't the issue here. My question is: which among us has earned the right to complain? Microsoft is a frequent target of criticism from the open source community, but criticizing alone is the lazy person's way out. The hard work begins when you adopt an approach of constructive engagement and actually roll up your sleeves to try and affect change.

No company has a perfect record when it comes to open source. IBM deserves credit as an early champion of open source, yet holds one of the largest software patent portfolios in the world. Apple has made important contributions to open source with WebKit,  yet I find their "walled garden" approach to technology so insufferable that I won't spend money on any of their products (and yes, boycotting can be a form of engagement). Microsoft certainly has a mixed record. 

But complaining about the lack of whole sale change isn't the answer. Just as IBM isn't going to suddenly stop patenting, and just as Apple isn't going to open their platforms to any and all programming languages of a developer's choice, Microsoft isn't going to transform itself overnight into a leading open source company.

If we want change, we have to work to make it happen incrementally. In the two years I have worked with Microsoft on a variety of open source initiatives, I have found them to be cautious but committed to being a more open company, releasing more software as open source, and interoperating more effectively with existing open source software. They are cautious because (a) no company opens up everything, and in this relatively new (for them) domain they are still feeling their way through what to open up and in what order. They are committed, because the last two years have seen tangible results:
  • Microsoft code committed to the Linux kernel
  • PHP running on Azure
  • The launch of the CodePlex Foundation, so that Microsoft and other such companies have a managable and understood path for making open source releases
  • The launch of the Foundation's ASP.NET Open Source Gallery, which is an important step towards fostering the kind of web application development eco-system among .NET developers that PHP has enjoyed for so long
Do I have complaints? Of course. I wish PDO was coming along faster. I wish Odata was better documented. Indeed, my list of complaints is endless. The difference is that I don't just shout my complaints to the heavens and then walk away feeling I've done my open source good deed for the day. I work to find the people inside of Microsoft that can make progress on the issues I'm concerned about, and I work with them to understand their concerns. I then do what I can to help those particular people move forward with their particular open source projects. 

That's how you earn the right to complain, and that's how you turn complaints into constructive criticism that actually yields results. As a community, we need to stop taking the easy way out and just bashing Microsoft. We need to help them move forward, incrementally, on the points where they are actively trying to make progress in their open source engagement.