Don’t get me wrong: I think that Stallman has contributed massively to the open-source movement. But Tim O’Reilly is right: he simply doesn’t get the problem that closed web services present. I think talking about open access to the data is missing the point too. Often I’ve no wish to access the raw data, and couldn’t understand if I did access it. Sometimes the data is just a session cookie, and it’s the work, the tool use, that I want to access.
When I interact with a typical web service, my computer moves through a certain set of steps in response to a piece of proprietary software. As an example, consider me proceeding through the checkout at Amazon: there is a set of steps that my browser must perform in order for me to access this service. There’s some subtle, ephemeral, proprietary “workflow” which Amazon instructs my browser, over time, to follow.
It doesn’t consist so much of a set of zeroes and ones on my hard drive, but as a sum total of the configuration of my computer, the content of a set of HTML and scripting files that are sent to me, my input and that all-important server-side black box.
However briefly, there is a proprietary component to my experience with the tool (this “workflow” that’s distributed across client, network and server). I can’t access this component, yet it dictates in part what my computer does for its duration. I can’t copy this component without Amazon’s say so (if I open a browser on another machine then that machine is in a similar thrall to the workflow). I can’t modify this workflow, and approve the contents of my basket before submitting my credit-card details, unless Amazon specifically permits that. I can’t modify it to accept payments from a new credit-card company, even if I knew how.
If Amazon introduced a bug in their proprietary software, which dynamically generated Javascript (however open-source the resultant file) that took down my browser (and maybe even my computer depending on my OS), whenever I tried to buy a copy of “Free as in Freedom”, then how is that not restricting me? What if Amazon were the only stockists of Stallman’s books—I appreciate that might be stretching the bounds of credibility somewhat!—how can I get a copy if my only buying mechanism is disabled by a component I can’t change? How is this not restricting my freedom?
O’Reilly quotes Stallman as saying in a rebuttal to the very existence of the problem posed by proprietary web services:
“If the program is running on somebody else’s computer, the issue doesn’t arise. Am I allowed to copy the program that Amazon has on it’s computer? Well, I can’t, I don’t have that program at all, so it doesn’t put me in a morally compromised position.”
Yet some of the program is running, somehow, insidiously via a contextual combination of technologies, in a virtual machine, on my computer. There is a copy of a facet of it on my machine, and I can’t touch that copy. Here is software which is dictating what my machine does in response to my input. The quintessence of this software is proprietary and closed. Whether the cable separating it from my CPU is ethernet or IDE might once have been a good rule of thumb, but it is surely no longer the point these days.