For a decade, Microsoft was open source's worst enemy, combating it at every turn. But last week Microsoft joined the Apache open source project as a platinum sponsor, promising to put $100,000 per year into a project that beats its own IIS (Internet Information Services) in the market. Microsoft also made some of their patents available for use in GPL software like Linux without a royalty.
Has Redmond given up the fight? Or is this just their latest strategy?
Years of Ill Will
Now they just want to interoperate, right?
Wrong. You wouldn't have to look too far to convince yourself that Microsoft still engages in hard-edged fighting against open source. The Office Open XML standard has recently been pushed through ISO with so many irregularities in process that four nations complained. There already was an ISO-accredited office document standard called OpenDocument, created by the OpenOffice team. It was one-tenth the size of Microsoft's effort, and did the same work. But it would have put Microsoft and open source on an equal footing. Office Open XML, in contrast, is 6,000 pages long, so large that it's not possible for a programmer to learn it in his or her useful lifetime. That'll keep the open source folks from ever handling files quite the same way that Microsoft does.
So much for interoperability.
The Battle Ahead
To some extent, Microsoft has lost. The open source movement that they battled took over a big part of IT during the ten years they fought it, just as open standards displaced deliberately incompatible systems and the 70% profit margins they locked in for hardware vendors in the '80's. While Microsoft battled Linux and Apple to hold on to the desktop, Google and open source walked away with the Web, a bigger prize.
Now Microsoft stands on a precipice, before a market shift from PCs toward embedded devices. Today's cell phone is as powerful as yesterday's desktop. Linux, and open source svelte, functional, and power-saving promise to take a big chunk of that market. Market leaders like Novell and Symbian position themselves, investing billions in open source as Google mounts its own open source play on their market.
But Microsoft can still influence how things go from here on. If they have to live with open source, the Apache project is Microsoft's preferred direction. Apache doesn't use the dreaded GPL and its enforced sharing of source-code. Instead, the Apache license is practically a no-strings gift, with a weak provision against patent lawsuits as its most relevant term. Microsoft can take Apache software and embrace and enhance, providing their own versions of the project's software with engineered incompatibility and no available source, just as they forced incompatibility into the Web by installing IE with every Windows upgrade.
IE is derived from Mosaic, the original Web browser, open source with a license similar to Apache's. So, this isn't a new strategy. The plan, then, could be to have Microsoft servers vie for dominance with their own Microsoft specialized versions of Apache applications. Or it could be that Microsoft sees itself replacing Linux in the market as a hosting platform for open source. Microsoft would run open source and .NET, while Linux would just run open source, and Mono, which is always going to trail behind .NET as Wine has trailed behind Windows.
But it is still a long-shot for Microsoft to win that market. And all of this depends on Microsoft producing a better server operating system, the next thing after Vista. Vista's customer-hostile emphasis on digital rights management, often handicapping its own features in suspicion that the user might have illicit content, caused its downfall. IT managers won't stand for that, and thus Microsoft has a lot of code to trash and rewrite before it can make an acceptable server platform.
An Interoperable Wolf in Sheep's Clothing
But Microsoft is only joining Apache to be interoperable, protest their apologists. Let's look then, at what Microsoft has to do to be interoperable. Microsoft can use Apache project code in their own proprietary software without being a member of the project, and without paying anything, because the Apache license is a gift with no strings attached.
Even GPL software is free without restriction for everyone to read, and to use its ideas, formats, and algorithms in implementing interoperable proprietary products - the only restriction is that GPL code can't be literally cut and pasted into those products. So, the open source community has done everything necessary for Microsoft to be interoperable with them, no signatures required. Would that Microsoft were so nice to others.
Microsoft has lots of money to hire key Apache developers, if they actually plan to use the code and want good service from its developers on a 24/7 basis. So, this $100,000 contribution and the partial patent grant aren't about interoperability. It's for publicity, and to convince government regulators, not the most technical people in the world, that Microsoft has joined open source and is now a well-behaved company, no anti-trust issues at all. The bad part for open source is that Microsoft is increasingly in a position to speak to European legislators as an insider in the open source community while requesting increases in software patenting that would block open source. That patent matter is expected to come before European officials, again, by this winter.
What the Open Sourcers Will Do
One strategy that open sourcers will follow was created by Richard Stallman about 25 years ago. Stallman, a Macarthur "genius grant" recipient, realized that it wasn't sufficient to just give away source code: the largest companies would still be able to use their market advantages to dominate. There had to be something to keep the software free as a sort of public good while it evolved, a global form of sharing rather than a no-strings gift.
Stallman created the GPL, turning copyright law on its head to enforce sharing rather than prohibit it. GPL has the unique power of being able to enforce upon companies the size of Microsoft a fair and equal partnership with other developers, be they other companies, schools, or individuals. Obviously, Microsoft hated the GPL.
Last year, GPL went through a major revision, with the participation of dozens of attorneys from the world's largest companies, along with academics and individuals. That caught it up with the elaboration of copyright and patent law over the past quarter century. A second version, the AGPL, has evolved to deal with the business model of Google, software as a service instead of on the user's PC. That's fortunate, as GPL is going to be even more important now.
Open source has two different kinds of developers, and both are necessary to the vitality of a project: individuals working for themselves, and employees of some company that uses open source in its operations. While the company employees are well funded, they are also directed or over-directed to work on the part that's important to their employer to the exclusion of all else. The individuals are more free to be innovators and architects, with a global view of the entire software project and eyes open for serendipitous opportunities. When both sorts of developer come together, the result is best-of-breed software like Firefox or the Linux kernel.
Both kinds of developers may choose the GPL: the commercial ones because they want to keep their competitors from running away with the program without sharing their own work, and the individuals because they'd rather function as equal partners in enforced sharing than as unpaid employees who give all they create as a gift to the big company.
GPL is also a commercial tool for companies like MySQL (now part of Sun Microsystems after a $1.1 billion purchase), who provide Free software to those who buy into the covenant of sharing source code, and profitably charge everyone else. And most important, GPL is what developers will use if they welcome Microsoft's participation in their projects, but only on the same terms as everybody else. GPL already is used to license around 70% of open source software. If such a thing can have an increase in popularity, Microsoft's participation in open source projects will cause it.
IBM has been a steadfast advocate of Apache-style licensing, fearing the terms of GPL, especially the need to share their patents if IBM becomes a partner. But now IBM finds themselves dancing a little too close with Microsoft after developing an open source strategy that was at least in part intended to combat them. Look for even Big Blue to become more friendly to GPL.
The Final Frontier
Whatever the effect of Microsoft's participation, their recent actions provide the last shot of credibility that open source will ever need. Even the most strident objectors have had to join or follow SCO into ignomy. Not because anyone forced Microsoft, but because a poorly-funded group with little central leadership and no employer in common out-competed them.
Microsoft's proprietary software paradigm focuses on the sales of software instead of the much larger economic value of using software. Discarding rules of property was known to be inefficient, but nobody realized, until computer collaboration became possible, that relaxing some of the rules of property could make such a collaboration work very efficiently. Open source repairs the economic breakage of proprietary software by making the users into the developers and collectively the owners. This works efficiently for software and electronic content like Wikipedia because the individual investment in creating such things as part of a group is low (a laptop, a net connection, someone's time, free software), and the value of using the result is high.
Western Union once owned interurban business communication, but stuck to Morse Code while businesses ordered telephones. Fighting open source today would be as sure a road to failure. The last holdout is legislation. Copyright and patent law have been created with only the proprietary model in mind. Their legislation is driven today by media conglomerates hawking an ever increasing need to combat "piracy," while the world at large has taken up the creation of content that can be shared without fear or shame. Nobody envisioned the Wikipedia, open source, Creative Commons.
Now, it's time for legislatures to wake up: national and international law must adapt to make the world safe for both open source and proprietary software development. Corporate and government purchasing policy must place open source and proprietary software on an equal footing. Open standards without royalties or discrimination, the true drivers of interoperability, must be recognized as the basis of fair and equitable IT policy everywhere. Only then will we realize the full potential of open source.