Methods and apparatus for creating a license defining permissions to use
electronic content. The methods include selecting a plurality of habitat
types, each an aspect of a user environment to which a license can be
bound, the selection based on input from a retail customer; determining
one or more habitat values and relations for each selected type; and
creating a license to use the electronic content, the license including
an and-or logic expression of habitat terms, each term containing one of
the selected types and its set of corresponding values and relations.
Each habitat term may include a key for decrypting or unlocking the
electronic content. In another aspect, the methods include receiving from
a retail customer an input selecting habitat types and one or more
habitat values for each selected type; and requesting from a server a
license file to permit use of an electronic content, the license file
including an and-or logic expression of habitat terms, each term
containing one of the selected types and its corresponding values. In
another aspect, the methods include receiving electronic content at a
user computer; receiving a license file permitting use of the electronic
content at the user computer, the license file including an and-or logic
expression of habitat terms, each term containing a set of access
permissions; extracting the set of permissions from an evaluation of the
expression that renders the expression true; and allowing an end user to
access the electronic content according to the extracted permissions.