Wem dient dieser Server wirklich?

von Richard Stallman

(Ursprünglich erschien dieser Text in englischer Sprache im Boston Review.)

Im Internet stellt proprietäre Software nicht die einzige Gefahr für die Freiheit dar. Service als Software-Ersatz („Service as a Software Substitute“ bzw. SaaSS) räumt ebenfalls anderen Macht über die eigene IT ein.

SaaSS bedeutet, eine Computeraufgabe von einem fremden Dienstleister erledigen zu lassen statt eine eigene Kopie eines Programms laufen zu lassen. Der Begriff SaaSS ist eine Begrifflichkeit der Free Software Foundation (FSF). Er wird in Artikeln und Anzeigen nicht genutzt. Letztere klären nicht, ob es sich bei einem Dienst um SaaSS handelt oder nicht. Stattdessen benutzen sie wahrscheinlich den unbestimmten und ablenkenden Begriff “Cloud”, der SaaSS in einen Sack steckt mit verschiedenen anderen Verfahren, von denen einige als übergriffig einzustufen sind und andere als ganz OK. Die Erklärungen und Beispiele in diesem Text ermöglichen es Ihnen zu erkennen, ob es sich bei einem Dienst um SaaSS handelt.

Hintergrund: Wie proprietäre Software Freiheit beschränkt

Digitale Technologie kann Freiheit schaffen und sie auch wieder beseitigen. Der erste Angriff auf unsere Kontrolle über unsere Rechner kam von proprietärer Software: Software, die die Benutzer nicht kontrollieren können, weil der Eigentümer des Codes (ein Unternehmen wie Apple oder Microsoft) sie kontrolliert. Der Eigentümer des Codes verschafft sich auf der Grundlage dieses ungerechten Verhältnisses oft einen Vorteil dadurch, dass er Schadfunktionen wie Spyware, Hintertüren und Digitales Rechteeinschränkungs-Management (DRM) (in der Propaganda als “Digitales Rechte Management” bezeichnet) einbaut.

Unsere Lösung für dieses Problem besteht in der Entwicklung freier Software und der Ablehnung proprietärer Software. Freie Software bedeutet, dass Sie als Nutzer vier Grundfreiheiten genießen: (0) das Programm auszuführen, wie Sie möchten, (1) es zu studieren und den Quellcode zu ändern, so dass es tut, was Sie wollen, (2) exakte Kopien weiterzuverteilen und (3) Kopien Ihrer modifizierten Versionen zu verteilen. (Siehe die Definition von freier Software.)

Mit freier Software eignen wir, die Nutzer, uns die Kontrolle über unsere Rechenarbeit wieder an. Proprietäre Software existiert noch, aber wir können sie aus unserem Leben verbannen und viele von uns haben dies auch getan. Allerdings sehen wir uns jetzt mit einem neuen Angriff auf die Selbstkontrolle unserer Rechenarbeit konfrontiert: Service als Software-Ersatz (SaaSS). Um unserer Freiheit willen müssen wir auch diesen ablehnen.

Wie Service als Software-Ersatz Ihre Freiheit einschränkt

Service als Software-Ersatz (SaaSS) bedeutet, eine Dienstleistung in Anspruch zu nehmen, statt eine eigene Kopie eines Programms einzusetzen. Konkret bedeutet das, dass jemand einen Netzwerkserver aufsetzt, der bestimmte Rechenaufgaben - zum Beispiel die Bearbeitung eines Fotos, die Übersetzung von Text in eine andere Sprache – erledigt und dann Benutzer*innen dazu einlädt, ihre Computerarbeit über diesen Server zu erledigen. Eine Benutzer*in eines solchen Servers würde ihre oder seine Daten an den Server schicken, der ihre oder seine eigene Rechenarbeit an den so zur Verfügung gestellten Daten erledigt und ihr oder ihm dann die Ergebnisse zukommen lässt oder direkt in ihrem oder seinem Namen weitere Aktionen vornimmt.

Die Rechenarbeit ist ihre oder seine eigene, wenn die Annahme zutrifft, dass sie oder er sie im Prinzip auch von einem Programm auf ihrem oder seinem eigenen Computer hätte erledigen lassen können (unabhängig davon, ob dieses Programm gerade konkret zur Verfügung steht). Trifft diese Annahme nicht zu, dann handelt es sich nicht um SaaSS.

Solche Server entreißen den NutzerInnen die Kontrolle noch unerbittlicher als proprietäre Software. Bei proprietärer Software erhalten die BenutzerInnen in der Regel eine ausführbare Datei, nicht jedoch den Quellcode. Das erschwert es, den Code, der ausgeführt wird, zu studieren, was wiederum erschwert herauszufinden, was das Programm tatsächlich macht und Probleme dabei bereitet, das Programm abzuändern.

Unter den Bedingungen von SaaSS bekommen die BenutzerInnen nicht einmal die ausführbare Datei, die ihre Computeraufgaben erledigt: Sie liegt auf einem fremden Server, wo die BenutzerInnen weder draufschauen noch eingreifen können. Dadurch ist es unmöglich für sie festzustellen, was das Programm wirklich macht, und auch unmöglich, es zu ändern.

Darüber hinaus zieht SaaSS automatisch Konsequenzen nach sich, die den tückischen Merkmalen bestimmter proprietärer Software entsprechen.

For instance, some proprietary programs are “spyware”: the program sends out data about users' computing activities. Microsoft Windows sends information about users' activities to Microsoft. Windows Media Player reports what each user watches or listens to. The Amazon Kindle reports which pages of which books the user looks at, and when. Angry Birds reports the user's geolocation history.

Unlike proprietary software, SaaSS does not require covert code to obtain the user's data. Instead, users must send their data to the server in order to use it. This has the same effect as spyware: the server operator gets the data—with no special effort, by the nature of SaaSS. Amy Webb, who intended never to post any photos of her daughter, made the mistake of using SaaSS (Instagram) to edit photos of her. Eventually they leaked from there.

Einige proprietäre Betriebssysteme enthalten eine universelle Hintertür, die irgendjemandem die ferngesteuerte Installation abgeänderter Software erlaubt. Windows z.B. hat eine universelle Hintertür, die es Microsoft erlaubt, Änderungen jeglicher Software auf einem Rechner zu erzwingen. Fast alle Mobiltelefone haben solche Hintertüren. Auch einige proprietäre Programme haben universelle Hintertüren; so erlaubt z.B. der Steam-Client für GNU/Linux seinem Entwickler die Ferninstallation veränderter Programmversionen.

Mit SaaSS kann der Serverbetreiber die auf dem Server eingesetzte Software ändern. Er sollte dazu zumindest in der Lage sein, denn es handelt sich ja um seinen Rechner; das Ergebnis ist das gleiche wie bei der Anwendung eines proprietären Programmes, das mit einer universellen Hintertür versehen ist: Jemand hat die Macht, stillschweigend Änderungen an der Art und Weise vorzunehmen, in der die Computeraufgaben eine_r NutzerIn erledigt werden.

Damit verhält sich SaaSS genau wie proprietäre Software, die mit Spyware und universeller Hintertür ausgestattet ist. Sie verleiht dem Serverbetreiber in einem nicht zu rechtfertigenden Maße Macht über den Benutzer, und gegen diese Macht müssen wir uns wehren.

SaaSS und SaaS

Zunächst bezeichneten auch wir diese problematische Praxis als “SaaS”, was für “Software as a Service” steht. Es handelt sich dabei um einen weit verbreiteten Begriff, der die Einrichtung von Software auf einem Server bezeichnet, anstatt den NutzerInnen Kopien davon zur Verfügung zu stellen, und wir dachten, mit diesem Begriff hätten wir genau die Fälle beschrieben, in denen dieses Problem auftritt.

Uns wurde aber irgendwann bewusst, dass der Begriff SaaS manchmal auch für Kommunikationsdienste bzw. -aktivitäten verwendet wird, bei denen diese Problematik nicht auftritt. Außerdem verrät der Begriff “Software as a Service” nicht, warum die Praxis schlecht ist. Daher prägten wir den Begriff “Service as a Software Substitute” (Service als Software-Ersatz), der die schlechte Praxis besser auf den Punkt bringt und deutlich macht, was schlecht daran ist.

Entflechtung der Problematiken von SaaSS und Proprietärer Software

SaaSS und proprietäre Software führen zu ähnlich unangenehmen Ergebnissen, aber auf Grund unterschiedlicher Mechanismen. Bei proprietärer Software besteht der Mechanismus darin, dass Sie im Besitz einer Kopie der Software sind und sie auch einsetzen, die nur schwer und/oder illegalerweise veränderbar ist. Bei SaaSS, läuft es so, dass Sie nicht einmal im Besitz der Kopie des Prgramms sind, das ihre Computeraufgabe erledigt.

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, even large JavaScript programs into your browser without informing you. When these JavaScript programs are nonfree, they cause the same sort of injustice as any other nonfree software. Here, however, we are concerned with the issue of using the service itself.

Many free software supporters assume that the problem of SaaSS 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 server operator, and doesn't help the users at all. But if the programs on the server are free, that doesn't protect the server's users from the effects of SaaSS. These programs liberate the server operator, but not the server's users.

Die Veröffentlichung des Quellcodes von Server-Software hilft der Community: Sie ermöglicht entsprechend erfahrenen Benutzern die Einrichtung ähnlicher Server, ggf. auch die Änderung der Software. Wir empfehlen die Verwendung der GNU Affero GPL als Lizenz für Programme, die häufig auf Servern laufen.

Aber keiner dieser Server würde Ihnen die Kontrolle über die Computerarbeit gewähren, die sie dort erledigen, es sei denn, es ist Ihr eigener Server. Es mag OK sein, für bestimmte Aufgaben dem Server eines Freund zu vertrauen, so wie man seinen Freund auch an den eigenen Computer lässt, um dessen Software zu warten und zu aktualisieren. Jenseits dessen stellen alle Server SaaSS dar. SaaSS unterwirft Sie immer der Macht der Serverbetreiber, und das einzige Gegenmittel besteht darin, SaaSS nicht zu verwenden! Greifen Sie nicht auf die Server Dritter zurück, um Ihre eigene Datenverarbeitung zu erledigen.

This issue demonstrates the depth of the difference between “open” and “free”. Source code that is open source is, nearly always, free. However, the idea of an “open software” service, meaning one whose server software is open source and/or free, fails to address the issue of SaaSS.

Services are fundamentally different from programs, and the ethical issues that services raise are fundamentally different from the issues that programs raise. To avoid confusion, we avoid describing a service as “free” or “proprietary.”

Distinguishing SaaSS from Other Network Services

Which online services are SaaSS? The clearest example is a translation service, which translates (say) English text into Spanish text. Translating a text for you is computing that is purely yours. You could do it by running a program on your own computer, if only you had the right program. (To be ethical, that program should be free.) The translation service substitutes for that program, so it is Service as a Software Substitute, or SaaSS. Since it denies you control over your computing, it does you wrong.

Another clear example is using a service such as Flickr or Instagram to modify a photo. Modifying photos is an activity that people have done in their own computers for decades; doing it in a server instead of your own computer is SaaSS.

Rejecting SaaSS does not mean refusing to use any network servers run by anyone other than you. Most servers are not SaaSS because the jobs they do are not the user's own computing.

The original idea 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 it doesn't pose the SaaSS problem, because accessing someone's published information isn't doing your own computing. Neither is publishing your own materials via a blog site or a microblogging service such as Twitter or StatusNet. (These services may have other problems, of course.) The same goes for other communication not meant to be private, such as chat groups.

In its essence, social networking is a form of communication and publication, not SaaSS. However, a service whose main facility is social networking can have features or extensions which are SaaSS.

If a service is not SaaSS, that does not mean it is OK. There are other ethical issues about services. For instance, Facebook distributes video in Flash, which pressures users to run nonfree software; it requires running nonfree JavaScript code; and it gives users a misleading impression of privacy while luring them into baring their lives to Facebook. Those are important issues, different from the SaaSS issue.

Services such as search engines collect data from around the web and let you examine it. Looking through their collection of data isn't your own computing in the usual sense—you didn't provide that collection—so using such a service to search the web is not SaaSS. However, using someone else's server to implement a search facility for your own site is SaaSS.

Purchasing online is not SaaSS, because the computing isn't your own; rather, it is done jointly by and for you and the store. The real issue in online shopping is whether you trust the other party with your money and other personal information (starting with your name).

Repository sites such as as Savannah and SourceForge are not inherently SaaSS, because a repository's job is publication of data supplied to it.

Using a joint project's servers isn't SaaSS because the computing you do in this way isn't your own. 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 organizations as well as individuals encounter the problem of SaaSS if they do their computing in someone else's server.

Some sites offer multiple services, and if one is not SaaSS, another may be SaaSS. For instance, the main service of Facebook is social networking, and that is not SaaSS; however, it supports third-party applications, some of which are SaaSS. Flickr's main service is distributing photos, which is not SaaSS, but it also has features for editing photos, which is SaaSS. Likewise, using Instagram to post a photo is not SaaSS, but using it to transform the photo is SaaSS.

Google Docs shows how complex the evaluation of a single service can become. It invites people to edit a document by running a large nonfree JavaScript program, clearly wrong. However, it offers an API for uploading and downloading documents in standard formats. A free software editor can do so through this API. This usage scenario is not SaaSS, because it uses Google Docs as a mere repository. Showing all your data to a company is bad, but that is a matter of privacy, not SaaSS; depending on a service for access to your data is bad, but that is a matter of risk, not SaaSS. On the other hand, using the service for converting document formats is SaaSS, because it's something you could have done by running a suitable program (free, one hopes) in your own computer.

Using Google Docs through a free editor is rare, of course. Most often, people use it through the nonfree JavaScript program, which is bad like any nonfree program. This scenario might involve SaaSS, too; that depends on what part of the editing is done in the JavaScript program and what part in the server. We don't know, but since SaaSS and proprietary software do similar wrong to the user, it is not crucial to know.

Publishing via someone else's repository does not raise privacy issues, but publishing through Google Docs has a special problem: it is impossible even to view the text of a Google Docs document in a browser without running the nonfree JavaScript code. Thus, you should not use Google Docs to publish anything—but the reason is not a matter of SaaSS.

The IT industry discourages users from making 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 SaaSS as well as many other network usage practices. In any given context, an author who writes “cloud” (if a technical person) probably has a specific meaning in mind, but usually does not explain that in other articles the term has other specific meanings. The term leads people to generalize about practices they ought to consider individually.

If “cloud computing” has a meaning, it is not a way of doing computing, but rather a way of thinking about computing: a devil-may-care approach which says, “Don't ask questions. 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. Trust companies without hesitation.” In other words, “Be a sucker.” A cloud in the mind is an obstacle to clear thinking. For the sake of clear thinking about computing, let's avoid the term “cloud.”

Dealing with the SaaSS Problem

Only a small fraction of all web sites do SaaSS; most don't raise the issue. But what should we do about the ones that raise it?

For the simple case, where you are doing your own computing on data in your own hands, 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. What if there is no free program available? A proprietary program or SaaSS would take away your freedom, so you shouldn't use those. You can contribute your time or your money to development of a free replacement.

What about collaborating with other individuals as a group? It may be hard to do this at present without using a server, and your group may not know how to run its own server. If you use someone else's server, at least 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. The state can subpoena your data from the company along with everyone else's, as Obama has done to phone companies, supposing the company doesn't volunteer them like the US phone companies that illegally wiretapped their customers for 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 peer-to-peer program through which collaborators can share data encrypted. The free software community should develop distributed peer-to-peer replacements for important “web applications”. 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. 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 SaaSS. Don't buy or install “thin clients”, which are simply computers so weak they make you do the real work on a server, unless you're going to use them with your server. Use a real computer and keep your data there. Do your own computing with your own copy of a free program, for your freedom's sake.

Vgl. auch:

Den Programmfehler, den niemand verstehen darf.