Wednesday, August 15, 2001 by Dave Winer.
An interesting discussion has started on the Breaking-Windows mail list.
A ex-softie, Adam Barr, author of another inside-Microsoft book, Proudly Serving My Corporate Masters, (what a name for a book) has been (proudly?) repping the Microsoft party line. I've recused myself from the argument because I have a new philosophy about discourse with Microsoft.
In June while the Smart Tags power-grab looked real, I made a decision to stop arguing with Microsoft people. If they had more facts to add to the discussion, great, but I stopped trying to convince them that what they were doing was unfair, or unbecoming a company of their stature, or hurtful to developers, or whatever. It's a game I was too willing to play in the past.
I go back over my writing in late 1997 and early 1998 and see that the hopes I had for Microsoft were unjustified. I wished they would become an excellent corporate citizen, and really act on their words of respect for developers. Now I see it differently.
Considering all that, let's get real about what's been going on in the last few years in DeveloperLand. Java, to developers, was a possible emancipation from Microsoft, but Sun turned out to be no better. Open source was the next insurrection, and even though it was tainted by the dotcom lunacy, that's over now, and open source is still here, and actually so is Java. In fact, one of the explanations for Microsoft's 18-month vapor trail called .Net is that it's trying to put a damper on the growth of Java, and, come to think of it, their recent interest in open source probably has a similar goal.
While there are huge waves of Microsoft-inspired confusion wafting through the software world now, there is a simple idea that is evading all their competitors. To neutralize half of the oomph of the Microsoft threat, wire up your apps through SOAP and XML-RPC and claim that you beat Microsoft to market. You will be very justified in that claim. If a hundred platforms rush on board quickly, the analysts and reporters might sing a different tune about who's dominating whom.
The other half of the oomph is the monopoly Microsoft has in desktop operating systems and Web browsers. For that we have to turn to the courts for help, and it'll be a total mess if they don't impose some real restraints on Microsoft.
OK, put Java and .Net in a box.
They're going to duke it out.
Assume that eventually Sun will figure out that to make Java stronger against .Net they have to build in SOAP interfaces and make sure people don't miss them. Then Java will have a maturity advantage over .Net.
Also since Sun isn't trying to be all things to all people, they'll be able to continue the partnerships they already have. On the other hand, Microsoft being who they are, will be able to force themselves into places they weren't before, turning users and developers into OEMs, distributors of Microsoft technology who must upgrade at every turn, with slimmer opportunities to create and use new stuff that doesn't come from Microsoft. Most of the interesting high ground in .Net is Microsoft's, there's not much room for anyone else, and starting with Windows XP, they have the right to upgrade the platform at will (a good reason to stick with Windows 2000, imho).
When Microsoft and Sun think about developers, they are thinking about people who can "add value" to their platform. None of their co-investors, if they don't like the way the platform is going, can take it in a different direction. No matter what the corporate masters have the last word.
I think of developers in a different way. On the Windows platform, a developer is someone who could write a spreadsheet that's better than Excel and win in competition with Microsoft based on the merits of the software. Those are the kinds of developers I like to work with, ones who can create ground-breaking products that win.
Now consider Apache, which hasn't got the depth of Java or .Net, but does have a considerable amount of developer momentum. Why? Because it doesn't just talk about developer freedom, it guarantees it.
If I were to become an Apache developer, I know that if I want to compete with The Apache Software Foundation, no matter how powerful they get, I can do it. Of course I may never have to use this power, but in case I do, it's nice to know it's there. This safety for developers is a key feature for a platform, and it's why Apache is doing so well, while Microsoft is losing developers to Java and open source. Apache offers something Microsoft and Sun don't, developer freedom.
Here's an example of why this is important to the health of a platform. In the mid-90s while Apple was fighting against the Web, yet enjoying a huge market share among Web users, a group of Mac developers including Microsoft wanted Apple to fully embrace the Web, but Apple didn't move. With the benefit of hindsight I think it's clear that the Mac would be more dug in today had we had our freedom, if our ideas had had a chance, and that today's Apple would be better off as well. We wasted a lot of time and money trying to make the Mac platform a winner on the Web. Had our platform been open, I believe the effort wouldn't have gone to waste.
Now Microsoft has "shared" source with a patent whammy; and Sun has a community program that they control; therefore I'm at the point where I think I know that neither Microsoft or Sun will be dominant as we go forward, and am willing to make my bet. As a platform for independent developers neither of the BigCo's half-hearted attempts to offer developers freedom is convincing. The Apache philosophy is the right one for me.
PS: Re Microsoft's "patent whammy" -- this came out in the discussion portion of the Craig Mundie debate at O'Reilly's open source convention in July. Basically Microsoft can release the source code to their operating system, under very restrictive terms, because they believe they will be granted patents on key techniques used in the software.
PPS: We've done a fair amount of research into open source licenses and philosophies. Briefly, the GPL is not for us because it does not include a clear disclaimer of power on the part of the licensee. The Apache license is a free grant of technology, with the IP constraints where they belong, on trademarks. Interestingly, this is something every developer must have an opinion about these days, whether or not they manage or participate in open source projects.