Englisch (Original):
Tivoisation explained - implementation and harms
Autor:
Ciarán O'Riordan
Datum (Original):
Dienstag 19 Dezember 2006
Übersetzung:
Andreas K. Förster
Lizenz:
Public Domain

Tivoisierung erklärt -
Implementierung und schädliche Wirkung

Wie Tivoisierung funktioniert

Tivoisierung ist eine Technik, die Hersteller verwenden, um einen Computer herzustellen, den sie dir verkaufen können, dessen Software sie erneuern können, du aber nicht.

Es gibt drei Punkte, die bei der Tivoisierung eine Rolle spielen:

  1. Der Hersteller baut einen Chip in den Computer, der jede Software überprüft bevor sie ausgeführt wird, und der nur autorisierte Software für die Ausführung freigibt.
  2. Der Chip kann autorisierte Software erkennen, indem er zum Beispiel eine Prüfsumme (sowas wie einen Fingerabdruck) mit einer Liste von autorisierten Prüfsummen vergleicht, oder indem er eine verschlüsselte Signatur überprüft.
  3. Der Hersteller hält die Informationen geheim, die man benötigen würde, um Software zu autorisieren.

Dadurch kann der Hersteller auch in Zukunft immer noch neue Versionen der Software veröffentlichen. Sie müssen nur die verschlüsselte Signatur in der neuen Version einbetten, oder einen Befehl per Fernzugriff senden, der die Prüfsumme der neuen Version zur Liste der autorisierten Prüfsummen hinzufügt.

Wenn du allerdings versuchst, eine modifizierte Version der Software zu benutzen, oder versuchst irgendwelche Software von Drittanbietern laufen zu lassen, wird der Computer sich weigern in vollem Umfang zu funktionieren, oder er wird sich weigern die Software überhaupt laufen zu lassen.

Den eigenen Computer kontrollieren

Die Bezeichnung »Tivoisierung« kommt von einem Computer namens Tivo, welcher mit den oben genannten Einschränkungen ausgestattet ist (zumindest seit den Serie2 Modellen aufwärts). Der Tivo enthält Spyware und blockiert das Kopieren von Informationen, sogar wenn es rechtlich erlaubt ist, diese Informationen zu kopieren.

Das Betriebssystem, das auf jeden Tivo installiert ist, ist GNU+Linux, somit hat man, wenn man einen Tivo kauft, Zugriff auf den von Menschen modifizierbaren Quelltext sowie die Erlaubnis, diesen zu modifizieren. Aber, wenn man versucht einen modifizierten Kernel zu benutzen, wird der Computer einfach nicht starten. (Wie es in diesem Artikel nachzulesen ist, mitten im 3. Absatz.) Somit verhindert Tivoisierung, dass es einem möglich ist, Software zu benutzen, die frei von Spyware und zu unrecht auferlegten Einschränkungen ist.

Die Freie Software Bewegung erhalten

Der zweite Grund, warum Freie Software Lizenzen Tivoisierung verbieten sollten, ist der, dass Tivoisierung das Umfeld vernichtet, in dem Freie Software sich entfalten kann.

Normalerweise bekommen wir, wenn sich unsere Software verbreitet, mehr Entwickler dazu (Individuen sowie Firmen), da einige der Anwender programmieren können und sie kleine oder größere Veränderungen vornehmen. Hinzu kommt, dass viele von denen, die Veränderungen vornehmen, ihre Verbesserungen veröffentlichen, so dass jeder, inklusive der Nichtprogrammierer, von der allgemeinen Möglichkeit, dass die Gemeinschaft die Software überarbeiten kann, profitieren kann. Dadurch, dass Computer nicht programmierbar gemacht werden, verwandelt Tivoisierung Freie Software Anwender in Nichtprogrammierer.

Somit wird durch Tivoisierung die Gemeinschaft der Möglichkeit beraubt, die Richtung zu beeinflussen, in die sich Freie Software entwickelt, und der Zusammenhang zwischen der Verbreitung unserer Software und dem Wachstum unserer Entwickler-Gemeinschaft wäre unterbrochen. Würden eine Millionen Leute Tivos kaufen, gäbe es eine Millionen GNU+Linux Benutzer mehr auf der Welt, aber wir würden Null Entwickler hinzu bekommen.

Das ist auf jeden Fall schade, aber es könnte auch richtig problematisch werden, wenn sich das ausbreiten würde.

Wenn wir dieses Verhalten von Hardware Herstellern dulden würden, würden wir mehr davon bekommen, denn die Hardware Hersteller hätten keinen Grund die Gelegenheit ungenutzt zu lassen, mehr Macht über ihre Kunden ausüben zu können. Wenn tivoisierte Computer die Norm werden, und die Ära programmierbarer Computer nur noch der Vergangenheit angehört, dann ist das echt ein Problem für Freie Software Entwicklung und wir müssten dem Gedanken, unsere eigenen Computer kontrollieren zu können, Lebewohl sagen.

Worüber wir uns Gedanken machen müssen

Während die GPLv3 noch im Entwurfsstadium ist, müssen wir darüber nachdenken, welche verschiedenen Arten der Tivoisierung noch auftauchen könnten, ob sie machbar sind oder auch nicht, oder ob die selben Probleme irgendwie anders verursacht werden könnten, und wie die gegenwärtigen Formulierungen verbessert werden könnten um dies zu verhindern.

Von den drei Komponenten der Tivoisierung, wie sie oben beschrieben wurden, ist Punkt Nummer 3 der problematische. Wenn Hersteller die Punkte Nummer 1 und 2 implementieren würden, aber jedem Kunden die (eventuell individuelle) verschlüsselte Signatur mitgeben würden, oder ihnen mitteilen würden, wie man neue Prüfsummen zur Liste der autorisierten Prüfsummen hinzufügt, dann gäbe es kein Problem. Der Computer würde nur autorisierte Software abspielen, aber man könnte selbst entscheiden, was autorisiert ist.

Tatsächlich könnte man sogar sagen, dass die Punkte 1 und 2 sogar wichtig sein könnten, denn sie könnten für Sicherheitsmaßnahmen genutzt werden. Ich könnte meinen Computer so konfigurieren, dass er nur signierte Software abspielt, und dann könnte ich die ganze Software auf meinem Computer signieren. Wenn dann ein Virus die Software auf meinem Computer verändert oder ein neues Programm hinzufügt, würde es einfach nicht laufen. Oder ich könnte das auch als Netzwerk-Administrator auf mehreren Maschinen in einem Unternehmen so machen. Deshalb dürfen die Punkte 1 und 2 nicht durch die Verhinderung des Punktes 3 mit verhindert werden.

Was der Diskussions-Entwurf 2 der GPLv3 sagt

Der Diskussions-Entwurf 2 der GPLv3 verhindert Punkt Nummer 3, indem er besagt, dass wenn man den Quelltext eines Programmes weitergibt, folgendes enthalten sein muss:

...jegliche Verschlüsselungs- oder Autorisations-Schlüssel, die notwendig sind, um modifizierte Versionen des Quelltextes im empfohlenen oder dem hauptsächlichen Verwendungs-Kontext zu installieren und/oder auszuführen...

...any encryption or authorization keys necessary to install and/or execute modified versions from source code in the recommended or principal context of use...

Das betrifft nur diejenigen, die Hardware plus Software ausliefern, bei denen die Hardware so konfiguriert ist, wie in oben erwähnten Punkt Nummer 1. Wenn man nur Software vertreibt, dann ist die Anzahl der Schlüssel, die notwendig sind um die Software zu installieren und/oder auszuführen gleich Null. Das heißt, diese Formulierung betrifft nur eine kleine Anzahl an Hardware Herstellern, vielleicht weniger als zehn.

Dieser zitierte Satz stammt aus den Definitionen für »Corresponding Source« des Diskussions-Entwurfes 2 der GPLv3. Richard Stallman hat gesagt, dass das voraussichtlich im Diskussions-Entwurf 3 aus dieser Definition entfernt wird, und in den Abschnitt über das Verteilen von Binärdateien verschoben wird.

Eure Kommentare zu diesem Thema sind auf dem gplv3.fsf.org Kommentar-Portal erwünscht.

Für weitere Informationen über die GPLv3, siehe das GPLv3 Projekt der FSFE.

(I had help in writing this from the people on the fsfe-uk and fsfe-ie mailing lists. Those links point to the archive of the relevant discussions showing the people and their comments. Thanks.)