OUR SPONSORS







What Does That Server Really Serve?

Digital technology can give you freedom; it can also take your freedom away. The first threat to our control over our computing came from proprietary software: software that the users cannot control because the owner (a company such as Apple or Microsoft) controls it. The owners often take advantage of this unjust power by inserting malicious features such as spyware, back doors, and Digital Restrictions Management (DRM) (referred to as “Digital Rights Management” in their propaganda).

Our solution to this problem is developing free software and rejecting proprietary software. Free software means that you, as a user, have four essential freedoms: (0) to run the program as you wish, (1) to study and change the source code so it does what you wish, (2) to redistribute exact copies, and (3) to redistribute copies of your modified versions.

With free software, we, the users, take back control of our computing. Proprietary software still exists, but we can exclude it from our lives, and many of us have done so. However, we now face a new threat to our control over our computing: Software as a Service. For our freedom’s sake, we have to reject that too.

How Software as a Service Takes Away Your Freedom

Software as a Service (SaaS) means that someone sets up a network server that does certain computing tasks—running spreadsheets, word processing, translating text into another language, etc.—and then invites users to do their computing on that server. Users must send their data to the server, which returns the results.

These servers wrest control from the users even more inexorably than does proprietary software. With proprietary software, users typically get an executable file, but not the source code. That makes it hard for programmers to study the code that is running, so it’s hard to determine what the program really does, and hard to change it.

With SaaS, the users do not have even the executable file: it is on the server, where the users can’t see or touch it. Thus it is impossible for them to ascertain what it really does, and impossible to change it.

Furthermore, SaaS automatically leads to harmful consequences equivalent to the malicious features of certain proprietary software. For instance, some proprietary programs are “spyware”: the program sends data about users’ computing activities to the program’s owner. Microsoft Windows sends information about users’ activities to Microsoft. Windows Media Player and RealPlayer report what users watch or listen to.

SaaS gives the same results as spyware because it requires users to send their data to the server. The server operator gets all the data with no special effort, by the nature of SaaS.

Some proprietary programs can mistreat users under remote command. For instance, Windows has a back door with which Microsoft can forcibly change any software on the machine. The Amazon Kindle e-book reader (whose name suggests it is intended to burn people’s books) has an Orwellian back door that Amazon used in 2009 to delete remotely many Kindle copies of Orwell’s 1984 and Animal Farm, which people had purchased from Amazon.

SaaS inherently gives the server operator the power to change the software in use, or the users’ data being operated on. Once again, no special code is needed to do this.

Thus, SaaS is equivalent to total spyware and a gaping wide back door, and it gives the server operator unjust power over the user. We can’t accept that.

Untangling the SaaS Issue from the Proprietary Software Issue

SaaS and proprietary software lead to similar harmful results, but the causal mechanisms are different. With proprietary software, the cause is that you have and use a copy which is difficult or illegal to change. With SaaS, the cause is that you use a copy you don’t have.

These two issues are often confused, and not only by accident. Web developers use the vague term “Web application” to lump the server software together with programs run on your machine in your browser. Some Web pages install nontrivial or even large JavaScript programs temporarily into your browser without informing you. When these JavaScript programs are non-free, they are as bad as any other non-free software. Here, however, we are concerned with the problem of the server software itself.

Many free-software supporters assume that the problem of SaaS will be solved by developing free software for servers. For the server operator’s sake, the programs on the server had better be free; if they are proprietary, their owners have power over the server. That’s unfair to the operator, and it doesn’t help you at all. But if the programs on the server are free, they still don’t protect you as the server’s user from the effects of SaaS. They give freedom to the operator, but not to you.

Releasing the server-software source code does benefit the community: suitably skilled users can set up similar servers, perhaps changing the software. But none of these servers would give you control over computing that you do on it, unless it’s your server. The rest would all be SaaS. SaaS always subjects you to the power of the server operator, and the only remedy is: don’t use SaaS! Don’t use someone else’s server to do your own computing on your data.

Distinguishing SaaS from Other Network Services

Does condemning SaaS mean rejecting all network servers? Not at all. Most servers do not raise this issue, because the job you do with them isn’t your own computing except in a trivial sense.

The original purpose of Web servers wasn’t to do computing for you, it was to publish information for you to access. Even today this is what most Web sites do, and they don’t pose the SaaS problem, because accessing someone’s published information isn’t a matter of doing your own computing. Neither is publishing your own materials via a blog site or a micro-blogging service such as Twitter. The same goes for communication not meant to be private, such as chat groups. Social networking can extend into SaaS; however, at root it is just a method of communication and publication, not SaaS. If you use the service for minor editing of what you’re going to communicate, that is not a significant issue.

Software as a service always subjects you to the power of the server operator, and the only remedy is to avoid it.

Services such as search engines collect data and let you examine it. Looking through their data isn’t your own computing in the usual sense, so these services are not SaaS.

E-commerce is not SaaS, because the computing isn’t solely yours; rather, it is done jointly for you and another party. So there’s no particular reason why you alone should expect to control that computing. The real issue in E-commerce is whether you trust the other party with your money and personal information.

Using a joint project’s servers isn’t SaaS because the computing you do in this way isn’t yours personally. For instance, if you edit pages on Wikipedia, you are not doing your own computing; rather, you are collaborating in Wikipedia’s computing.

Wikipedia controls its own servers, but groups can face the problem of SaaS if they do their group activities on someone else’s server. Fortunately, development hosting sites such as Savannah and Sourceforge don’t pose the SaaS problem, because what groups do there is mainly publication and public communication, rather than their own private computing.

Multiplayer games are a group activity carried out on someone else’s server, which makes them SaaS. But where the data involved is just the state of play and the score, the worst wrong the operator might commit is favoritism. You might well ignore that risk, since it seems unlikely and very little is at stake. On the other hand, when the game becomes more than just a game, the issue changes.

Which online services are SaaS? Google Docs is a clear example. Its basic activity is editing, and Google encourages people to use it for their own editing; this is SaaS. It offers the added feature of collaborative editing, but adding participants doesn’t alter the fact that editing on the server is SaaS. (In addition, Google Docs is unacceptable because it installs a large non-free JavaScript program into the user’s browser.) If using a service for communication or collaboration requires doing substantial parts of your own computing with it too, that computing is SaaS even if the communication is not.

Some sites offer multiple services, and if one is not SaaS, another may be. For instance, the main service of Facebook is social networking, and that is not SaaS; however, it supports third-party applications, some of which may be SaaS. Flickr’s main service is distributing photos, which is not SaaS, but it also has features for editing photos, which is SaaS.

Some sites whose main service is publication and communication extend it with “contact management”: keeping track of people you have relationships with. Sending mail to those people for you is not SaaS, but keeping track of your dealings with them, if substantial, is SaaS.

If a service is not SaaS, that does not mean it is ok. There are other bad things a service can do. For instance, Facebook distributes video in Flash, which pressures users to run non-free software, and it gives users a misleading impression of privacy. Those are important issues too, but this article’s concern is SaaS.

The information technology industry discourages users from considering these distinctions. That’s what the buzzword “cloud computing” is for. This term is so nebulous that it could refer to almost any use of the Internet. It includes SaaS, and it includes nearly everything else. The term only lends itself to uselessly broad statements.

The real meaning of “cloud computing” is to suggest a devil-may-care approach towards your computing. It says, “Don’t ask questions, just trust every business without hesitation. Don’t worry about who controls your computing or who holds your data. Don’t check for a hook hidden inside our service before you swallow it.” In other words, “Think like a sucker.” I prefer to avoid the term.

Dealing with the SaaS Problem

Only a small fraction of all web sites do SaaS; most don’t raise the issue. But what should we do about the others?

For the simple case, where you are doing your own computing on your own data, the solution is simple: use your own copy of a free software application. Do your text editing with your copy of a free text editor such as GNU Emacs or a free word processor. Do your photo editing with your copy of free software such as GIMP.

But what about collaborating with other individuals? It may be hard to do this at present without using a server. If you use one, don’t trust a server run by a company. A mere contract as a customer is no protection unless you could detect a breach and could really sue, and the company probably writes its contracts to permit a broad range of abuses. Police can subpoena your data from the company with less basis than required to subpoena them from you, supposing the company doesn’t volunteer them à la the U.S. phone companies that illegally wiretapped their customers for President Bush. If you must use a server, use a server whose operators give you a basis for trust beyond a mere commercial relationship.

However, on a longer time scale, we can create alternatives to using servers. For instance, we can create a distributed program through which collaborators can share data encrypted. The free-software community should develop distributed peer-to-peer replacements for important “web applications.”1 The GNU project is looking for volunteers to work on such replacements. We also invite other free-software projects to consider this issue in their design.

In the meantime, if a company invites you to use its server to do your own computing tasks, don’t yield; don’t use SaaS. Don’t buy or install “thin clients,” which are simply computers so weak they make you do the real work on someone else’s server. Use a real computer and keep your data there. Do your work with your own copy of a free program, for your freedom’s sake.

Copyright 2010 Richard M. Stallman. You can copy and redistribute this article under the Creative Commons Attribution Noderivs 3.0 license.


Post this page to: del.icio.us Yahoo! MyWeb Digg reddit Furl Blinklist Spurl

Comments

1 |
Problem with your suggestions
The idea of replacing server-based SaaS with p2p is good and has been thought of before. There are just way too many issues with this. Some of them (not in any specific order)
1.) How to make backups? Are you responsible for your own backups? Is your role that of a user or an administrator? How many normal people can handle backing up even the simplest of data? Many people (most) choose SaaS because they know that Google or MS make backups, they care more about getting the work done and collaborating and (falsely) believing that the SaaS provider can be held responsible. This article advocates USER = ADMINISTRATOR , which is not true in most cases.
2.) In a p2p scenario, are others willing to accept you as a peer to hold your data for "free"? What do they get from giving you their space? Is the p2p network as big as in the current file sharing networks (the Internet) or is p2p network for your data based in some private torrent/ subnet/group? The current lure of p2p is the person seeding me my data is also enjoying the benefit of watching that pirated movie. While in server based SaaS the lure is the money. Of course I am assuming here that the work does not need to be collaborated, but, I still want access to my data without lugging around my "real" computer with me all the time.
3.) What about liabilities? If your data (or parts of it) is lost, who is liable, no one? Even if it was done maliciously? At least in SaaS you have a sense of (false) security.
5.) What about bandwidth usage, is the protocol good enough? p2p traffic is known to consume large bandwidth and thus p2p traffic is shaped by a lot of ISPs?

I think the idea of having a p2p SaaS is good. But, the time scale we are talking about here is not months or years but somewhere like a decade, unless of course the FSF community really starts pushing for it, and I mean not just technically but also socially. I am all for p2p SaaS. Lets see if this can be made into a reality.

Cheers,
— posted 03/24/2010 at 14:18 by Antarctic monkey
2 |
Reply to Antarctic monkey
You've raised some valid points, and I don't think "p2p" is a good solution to this problem. What I have in mind is that people would buy a simple ADSL-modem sized box which they could plug into their own ADSL modem. It would have inside a simple free software OS with software to provide free software SaaS programs and the configuration would be automatic or atleast nearly automatic.
— posted 03/24/2010 at 22:12 by nawitus
3 |
Peer to peer with plug computers
Antarctic Monkey, automatic backup is an ongoing research subject. As far as I can recall, we can automate everything and provide a reasonable configurations default, which would solve most problems, if not all (even malicious behaviour). My guess is the software can be there in a few years at most.

Navitus, you are talking about "plug computers". It's already there and available for purchase. They just lack most of the software you speak of.

The biggest problem is the asymmetry of our bandwidth. _That_ will take more than a decade. The rest, however, could be widespread in 2015, if not sooner.
— posted 03/25/2010 at 17:38 by Loup Vaillant
4 |
Bandwidth isn't an issue for most SaaS
Assymetrical bandwidth is probably not an issue for most current forms of SaaS - Google Docs, etc are mostly text, which requires very modest bandwidth. More problematic is the fact that Google Docs (or whatever) is easy, works in anyone's browser, and scales well, whereas a p2p based free software distributed SaaS is going to require software (and hardware, in the case of plug computers) to be installed and might scale poorly, depending on local user hardware. If Google Docs is good enough, why bother with something that preserves your freedom if it requires more effort? Bruce Schneier has made similar points about why users trade security for convenience - security is of ultimate importance in a fairly small number of circumstances; in most situations, convenience is more valuable in the short term. In my view, the only way to guarantee that people avoid SaaS is through laws like EU data protection laws - my company forbids the use of Google Docs because of concerns about lack of compliance with EU legislation.

As for backup, why not just use distributed backup, where all users collaborating on a file have a local copy and distribute changes via something like rsync. I would have thought this is the most bandwidth-optimal option anyway. Local storage is cheap.
— posted 03/30/2010 at 20:25 by anon
5 |
management consulting
build or fill business technology gaps based on your specific vertical, platform, target capability development and product direction. Cloud Computing was started from a non-traditional IT player. Amazon.com, the famous web based bookseller, has changed the traditional computer hosting model by offering hosted computers
— posted 11/17/2010 at 09:45 by stratogiccloud
Name
E-mail (Will not appear online)
Title
Comment
To prevent automated Bots from spamming, please enter the text you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.



Powered by Comment Script

1) It may be wise to release them under the GNU Affero GPL, since they are likely candidates for being converted into server-based programs by someone else.

del.ici.ous  stumbleUpon  Reddit  Facebook    Digg   RSS Feed Icon

About the Author

Richard M. Stallman launched the free software movement in 1983 and began development of the GNU operating system in 1984. He is a MacArthur Fellow and President of the Free Software Foundation.

Richard Stallman,
Not Free at Any Price
Intellectual Enclosure

New Democracy Forum,
Saving the Internet (without wrecking it)


   



Boston Review Newsletter