Workshop on Technology of
Terms and Conditions
September 24-26, 1996
Report of Working Group 3
Participants: David Millman, Geoff Nunberg, James Davis, Kenneth Crews, and Mary Levering
Report Prepared by: David Millman and Geoff Nunberg
A. Expanding the Treatment of "Use"
The "uses" that agents traffic in are varied and often complex. A language designed to represent these therefore has several desiderata:
1. Comprehensiveness. It should be based on a wide survey of various types of document and informational commerce - as based, ideally, on an empirical study that extends the investigations that Stefik has already made.
2. Structuredness. The language should represent not just the relevant types of uses but also the relations among them and the broad classes they fall into. For example, we might want to distinguish formally between various kinds of uses (e.g., printing, displaying) and the broader permissions implicit in rights assignments. We would want to say that printing, screen display, etc. were instances of a general category of rendering.
3. Extensibility. However comprehensive it is, the language must be extensible to cover a variety of additional cases, such as those that arise from the introduction of new kinds of commerce and of new technologies for document use. It should also permit the reorganization of the relations among uses. For example, the right to translate a document is usually regarded as a derivative right. Now that it's possible to send a document to a translation service on the Web it becomes something more like a kind of reformatting, and it might be handled differently in the language.
4. Inferencing. The language should support inferencing, so that inferences can be drawn, say, from the right to print a document to the right to spool it, or from the right to translate a document to the right to edit it. This is particularly important as uses, permissions, prices and user specifications become complex and tiered, so that it gets cumbersome to represent every possibility explicitly.
5. Decomposible and perspicuous. The language should break down uses into an array of types and categories that correspond roughly to the ways users conceptualize these things. For example places and times of use could be represented as conditions of access, but might better be treated as distinct adjuncts to operations. (Suggestion: It might be a useful conceptual exercise to try to build an appropriately axiomatized formal language for representing this material, for which languages like Stefik's could be regarded as models, in the technical sense of the term.)
B. Representing "Purposes"
As a special case of these last considerations, we considered the representation of the purpose clauses that are frequently contained in contracts (e.g., "You can display this document for educational purposes"). As they are normally understood, such clauses aren't computable or hence automatically enforceable, though some approximation of them could be made by limiting access to certain users, certain places, etc. But it was observed that a single user might want to access a document under different terms and conditions - sometimes as a law student, sometimes as an intern in a law firm.
A useful direction might be to develop a more sophisticated "user metadata" infrastructure, in which user roles are assigned from a (multiple) hierarchy of user authorization classes. Purposes may then be derived from the interaction between the authorization classes and the desired use. Institutions acting as user metadata authorities could perform a number of useful functions from assigning and guaranteeing user roles, to protecting user privacy, to delegation of subordinate authority. The CCITT X.509 standard provides a secure and distributed framework for such authorities and the Internet "Ident" service (RFC 1413) suggests a direction for the exchange of user metadata.
In the short-term, there may be no automatic alternative to auditing as a means of enforcing these and other conditions of use.
C. Protocols/Interface for Determining Terms and Conditions
Several people have suggested that it is the nature of technology to lead to increasingly complex price models like those generally used for air tickets (at least for some subclass of the documents that we expect these systems to traffic in). In that case, the utility of a system for expressing and/or enforcing terms and conditions is limited by the facilities made available to the user to arrive at a satisfactory price (we don't want to require every transaction to begin with a call to the Frequent Readers Desk, or whatever).
To this end, we require a protocol that enables users to determine the terms of transactions rapidly. The protocol may range from an interface engaging in dialog directly with the user (e.g., "help" or "explain" messages) to a network protocol which would engage in dialog with a software agent (one perhaps related to a user metadata infrastructure) to negotiate as many terms as possible automatically, and only approaching the user upon threshold conditions. This might be constraint-driven so that users can specify certain general conditions and the system can propose the model that best satisfies them.