Me and Microsoft
Friday, March 2, 2001 by Dave Winer.
This column began in 1994 with the story of Microsoft, routed around by the Internet, in a stunning reversal, all of a sudden the giant software company had to scramble. It took a full year after my public epiphany for Microsoft to get it, and when they did, they attacked as if their life depended on it. This attack eventually landed them in court with a judgment that they be broken up, and sadly it appears that judgment is headed for the scrap heap, and now the question comes up where are we all headed now?
Every time I use the Web I am reminded why I hate Microsoft.
What could have been a lovely competitive space, overseen and supported by a statesman-like Microsoft, turned into a cesspool of lawyers and dirty tricks. If Microsoft had stayed out, Netscape would have gotten entrepreneurial competition, we now know how flawed their engineering was, they would have hit the wall, but Microsoft's cut-throat tactics gave Andreessen and Company the excuse they needed to exit, and now it's a one-party-system and innovation must look outside the Web.
In my mind this is the result of the greed and paranoid fear of Microsoft culture, for the Web to die this death required them to thoughtlessly and relentlessly attack, over and over. They point the finger at Silicon Valley culture, the land of the corner-cut, and they're right about that, but it's sleight of hand, it doesn't absolve them of their responsibility.
Microsoft had another chance to make peace with developers, the WORA pitch that was delivered in disgrace by McNealy, Joy et al, really hit a nerve with developers who didn't want to be controlled by the gorillas and titans. As usual, Microsoft's response was to crush and kill, and now WORA is a lost dream.
To this day they think the battle over Java was with Sun, when it was really with the developers. Microsoft says they love developers, they live for developers, and at some level I believe them. Giving them the benefit of the doubt, I don't think they have a clue how their actions cripple the developers. Some of the Microsoft people deserve that benefit, others imho, don't.
To me Microsoft is a puzzle. I've had many friends at Microsoft over the years. On an individual basis we have so much in common. In a way I am a Microsoft person, the same way I'm an American. I've lived with Microsoft for my whole career as a software developer. I started at roughly the same time Bill Gates did.
When we were struggling to get Apple to listen in the early 90s, Microsoft invited me to participate in the design of COM, and I accepted, and we did it, and I'm glad we did, even though we arrived with Windows software after the Internet took hold, and didn't get a chance to take advantage of our investment in COM.
A few years later when the invitation came to work with them on SOAP, I jumped at the opportunity, and this time we didn't miss the window, we're right in the middle of it, and I'm determined for it not to become the competitive cesspool that the early Internet became.
I have trouble reconciling the two Microsoft cultures I see. Behind the scenes there are (some) reasonable bright-eyed people. But actions speak louder than words. And the actions have been pretty awful.
I helped create SOAP for a purpose. It was and in mind still is, the peace treaty between independent developers and Microsoft and other would-be controlling platform vendors. However that still is unrealized potential. The SOAP spec is broad enough that a developer can implement an application that conforms yet still does not interoperate with other implementations.
We're now squarely in the interop period for SOAP. What happens in the next few weeks and months will determine whether it's a revolution or just another battleground for the lawyers and maneuverers. In order for it to work, a fundamental change must happen at Microsoft. They must let the independent developers run the show.
And don't miss this, the independent developers have to change too. We tend to look up to make deals. We all want to work with the boss, but few of us want to work with each other. That's a bug folks. If we work together we run the show.
If SOAP becomes a battlefield of the giants and titans, evolving at a pace that suits them, the little guys can ignore the michegas and route around them. There are a lot more of us than there are of them. So far we've been poorly organized and not very good at helping each other. I don't know if that will change, but there are hopeful signs.
The open source community has discovered SOAP's older brother, XML-RPC, and embraced it. If we can all work together, Microsoft and Sun can split the developers who want to be spoon-fed, and the adventurous developers who want to achieve the promise of the Internet can work together. This is my hope.
As Benjamin Franklin, one of the founders of my country, said: "We must all hang together, or assuredly we shall all hang separately."
People stare at me in disbelief when I say that there will be lots of Dot-Nets. There will be. First there was one. There will be two, for sure, we're finishing ours now, it's called Radio. And then everyone else will know how to do it too. Microsoft, perhaps unwittingly has cast the first seed in what must be a bootstrap that crosses all operating systems and economic systems, without Microsoft's control.
It's easy to zig to their zag. Microsoft's platform has every programming language known to man. Ours has one. Theirs works with SQL databases. Ours has a built-in object database. Theirs doesn't have a Web content management system. Ours does. Theirs doesn't run on the Mac. Ours does. Theirs comes from Microsoft, ours does not.
Of course Java is a Dot-Net. Look at all the languages they have running in Java. It talks to SQL databases. It runs on Macs and Unix too. It also does not come from Microsoft.
Zope is a Dot-Net too. Two languages at last count. An object database, a Web interface. Open source. Apache is also a foundation for Dot-Nets, as is PHP, Perl, Python and C, and every other environment that's wiring up to the new formats and protocols.
SOAP is a seed. Let's make it bloom, and let's get rid of the notion that creativity can be captured. We have a clear choice. Independent developers or no creativity. I want interop to be inclusive, for our stuff to work with Microsoft's and Sun's and IBM's SOAP implementations. They can be creative too, please, but no dominance. Been there done that, it's boring and deadly.
I still am optimistic. But the attitude at Microsoft that independent developers don't count, the attitude that caused so much trouble in the past, is totally still there. I begrudgingly use Microsoft's browser. Every time I launch it I think how much I hate Microsoft. There's a lot of damage to be undone, and I don't think Microsoft gets it.
PS: WORA stands for Write Once Run Anywhere. If delivered it would have given developers choice between operating systems and neutralize the control of operating system vendors.
PPS: I started a directory for SOAP developers. http://www.soapware.org/. If your software or service isn't listed, please send a suggested link.
PPPS: I also wrote a SOAP validator. http://validator.soapware.org/. If my software interops with yours we are stronger against the titans. Interop now. There's never been a better time.