statements

You are currently browsing the archive for the statements category.

At Saturday on Libre Planet, Richard Stallman announced the publication of an essay on software as a service (SaaS). By my count, it is his first published piece on the subject since Stallman’s controversial comments on GMail a year and a half ago. Readers of this blog will all be interested in reading the new essay if they haven’t already already done so.

In his article, Stallman defines SaaS as, “a network server that does certain computing tasks … then invites users to do their computing on that server.” His basic message is simple: users should reject SaaS network services because SaaS users are inherently disempowered and out of control. Indeed, users should reject SaaS even if a service is implemented using free software!

Although some people have used the term SaaS quite broadly, Stallman means something very particular and focuses on the term “their computing.” When Stallman uses the term SaaS, he’s talking about computing that is highly individualistic and that looks like the type of computing that otherwise happens on a user’s own computer. Stallman explains SaaS does not refer to search, collaborative editing (e.g., Wikipedia), social networking, publication, or e-commerce. For each of these tasks, the computing involved can’t clearly be said to “belong” to one user or another; these examples all refer to computing that “belongs” to a dyad or a group. As a result, it follows that the computing involved need not obviously reside with any one individual. Stallman is careful to explain this doesn’t mean that network services doing these sorts of things are unproblematic. Often they are very problematic — but for reasons that have nothing to do with SaaS.

The piece is an interesting read but, judging by the questions and discussions after Stallman’s talk, the argument seems to be confusing for a number of people. Here’s my early thinking on the piece:

Part of the reason people are confused is because they are looking for a bright-line statement to evaluate particular applications and declare them free and non-free. SaaS can do that, but falls for short for many — and I think perhaps even the vast majority of — network services.

It seems to me that most network services I’ve used involve some SaaS features and some non-SaaS features. Some of the computing being done really belongs to a single user and some doesn’t. Some functionality boils down to collaborative or group-based computation and other things really are just tasks being done for one user using that user’s data; only the second class of features is SaaS. While particular features are easy to classify, most services end up being a bit muddy.

Much more problematically, and this is not something RMS addresses, it seems to me that the way that an application is used can really change the degree to which a program is SaaS. For example, Google certainly seems to be interested in having all of us replace OpenOffice.org and our  other desktop applications with Google Docs and other Google services. Using Google as an OpenOffice replacement is clearly SaaS and should clearly be rejected for the reasons Stallman explains. That said, every time I’ve seen Google Docs used, it was as a real-time collaborative document editing system for a large group of people. Used in this way, it seems that even Google Docs might not be SaaS!  SaaS or not, of course, we might still want to use federated free software alternatives like Gobby.

There are services that I have less trouble calling SaaS. Meebo, which apparently just uses the Pidgin code and creates a web-based front-end to it so that the all the computing involved happens in some data center instead of your desktop, seems like a clear example. But it’s hard to come up with tons of these pure-SaaS examples. My sense is that there are very few bright-line examples of network services that are clearly and completely SaaS. Indeed, my sense is that collaborative functionality is becoming an increasingly important part of most popular network services. SaaS seems to be a small and decreasingly important class of services.

Stallman made it clear in his talk and in the Q&A that he understands that SaaS is not a complete answer to the network services problem and, with the help of myself and the FSF staff, is working on a draft of a document influenced heavily by the Franklin Street Statement to be published by the FSF in the near future.

Stallman is right. We should reject SaaS. But even if rejecting SaaS alone leaves the most prominent, popular, and problematic network services unscathed — as I fear it might — SaaS provides a good way to think about them and keeps us focused on the key issues — control and (ahem!) autonomy. Thinking about the SaaS and non-SaaS features of applications helps us evaluate whether applications are worth their cost in freedom.

In the news recently is the Open Cloud Manifesto.  It is light on content; and not much of a manifesto at all.  I believe this is a fine start, but perhaps more marketing than an actual working group.  The name “Open Cloud Manifesto” follows the trend of prepending Open in front of everything. We have Open source.  Open computing. Open standards. And now, Open Clouds. I encourage this trend.  However, it needs to go one step further.  The Open Cloud statement needs to take the next step and include Free network services. The Franklin Street Statement (FSS) by the Autonomo.us working group lists the characteristics of an optimal free network service.

The FSS lists some key ideas for Service Providers:

  • Choosing Free Software for their service
  • Release customizations to their software under a Free Software license.
  • Allow the Users to control their own data

These can be easily incorporated by the group behind the Open Cloud Manifesto.

We are not talking about free as in zero cost.  Free Networks, much like Free Software, can charge money for their efforts; including support, development, desired customizations, etc.  However, the software is Free as defined by the Free Software Foundation. You as a user of a Free Network Service have the ability to download the software and setup the same service on your own.  The majority of users will not do this, for the simple fact they are opportunistically lazy.
I will happily use, and pay, for your service so long as I have the same control over my data as if I ran it myself; on my own hardware, or I suppose, my own “cloud”.

By empowering the users with control over their own data, allowing them to clone your service using the same software as the provider, and using Free Software; you offer a Free Network Service.  As a User/Customer, this is your data, entrusted to a third party in many cases, you should demand nothing less.

The current generation of network services or Software as a Service can provide advantages over traditional, locally installed software in ease of deployment, collaboration, and data aggregation. Many users have begun to rely on such services in preference to software provisioned by themselves or their organizations. This move toward centralization has powerful effects on software freedom and user autonomy.

On March 16, 2008, a workgroup convened at the Free Software Foundation to discuss issues of freedom for users given the rise of network services. We considered a number of issues, among them what impacts these services have on user freedom, and how implementers of network services can help or harm users. We believe this will be an ongoing conversation, potentially spanning many years. Our hope is that free software and open source communities will embrace and adopt these values when thinking about user freedom and network services. We hope to work with organizations including the FSF to provide moral and technical leadership on this issue.

Read the rest of this entry »