The real work begins now
Tuesday, February 6, 2001 by Dave Winer.
First, a hat-tip to John Markoff at the New York Times, who wrote about Sun and Microsoft's latest face-off over open distributed computing protocols, XML-RPC and SOAP.
He said: "While each company preaches commitment to so-called open computing standards, all the approaches have essentially proved to be calculated efforts to guide customers toward proprietary software development platforms that would give the company a competitive advantage."
Yup, I think that's true. Thanks John.
Our work in this area began almost three years ago, with a DaveNet piece about Java, Push and XML. This was followed by a phone call from Bob Atkinson at Microsoft, a few meetings and a couple of months later the XML-RPC spec. More work. SOAP 1.0. IBM comes on board, SOAP 1.1, and then a rocket-ship of growth for both protocols.
Yesterday Sun said they invented this stuff in the 1980s. Perhaps that's true, but they must have lost their way some time after Java came out. RMI, their cross-network protocol, is a totally closed box, it could only be used if your app ran in Java. Many of us said no. Yesterday was a clear capitulation, an acknowledged end to lock-in for Java.
Here's the real story. The independent developers of Mac, Unix and Windows software got there first, before Microsoft, before Sun, and all the other would-be kingmakers. XML-RPC is a thing of beauty, created by developers, for developers, and it doesn't lock anyone in to any programming environment or operating system or economic system. Microsoft and Sun are free to use it, as are developers of the open source world. Commercial developers, application service providers, P2P, infrastructure and consulting companies, portals, vortals and hobbyists are welcome too, everyone is. Unlike most other communities, we have no rules or technical limits that keep anyone from participating.
Sun is not our friend, nor, really, is Microsoft (although Microsoft is trying). There's a new style of competition that may not favor their economics. So they have no choice but to try to capture it. But with SOAP and XML-RPC in place, their role becomes more prosaic. They have to supply tools that people like, and keep them moving, because without lock-in, we have choice, and therefore power to stay independent.
I don't usually quote large sections of previous essays, but today it seems appropriate to echo what I said on 2/27/98.
"The Internet is a platform. A platform is made up of tools and runtimes. Internet tools run on all kinds of operating systems, as do the runtimes. The beauty of the net is its simplicity, its ubiquity and its lack of a controlling vendor.
"TCP is the runtime environment of the Internet. It's deeply competitive with Microsoft, and it's larger than Microsoft. The stronger TCP is, the more outside of Microsoft's control it is, the more powerful everyone else will be.
"The Unix people have been in a struggle with everyone else over who owns the Internet. I've been writing about this for a long time. It would be great if they could let go of the struggle and realize that the Internet is owned by the universe, no single operating system or flavor of operating system can contain it.
"This is important because there is another layer coming on the Internet, a very simple one, that can build on COM, on Windows and elsewhere, and provide a flat playing field for everyone.
"It's RPC over HTTP via XML. I believe it's the next protocol for runtimes. We'll be posting more notes on this on Scripting News over the next few weeks. Please, if you care about the independence of the Internet, tune in. Thanks!"
That was almost three years ago!
Now that open distributed computing protocols have become a battlefield between the giants, there's an urgency to get our act together so this time it really happens, we really get the independence that we want, and the bullies step aside and stop trying to define and limit what we can do. It's clear that Sun and Microsoft care largely about themselves and each other, and if we want to continue to make software with some chance of success, we have to keep the path clear of their interference.
This message is to my colleagues who work in and on XML-RPC and SOAP. We have a very good thing going, but it's just a start. The thing to fear most is dilution of what XML-RPC means. A Sun version and Microsoft version is not good, nor is an Apache or Perl version. They must all interoperate.
I could have chosen to not embrace SOAP, and perhaps I should have. Previous experience with Apple over similar protocols taught me that "innovation" by large gorillas is inevitable. I also felt that without support from Microsoft or another similar well-known titan, this technology would languish in the margins of the software world. No matter, I did embrace SOAP and encourage all developers to support it, but, it's not finished yet. Unlike XML-RPC, SOAP offers so much choice to developers that you can implement a spec-conforming app, yet *not* interoperate with other implementations. What SOAP needs now is a "common subset" that interoperates. It's time to get scientific and political and make deals, and get interop asap.
I am committed to getting our Frontier software working with the Java, Perl and Microsoft implementations. To that end, we've put up a Web App that validates SOAP 1.1 servers.
This is our first contribution to make sure the promise of XML-RPC doesn't evaporate as the big companies deploy their apps and do it with the usual hype and sleight-of-hand. Let's narrow the focus of SOAP in the real world, and then let's tell the press clearly what it means to be compatible.