Digital Rights Management - Part 3. By Karen Coyle

Rights Expression Language

The controls in Adobe Acrobat and Microsoft Reader (as well as those in other protected formats like Palm Reader, MobiPocket, etc.) are fairly limited in scope. They limit access to the file, and those that run on a general-purpose computer also control interaction with a few basic computer functions like printing and copying to the clipboard. But the future of digital rights management is in the development of something called a Rights Expression Language (REL) that will allow a publisher to designate a much more detailed and complex set of usage controls. The REL will be able to control the number of times a text can be read, can set timed controls (i.e., "for two weeks starting today"), and can manage complex relationships of distribution, sale and lending.

So what's a Rights Expression Language? It seems obvious, but it's a language that expresses rights, that says what rights you have in relation to this file. You could argue that we have a perfectly good rights expression language in our copyright laws. After all, the purpose of the copyright law is to state what are the rights of copyright holders and what are the rights of the public. The problem is that the copyright laws are written in legal language, a language that requires some interpretation and some judgment as it is put into practice. An REL in the digital rights management sense is a different kind of language; it is a formal language like mathematics or like programming code; it is language that can be executed as an algorithm. A rights expression language is not open to interpretation but must be rendered precisely through software.

What can a rights expression language control? It's important to keep in mind that a rights expression language must work within the computing environment and the capabilities of that environment and computers are entirely quantitative by their nature. So REL's tend to be about things that a computer can count, like:

This diagram, below, by Renato Ianella, shows the general overview of a rights expression language, with a triangle of rights, which he calls "usage permissions" (in yellow), constraints like time, units or territory (in pink), and payments or exchange of value (in blue). This triumvirate of rights, constraints and payments is the basis of a general purpose rights expression language, but the simplicity of this model can be deceptive. In fact, a true general-purpose REL is far from simple.

REL diagram

There are some very sophisticated RELs in development although none has been fully realized as a product yet. These languages are very complex because they need to be able to express all of the possible uses of a text or a recording or a film that can be granted to a member of the public that accesses it. They also need to include language to manage business relationships like wholesale and retail distribution.

Open Digital Rights Language (ODRL)

Renato Ianella, whose diagram we viewed above, has developed a rights language that he proposes as an open standard, called Open Digital Rights Language, or ODRL. ODRL is still in development but it already has quite a large vocabulary related to usage permissions, constraints and payments. Here are some of the terms it uses:


ODRL is rendered in XML. Here's a small fragment of a sample ODRL file. This fragment gives the user permission to display a set number of pages. You can see that the permission is "display," the unit of measure is "NumberOfPages," and the range of pages is a minimum of one to a maximum of five.

		<o-dd:unit o-ex:type="onix:NumberOfPages">

eXtensible rights Markup Language (XrML)

XrML is a product of the company ContentGuard, and is based on the early REL work of Mark Stefik, whose quote was shown early in this article. As a language, XrML is more abstract than ODRL and could properly be thought of as a meta-language: a language for developing rights expression languages. Because of this its vocabulary is less immediately understandable than that of ODRL but can be used as building blocks to express specific rights. For example, here are a few XrML data elements:

The AllPrincipals Principal
The KeyHolder Principal
The Issue Right
The Revoke Right
The PossessProperty Right
The Obtain Right

Although these data elements appear to be very abstract, in fact XrML expresses an REL with great precision. Here is one paragraph from the XrML-based standard that was developed for the Motion Picture Experts Group (MPEG): Authorization of Located Bits
Let γ be any authorized Grant containing a Resource δ which is a DigitalResource. Let β be the sequence of bits which is the result of any execution of the location algorithm of δ. Then the Grant γ' which is identical to γ except that δ is replaced by a DigitalResource which contains a child binary element which contains a base64 encoding of β is also authorized.

The key thing here is that the XrML "language" is not semantic in the sense of a human language, but is expressed as formulas with mathematical-like precision. The resulting rights statement, however, is no more or less comprehensible than the XML that is derived from ODRL:

  <keyHolder licensePartIdRef="Alice"/>
  <mx:diReference licensePartIdRef="eBook"/>

This statement is similar to the one we saw for ODRL. It is a fragment of a larger expression, but is giving Alice, the licence holder, a licence to exercise a right (not named in this fragment) that lasts for a period of seven days.

XrML is the basis for the REL developed for Moving Picture Experts Group (MPEG), the group developing standards for digital audio and video. The MPEG standard is an international standard and the rights expression language is incorporated as part 5 of MPEG-21. This makes XrML the key REL for digital media at this moment in time.

Specialized RELs

ODRL and XrML are examples of generalized rights expression languages, and part of their complexity is that they must cover every imaginable right and constraint. It is possible to develop a rights expression language that is specific to a particular task, and such a language can be more limited in scope. In a sense we have already seen that with the rights that are incorporated in the ebook readers developed by Adobe and Microsoft. Another example is PRISM.

PRISM Metadata elements

PRISM stands for the Publishing Requirements for Industry Standard Metadata. This is an industry standard for syndicated magazine and newspaper articles. PRISM operates in a business-to-business context where the businesses have pre-existing relationships and business contracts. The rights expression portion of the PRISM metadata provides additional information, such as copyright statements and expiration dates on the files. Because the businesses concerned control their relationships through contracts, PRISM is not expected to be utilized in an automated enforcement system. This reduces the need for the kind of formal precision that is required of XrML.

A rights expression language does not have to assume any enforcement. This is the case with the simple REL developed by the proponents of the CreativeCommons. The CreativeCommons web site provides a step-by-step license creation mechanism for writers, musicians and artists who make their works available over the Internet. It is a short statement of ownership and the creator's instructions regarding reuse of all or part of the work. Unlike XrML or ODRL, which are specifically designed to be a machine-readable statement that will be interpreted by programs, the CreativeCommons license primarily sees humans as its audience.

CreativeCommons rights screenshot

Next: Trusted Systems

©Karen Coyle, 2003
Creative Commons License
This work is licensed under a Creative Commons License.