Once, the CEO of the company for which I worked had a bright idea. He would sponsor a young open source software coder for the summer, and, in return, the coder would assign the copyright of his application to the company.
Fortunately, the young coder consulted some lawyers in his family, and refused. His application went on to become a basic tool in the administration of the free desktop. The company, like so many in the Dot-com era that tried to prey upon free software, went bankrupt. The last I heard, the CEO was a supplier to health food stores.
The situation was one of several that caused me to quit the company. But I have flashbacks whenever I see Microsoft maneuvering around free software. When Microsoft alternately tries to attack free software — for instance, by attempting to sell patents that may affect Linux to patent trolls — and to ingratiate itself — for instance, by creating the open source CodePlex Foundation — I see simply a large scale version of the CEO’s behavior.
Both are examples of corporate efforts to exploit free and open source software (FOSS) without changing traditional business practices. Both exhibit a kind of arrogance, as though nobody has attempted such exploitation before — and as though the community had its collective head too high in the clouds to understand what was being attempted.
Some, like Miguel de Icaza, read recent news such as the creation of the CodePlex Foundation as “another step in the right direction” for Microsoft.
But, for the most part, Microsoft’s mixed signals can only gain it a reputation for duplicity, especially given its long history of hostility towards FOSS.
Even Jim Zemlin, the executive director of the Linux Foundation, who in the past has given Microsoft the benefit of the doubt and once went so far as to issue a joint letter with Microsoft, has to admit that, in the case of the patent sales, “Yes, Microsoft Got Caught.” Under the circumstances,
the community’s inability to give any credit to the CodePlex Foundation is only understandable.
Of course, mixed signals are common enough in business. Like any mega-corporation, Microsoft is far too large to speak with a single voice. The odds are that some Microsoft employees are genuinely interested in FOSS, even if Steve Ballmer remains utterly opposed to it. Perhaps, too, Microsoft strategists are fumbling, and unable to devise a coherent FOSS strategy.
But, for those of us outside Microsoft, the mixed messages can only suggest deception and hostility — or, at best, indecision. From a marketing viewpoint, they are a public relations disaster, especially given the long memories in the FOSS community.
All of which raises the question: Could Microsoft ever be accepted in the FOSS community? What would it take for such a transformation to occur?
An uphill battle
Some would immediately answer that Microsoft could never be seen as a good citizen of the community. The history of shared suspicion between Microsoft and FOSS is simply too long.
Still others are heavily invested in hating Microsoft. For them to admit a change would meaning losing their entire sense of identity.
Yet such a change is not completely inconceivable. Several years ago, Sun Microsystems went from being castigated for keeping Java’s code proprietary to being praised by Richard Stallman and Eben Moglen for releasing it.
In fact, many tech corporations, from Dell to Hewlett-Packard and IBM, have gone from being regarded as hostile to FOSS to being at least partly accepted in the community.
Admittedly, none of these companies was ever hated and derided in the community the way that Microsoft is. But the changes in how they are perceived suggest that the change is not impossible.
Buying a stairway to heaven
If the last few years have shown anything, it is that Microsoft cannot buy its way to acceptance (assuming, of course, that it consistently wants to). Microsoft has spent what for other companies must be a small fortune buying online ads to sites such as Newsforge, sponsoring Linuxworld, and donating to projects like Apache, yet all of it is largely wasted.
A few purists may decry such tactics, but, for the most part, the community is willing to accept the money without changing its attitudes. About the only result of such funding has been to give the Microsoft-haters ammunition and to make the rest of us regard the company as bumbling in its tactics and ignorant of the community it is trying to influence.
What Microsoft has so far failed to understand is that money has only limited currency in the community. Few people involved in FOSS are so otherworldly that they refuse a regular paycheck or will turn down a sponsored flight to a development conference. But, beyond a very basic point, money matters surprisingly little in the community. More than cash, what matters is commitment to the community ideals.
When FOSS is brought into business, it does not mean the end of competition. For all their FOSS orientation, companies like Red Hat and Novell continue to compete with each other, and every now and then, one will make some disparaging comments about the other.
But, underneath this facade of traditional business, FOSS includes a recognition that, some times, cooperation is more effective than competition. Sharing source code is not an entirely idealistic act, but a piece of enlightened self-interest. For instance, in return for giving up some of their proprietary rights to code, FOSS companies can develop products more quickly and hire fewer coders.
Not only that, but by investing now in free code that has no direct connection to their core businesses, companies can often create a market for themselves in the future. For example, Red Hat’s business of selling services and support gets a benefit when the company hires developers to make the Linux desktop easier to user.
Changes in attitude
The trouble with Microsoft is that, so far, it shows few consistent signs of understanding that cooperation is part of the mix. While its repeated patent threats and attempts to obtain monopolies fit well into ideas of business competition, they are so extreme that even traditional capitalists might question their ethics.
Before Microsoft can even begin to be trusted by the FOSS community, it needs to dial back its efforts at competitive attacks. It could, for example, support the ODF format for office applications rather than imposing its own OOXML standard — in fact, it could come out in favor of open standards for software development in general.
In addition, Microsoft could change the way it uses patents. Rather than using patents as a potential threat to Linux, it could reveal the patents that Linux might possibly violate. Then it could either work with developers to stop the violations or, better yet, follow the lead of other corporations by publicly pledging not to use the patents. As things are, Microsoft will not even go so far as to ensure that .NET or Mono, its free software analog, are unencumbered by patents.
Even more importantly, Microsoft needs to show more interest in cooperation. Many of Microsoft’s contributions to FOSS are minor, and the majority are focused on work that directly benefit Microsoft products. Its CodePlex repository does include a few projects concerned with general programming technologies, but they are overwhelmed by those concerned with Microsoft-specific projects.
Even when Microsoft does make a contribution, it tends to be developed in-house and rarely in interaction with the larger FOSS community. For instance, when Microsoft contributed drivers to the Linux kernel to help it run better in Windows virtualization, it left most of the clean up to other developers until complaints started coming in. Such behavior makes Microsoft look like it has changed from opposing FOSS to attempting to exploit and subvert it.
Some of this behavior might be inexperience — although, considering Microsoft’s size and resources, there seems little excuse for such inexperience. But, when Microsoft’s ventures into FOSS are so tentative and self-serving, and so full of competitiveness at the expense of cooperation, nobody should be surprised that attitudes about Microsoft never shift. The history between Microsoft and the FOSS community is so long and bitter that it would take years of exemplary behavior for Microsoft to be accepted. As things are, Microsoft’s behavior gains it very little behavior — nor should it.
Of course, there are two efforts that Microsoft could make that almost instantly create trust. It could depose those who have a history of hostility to FOSS like Steve Ballmer, and it could release the code for some of its key products, such as Microsoft Office or Windows. But these changes would be such a vast transformation of Microsoft’s internal culture and business model that they are almost inconceivable.
The most that Microsoft seems willing to do is a few exploratory gestures, and these are so half-hearted that they can never be enough. They can only increase the community’s skepticism, especially when combined with traditionally aggressive business tactics.
A line in the sand
The idea that Microsoft could ever win the trust of the FOSS community is unlikely. Most likely, Microsoft will continue to blunder along like an abusive husband, alternating aggression with efforts at conciliation.
Still, the possibility is worth considering for at least two reasons. First, as Microsoft makes its gestures towards the community, it is worth articulating why they fail, in the unlikely event that people start believing that Microsoft has changed. If Microsoft can benefit from such explanations, so much the better — although its corporate culture and practices probably make it incapable of taking the advice anyway.
More importantly, with FOSS becoming an increasingly more important part of business technology, we can safely predict that we haven’t heard the end of Microsoft’s efforts to embrace FOSS. Probably, too, other companies who have been equally hostile to FOSS might try to look or become friendlier.
Under these conditions, it is worth articulating what a genuine change in attitude might consist of, so we can know what we are looking at — just in case it actually happens one day. And so that meanwhile, we can detect mixed efforts or frauds.