We've expanded our news coverage and improved our search! Visit news.oreilly.com for the latest or search for all things across O'Reilly!
advertisement

Weblog:   Open Source Needs Leadership?
Subject:   XML-RPC & SOAP history error.
Date:   2001-08-09 12:38:04
From:   bparsia1
You wrote:


> And there are many fascinating open source projects (as well as projects
> from independent developers who are either contemplating open-sourcing
> their work outright, or have incorporated elements of open source into
> their strategy.) As has been the case from the beginning, these projects
> are driving the industry, including Microsoft, forward. After all, it was
> Dave Winer's XML-RPC that gave rise to SOAP, now a cornerstone of
> Microsoft's .NET services strategy. (Incidentally, both XML-RPC and SOAP
> are well-supported by open source programming languages like Perl and
> Python.)


This factually incorrect. As I understand the history, XML-RPC is a *fork* of a version of SOAP. Some evidence:


From http://www.xml.com/pub/a/2001/04/04/soap.html (Don Box):


> When SOAP started in early 1998, there was no schema language or type
> system for XML (in fact, XML 1.0 had just become a full Recommendation
> that quarter). If you look at earlier versions of the SOAP spec
> (including XML-RPC, which was subsetted from the 1998 SOAP spec), most of
> the focus was on defining a type system.


From http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-intro.html#xmlrpc-
howto-history (Eric Kidd):


> XML-RPC was inspired by two earlier protocols. The first is an anonymous
> RPC protocol designed by Dave Winer and announced in an old DaveNet
> essay. (This is why XML-RPC servers are often installed under /RPC2.) The
> other, more important inspiration was an early draft of the SOAP protocol.


And even from the Winer account (http://www.xmlrpc.com/stories/storyReader$555):


> That's not exactly true. Before folklore becomes reality, XML-RPC was
> originally, privately, called SOAP, when Don Box and I were working with
> Bob Atkinson and Mohsen Al-Ghosein at Microsoft, in early 1998.


I take it that this just means that XML-RPC is a fork of SOAP (i.e., there was one thing, originally called SOAP, that forked, one branch becoming XML-RPC, one branch retaining the name "SOAP").


From http://www.xmlrpc.com/stories/storyReader$1726):



> XML-RPC is the work of many people. There were four designers working on
> the initial April 1998 specification, Bob Atkinson and Mohsen Al-Ghosein
> of Microsoft, Don Box of Developmentor, and myself.


Again, clearly, XML-RPC didn't *become* SOAP, nor was it a Winer project that MS picked up.


From the same document:


> So we decided to use two standards of the Internet, XML and HTTP, to form
> the communication protocol for our software. By February 1998 we had a
> deployed protocol for Frontier-to-Frontier communication simply called
> RPC, and it worked pretty well.
>
> As I often do, I wrote a public essay about this and offered to work with
> others. Usually I make those offers and no one responds. This time, I got
> a call from Bob Atkinson, who I knew from work we did with Microsoft on
> COM in the early 90s, and he asked if we would like work with them on
> XML-over-HTTP. I remembered that it had been a lot of fun working with
> Bob in the past, so without hesitation, I said yes.


And:


> A few weeks into the process I wanted to release the software to our
> users. It was already much more powerful than what we were shipping. Wire
> protocols are a delicate area, and serious breakage would surely happen
> if we waited much longer. So we forked a release, called it XML-RPC, and
> continued working with Microsoft on what would become SOAP 1.1.


This affects the point you made: SOAP *didn't* come from an open source project. Even if it *did* come from XML-RPC...XML-RPC isn't open (and, qua spec, it's not even open in many senses), and Frontier isn't Open Source. There are a lot of Open Source implementations of XML-RPC, but it's hard to see it as *stemming* from an Open Source project. In any case, it looks like MS was developing such a spec all on it's lonesome and was deeply involved with the project from the beginning.


I think XML-RPC and SOAP are rather *unlike* many internet protocols...it's striking that they never made the rounds as an RFC; XML-RPC isn't in the hands of the W3C or *any* neutral party (or, for that matter, a standardization body), and SOAP only came under the W3C auspicies recently(not that that's necessarily a *good* thing, but clearly SOAP wasn't an "open" project *before* that move).


SOAP's open-ness is a post-facto move, I take it, in order to shine some sort of legitimacy on the MS domination plans. Perhaps SOAP *really will* make .NET or whatever more livable for outsiders, but that doesn't change its actual history.


(Note I'm using "Open Source" in a rather narrow sense, something like "with an Open Source style licence, e.g., BSD, MIT, GPL, etc." and "open process" to mean something fuzzily more than "the developers in control are or claim to be "open to input".)


And, just to be clear, I don't see than any of the principles are claim much otherwise. Indeed, I take their words to prove my point. The history of SOAP may be encouraging to some, but I don't think it should be *on the grounds* that it's "more of the Open Source Internet process at work".

Full Threads Oldest First

Showing messages 1 through 1 of 1.

  • Tim O'Reilly photo XML-RPC & SOAP history error.
    2001-08-10 16:00:36  Tim O'Reilly [Reply | View]

    Your point that xml-rpc was subsetted from SOAP is really interesting; it's definitely different from the widespread perception. I'll leave arguing the point to those who were there. But even if "openness" was added post-facto to SOAP, and xml-rpc is not itself entirely open (though Dave is flirting with open source), the fact is that SOAP and xml-rpc do enable bottom up provisioning of decentralized web services. I believe that one key to open source (considered most broadly) is an architecture that allows any developer to come to the table as an equal participant. I do see people starting to build web services in the same way they built utilities for UNIX/Linux or built web sites. And that's really important! If anyone can easily add services that work together, we really can build a bottom-up internet operating system.

Showing messages 1 through 1 of 1.