# XrML

Die eXtensible rights Markup Language (XrML) ist eine universelle Sprache zur sicheren Beschreibung und Verwaltung von Rechten auf Basis des offenen XML-Standards.
Diese Rechte können an beliebige Objekte gebunden werden und sehr granular die Nutzungsrechte auf Benutzer und Gruppenebene definieren. Die definierten Rechte werden in der Regel als sogenanntes Rechte-Objekt (RO) zusammengefasst und können im Kontext von Digital Rights Management (DRM) als Teil der Lizenz übertragen werden.
XrML entstand aus der Forschung am Xerox PARC (Palo Alto Research Center). Die XrML-Spezifikation liegt seit November 2001 in der Version 2 vor und wird von mehreren Gremien zur Definition der DRM-Implementierung in ihre eigenen XML-Sprachen verwendet (z. B. OASIS, Open eBook Forum, MPEG-21).

## Geschichte
### Xerox PARC und DPRL

Mark Stefik, ein Forscher am Xerox PARC, ist als Urheber der Konzepte bekannt, die zur Sprache XrML wurden. Stefik beschäftigte sich mit der Forschung zum Thema vertrauenswürdige Systeme für den sicheren digitalen Handel, von denen ein Teil eine Sprache war, um die Rechte auszudrücken, die das System den Benutzern erlauben würde, auf digitalen Ressourcen auszuführen.
Die erste Version der Ausdruckssprache, aus der XrML wurde, wurde am Xerox PARC entwickelt und Digital Property Rights Language (DPRL) genannt. DPRL erscheint in einem von Xerox im November 1994 eingereichten (und im Februar 1998 erteilten) Patent mit dem Titel: „System zur Kontrolle der Verteilung und Verwendung digitaler Werke mit angehängten Nutzungsrechten, wobei die Nutzungsrechte durch eine Nutzungsrechtsgrammatik definiert sind“ (US-Patent 5.715.403, erteilt an die Xerox Corporation).
Zwischen 1994 und 1998 bildete Xerox seine Rights Management Group, um die im Patent dargestellte Arbeit fortzusetzen. Im November 1998 gab Xerox die erste XML-Version der Digital Property Rights Language (DPRL) mit der Bezeichnung Version 2.0 heraus. Vor dieser Zeit war DPRL in der LISP-Programmiersprache geschrieben worden.
Aus der Dokumentation zu DPRL 2.0 geht klar hervor, dass DPRL für die Interaktion von Maschine zu Maschine konzipiert wurde, wobei die Rechte in Form von maschinenverarbeitbaren Funktionen ausgedrückt werden. Sie stellt auch klar, dass bei der Interpretation einer DPRL-basierten Äußerung von Rechten nur die Rechte, die explizit gewährt werden, auch umgesetzt werden können. Alle Bereiche, in denen eine Rechteausprägung schweigt, müssen als nicht gewährte Rechte interpretiert werden und müssen daher von der Software, die die Rechte durchsetzt, verweigert werden.

### XrML 1.0

1999 wurde die Version 2 von DPRL an ein von Microsoft und Xerox neu gegründetes Unternehmen namens ContentGuard lizenziert, das DPRL zu der eXtensible rights Markup Language (XrML) weiterentwickelt hat. Version 1 von XrML wurde 2001 veröffentlicht.
XrML 1.0 war eine Weiterentwicklung von DPRL. Sie erweiterte einen Großteil der Verwaltungsstruktur von DPRL, indem sie eindeutige Identifikatoren, private und öffentliche Schlüssel und andere Mechanismen zur Identifizierung und Überprüfung der Authentizität des Herausgebers und des Benutzers der Ressource hinzufügte. Es fügte auch eine Zertifizierung für Hardware und Software hinzu, die Teil der vertrauenswürdigen Umgebung sein sollte. Die Liste der Rechte blieb gleich, obwohl sich die Definitionen der individuellen Rechte etwas änderten. Insbesondere unterschied XrML 1.0 klar zwischen den Rechten, die eine neue Ressource schufen, und denen, die eine bestehende Ressource modifizierten.

### XrML 2.0

Version 2.0 von XrML war eine radikale Abkehr von allem, was davor war. Während DPRL und XrML 1.0 eine spezifische Sprache für maschinenverwertbare Rechte enthielten ("Kopieren", "Übertragen", "Sichern", "Installieren" usw.), war Version 2.0 eine abstrakte Rechte-Sprache mit nur wenigen Kernelementen. Die Kernelemente von XrML 2.0 sind diejenigen, die erforderlich sind, um Vertrauen zwischen Systemen herzustellen, damit Transaktionen stattfinden können. Dazu gehören der Aussteller der Lizenz, die anderen Parteien der Lizenz und die Möglichkeit, Ressourcen und Rechte, digitale Signaturen usw. einzubeziehen. Diese Version ist nicht spezifisch für irgendein Medium oder eine Art von Ressource und wurde verallgemeinert, um Rechte an digitalen Ressourcen, Diensten oder anderen digitalen Entitäten zu kontrollieren.