INTERNET-DRAFT                                                     PICS
<draft-pics-services-00.txt>                                    MIT/W3C
Expires May 21, 1996                                  November 21, 1995


                  Rating Services and Rating Systems
               (and Their Machine Readable Descriptions)

Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   To learn the current status of any Internet-Draft, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.

   Comments on this draft should be sent to
   "pics-spec-comments@w3.org".


1. Introduction

   This document, which has been prepared for the technical
   subcommittee of PICS (Platform for Internet Content Selection),
   defines a language for describing rating services.  Software
   programs will read service descriptions written in this language,
   in order to interpret content labels and assist end-users in
   configuring selection software.

   A related document, "Label Syntax and Communication Protocols",
   <draft-pics-labels-00.txt>, specifies the syntax and semantics
   of content labels and protocol(s) for distributing labels.

   The goal of the PICS effort is to enable a marketplace in which many
   different products and services will be developed, tested, and
   compared.  Hence, the following considerations have had significant
   impact on this document:

     o  Some organizations may rate items on well-known dimensions,
        using their own techniques and viewpoints to determine actual
        ratings.  Other organizations may choose to develop their own
        dimensions for rating.  This motivates the distinction between
        a _rating system_ and a _rating service_ (see the glossary).
     o  Some services may provide access to their ratings on-line, from
        an HTTP server, while others may either ship them in batches or
        transmit them on floppy disks or CD-ROMs.


2. What is a "Rating Service"?

   A _rating service_ is an individual, group, organization, or company
   that provides content labels for information on the Internet.  The
   labels it provides are based on a rating _system_ (see below).  Each
   rating service must describe itself using a newly created MIME type,
   "application/pics-service".  Selection software that relies on
   ratings from a PICS rating service can first load the
   "application/pics-service" description.  This description allows the
   software to tailor its user interface to reflect the details of a
   particular rating service, rather than providing a "one design fits
   all rating services" interface.

   This specification does not state how the "application/pics-service"
   description of a rating service is initially located.  For users of
   the World Wide Web, we expect that well-known sites will provide
   lists of rating services along with their "application/pics-service"
   descriptions.  It is expected that client programs will cache copies
   of "application/pics-service" descriptions, so any incompatible
   change in a service description should be accomplished by creating
   an entirely new service.

   Each rating service picks a URL as its unique identifier.  It is
   included in content labels the service produces, to identify their
   source.  To ensure that no other service uses the same identifier,
   it must be a valid URL.  The document available at that URL may be
   in any format, but we recommend that it:

     o  be an HTML document organized for ease of use by novice
        computer users (the "application/pics-service" description
        would be a poor choice);
     o  describe the rating system used, or provide a link to another
        document describing it;
     o  be available in multiple languages, either through existing
        negotiation mechanism or through links to alternate language
        versions.


3. What is a "Rating System"?

   A rating _system_ specifies the dimensions used for labeling, the
   scale of allowable values on each dimension, and a description of
   the criteria used in assigning values.  For example, the MPAA rates
   movies in the USA based on a single dimension with allowable values
   G, PG, PG-13, etc.

   Each rating system is identified by a valid URL.  This enables
   several services to use the same rating system and refer to it by
   its identifier.  The URL naming a rating system can be accessed to
   obtain a human-readable description of the rating system.  The
   format of that description is not specified.


4. What is a "Content Label"?

   A _content label_ (or _rating_) contains information about a
   document.  As described in [1], "Label Syntax and Communication
   Protocols", a content label (or rating) has three parts:

     1. the URL naming the rating service that produced the label;
     2. a set of PICS-defined (and extensible) attribute-value pairs,
        which provide information about the rating such as the date
        that the rating was assigned;
     3. a set of rating-system-defined attribute-value pairs, which
        actually rate the item along various _dimensions_ (also called
        _categories_).


5. The "application/pics-service" Document Type

   A rating service is defined by a document of type
   "application/pics-service".  The detailed syntax and semantics are
   presented in the next two sections.  Here is an example of such a
   document, intended only to illustrate the full set of features of a
   machine description:


   ((PICS-version 1.0)
    (rating-system "http://www.gcf.org/ratings")
    (rating-service "http://www.gcf.org/v1.0/")
    (icon "icons/gcf.gif")
    (name "The Good Clean Fun Rating System")
    (description "Everything you ever wanted to know about soap,
   cleaners, and related products.  For demonstration purposes only.")

    (category
     (transmit-as "suds")
     (name "Soapsuds Index")
     (min   0.0)
     (max   1.0))

    (category
     (transmit-as "density")
     (name "suds density")
     (label (name "none") (value 0) (icon "icons/none.gif"))
     (label (name "lots") (value 1) (icon "icons/lots.gif")))

    (category
     (transmit-as "subject")
     (name "document subject")
     (multivalue true)
     (label (name "soap") (value 0))
     (label (name "water") (value 1))
     (label (name "soapdish") (value 2))
     (label-only))

    (category
     (transmit-as "color")
     (name "picture color")
     (integer)

     (category
      (transmit-as "hue")
      (label (name "blue")  (value 0))
      (label (name "red")   (value 1))
      (label (name "green") (value 2)))

     (category
      (transmit-as "intensity")
      (min 0)
      (max 255))))


6. Explanation of Sample Rating Service

   1. The identifier of the rating system used is
      "http://www.gcf.org/ratings".  The document available at that URL
      should be a human-readable description of the categories, scales,
      and intended criteria for assigning ratings.
   2. The identifier of the rating service is
      "http://www.gcf.org/v1.0/".  The labels themselves will have this
      URL in them to identify the service that created them.  The
      document available at this URL should be a human-readable
      description of the rating service.
   3. There is an icon associated with the rating service, and it can
      be retrieved from "http://www.gcf.org/icons/gcf.gif" (formed by
      interpreting the _icon_ attribute's value relative to the
      _rating-service_ identifier).
   4. There are four top-level categories in this rating system.  Each
      category has a short transmission name to be used in labels; some
      also have longer names that are more easily understood.  For
      example, the first has transmission name "suds" and the longer
      name "Soapsuds Index".  The second has a transmission name of
      "density" and longer name "suds density".
   5. The "Soapsuds Index" category is rated on a scale from 0.0 to
      1.0, inclusive.
   6. The "suds density" category can have ratings from negative to
      positive infinity, but there are two values that have names and
      icons associated with them.  The name "none" is the same as 0,
      and the name "lots" is the same as 1.  Icons associated with
      those names are found at
      "http://www.gcf.org/ratings/icons/none.gif" and
      "http://www.gcf.org/ratings/icons/lots.gif" (i.e. they are
      dereferenced relative to the _rating-system_ identifier).
   7. The "document subject" category only allows the values 0, 1, and
      2 to be used, but a single document can have any combination of
      these values.  Each value has a name (0 is "soap," etc.).  So one
      document might not have any rating on this category, while
      another is both a "soap" and a "soapdish".
   8. The "picture color" category has two sub-categories.  Values on
      the "picture color" dimension itself are restricted to integers,
      and will be transmitted as a category named "color."  The first
      sub-category is transmitted as "color/hue" and the second as
      "color/intensity".  Notice that color/hue can take on only
      integer values (because it inherits the _integer_ attribute of
      its parent, "color", category), but there are three values with
      names ("blue", "red", and "green").  The category color/intensity
      can take on any integer value between 0 and 255 (inclusive).


7. Detailed Syntax of "application/pics-service"

   Notes:

   1. Whitespace is ignored except in quoted strings.
   2. The strings in _transmit-as_ are case insensitive.  All other
      strings are case sensitive.
   3. This BNF grammar overly constrains the format.  The optional
      attribute/value pairs in _ratingservicedescription_,
      _categorylist_ and _enum_ may occur in any order.
   4. Additional attributes may be added over time.  For experimental
      purposes, attributes with names beginning "x-" may be added at
      any time without prior arrangement.  Extending the names that are
      formally part of this specification requires an additional
      consensus process before adoption.  Clients are expected to
      ignore any attributes they do not understand.
   5. This specification requires the use of UTF-7 encoding to allow
      for the inclusion of non-English description strings.  Because
      internationalization is an area still under discussion in the
      standards community, this choice may well be subject to change in
      the near future.  For those rating systems and services that use
      only the US-ASCII character set in their descriptive strings,
      UTF-7 allows direct encoding of the following (printable)
      characters: a-z, A-Z, 0-9, '(),-./:?!#$%&*;<=>@[]^_`{|}
      Notice that "+" is *not* included in this set, since it is used
      by the UTF-7 encoding system.
   6. It is guaranteed that this and all future versions of the
      "application/pics-service" MIME type will begin with the
      _version_ information, changing from 1.0 as specified here to
      other numbers as the specification is revised.  Rating services
      are encouraged to place a version number in the _rating-service_
      URL, and to change to a new URL when an incompatible change must
      be made to their specification.

   ratingservicedescription ::
     '(' _version_ _ratingsystem_ _ratingservice_
       [_icondef_] [_name_] [_description_]
       ['(' 'default' [_min_] [_max_] [_multi_] [_integer_]
         [_labeled_] ')']
       _categorylist_ ')'
   version :: '(' 'PICS-version' '1.0' ')'
   ratingsystem :: '(' 'rating-system' _quotedURL_ ')'
   ratingservice :: '(' 'rating-service' _quotedURL_ ')'
   quotedURL :: ' " ' URL ' " '
   URL is as defined in [4], "RFC 1738".  In addition, PICS defines the
   following new form for referencing Internet Relay Chat (IRC) rooms:
      URL :: ... | 'irc://' _host_ '/' _alphanum_
          (where _host_ is the usual Internet hostname)
   icondef :: '(' 'icon' _quotedURL_ ')'
   name :: '(' 'name' _quotedstring_ ')'
   description :: '(' 'description' _quotedstring_ ')'
   quotedstring :: ' " ' _UTF-7_ ' " '
   UTF-7 :: Characters encoded using UTF-7, with direct coding of
   US-ASCII set O *except* for the double-quote (decimal 34) which must
   be encoded to allow for its use as the string delimiter character.
   See note above.
   categorylist :: [1*n]
     '(' 'category'
         '(' 'transmit-as' _transmitname_ ')'
         [_icondef_] [_name_] [_description_] [_min_]
         [_max_] [_multi_] [_integer_]
         [_labeled_] [_enumlist_] [_categorylist_]
     ')'
   transmitname :: ' " ' [1*n]_alphanumpm_ ' " '
   alphanumpm :: 'A' | ... | 'Z' | 'a' | ... | 'z' | '+' | '-'
   min :: '(' 'min' _minnum_ ')'
   max :: '(' 'max' _maxnum_ ')'
   minnum :: _number_ | '-INF'
   maxnum :: _number_ | '+INF'
   number :: [_sign_]_unsignedint_['.' [_unsignedint_]]
   sign :: '+' | '-'
   unsignedint :: [1*n][0-9]
   multi :: '(' 'multivalue' [_boolean_] ')'
   boolean :: 't' | 'f' | 'true' | 'false'
   integer :: '(' 'integer' [_boolean_] ')'
   labeled :: '(' 'label-only' [_boolean_ ] ')'
   enumlist :: [1*n]_enum_
   enum ::
      '(' 'label' _name_ [_description_]
          '(' 'value' _number_ ')'
          [_icondef_]
      ')'

   For reference, the following attributes are currently defined by the
   above BNF:

     1. Within a rating service, there are the attributes _category_,
        _default_, _description_, _icon_, _name_ and _PICS_.
     2. Within a category, there are the attributes _description_,
        _icon_, _integer_, _label_, _label-only_, _max_, _min_,
        _multivalue_, _name_ and _transmit-as_.
     3. Within a named value, there are the attributes _description_,
        _icon_, _name_ and _value_.


8. Semantics of the "application/pics-service" Description

   Recall that the MIME type "application/pics-service" is intended to
   describe a particular rating service in sufficient detail to
   automatically generate a user interface for configuring content
   selection software that relies on the rating service.

   The _quotedURL_ in the _ratingservice_ identifies the service.  This
   identifier is included in all the labels provided by the rating
   service.  Dereferencing the URL yields a human-readable description
   of the service.  If the optional URL for an icon for the rating
   service is supplied, it is dereferenced relative to the rating
   service URL.  The _name_ of the rating system is intended to be
   short and human-readable, with the _description_ being a longer
   description (suitable, perhaps, for a pop-up box).  A complete
   human-readable description is available from the rating service's
   URL.

   The _quotedURL_ in the _ratingsystem_ identifies the rating system
   used by this service.  Dereferencing the URL yields a human-readable
   description of the rating system.  All remaining URLs in the
   "application/pics-service" description are dereferenced relative to
   the _ratingsystem_ URL, since they describe features of the rating
   system.  The only exception is the rating service's icon, as
   described above, which is dereferenced relative to the
   _ratingservice_ URL, so that the service can maintain its own
   (possibly copyrighted) identity even if it chooses to share a rating
   system with other services.

   The machine-readable description also describes the categories used
   in the rating system.  There may be one or more categories for a
   given rating system.  A single document may have a rating on any or
   all of these categories.  Categories can be nested within one
   another.

   A category has a "transmission name" which is used in the actual
   label for a document.  Transmission names should be as short as
   reasonable.  They must be unique within a given rating system (i.e.
   two categories in the same rating system must *not* have the same
   transmission name).  Unlike the name and description strings,
   transmission names are language-independent.  That is, if a rating
   system is offered in several languages, the transmission names must
   be the same in all of them.  Categories may be nested within one
   another (as in the case of "color" in the example rating system).
   In this case, the transmission name is created in the usual way by
   starting with the outermost category transmission name, adding a "/"
   and proceeding inward in the nesting.  Thus, the example rating
   system has three categories, and their transmission names are
   "color", "color/hue", and "color/intensity".  In addition to the
   transmission name, which is required, a category may optionally have
   an icon and a human-readable description.

   Icons, if provided, may be of any size.  We recommend, however, that
   icons be as small as possible, since selection software is likely to
   embed them in displays that include other text and images as well.
   We also recommend that a rating service's category icons all be the
   same size.

   Values in PICS labels may be integers or fractions with no greater
   range or precision than that provided by IEEE single-precision
   floating point numbers.  The description for each category can
   specify restrictions on the range of permissible values for certain
   named attributes.  Values may be restricted to have minimum (_min_
   attribute, defaults to "-INF") or maximum (_max_ attribute, defaults
   to "+INF") values.  Values can be restricted to integers by giving
   the attribute _integer_ the value "true" (the default value is
   "false" if the attribute is omitted, but "true" if it is present
   with no value specified).  Values may be given names by using the
   _label_ attribute, and may be restricted to having only these named
   values by setting the attribute _label-only_ to the value "true"
   (the default value is "false" if the attribute is omitted, but
   "true" if it is present with no value specified).  When a value is
   given a name, it may optionally have attached an icon and a
   human-readable description.  Finally, a given category may allow
   more than a single rating for a given document (consider the
   dimension "sizes available"); this is indicated by setting the
   attribute _multivalue_ to "true" (default is "false" if the
   attribute is omitted, but "true" if it is present with no value
   specified).

   For rating systems that contain large numbers of categories or
   deeply nested categories, it is convenient to allow for inheritance
   of some attribute values.  In particular, the attributes of a
   category _min_, _max_, _multivalue_, _integer_, and _label-only_ are
   inherited by a category from its parent.  These attributes can be
   given default values for the entire rating service by using the
   _default_ attributes.  This corresponds to value inheritance in
   object-oriented systems or lexical scoping in programming languages.

   Note:  While it would be nice to restrict the numeric values of
          ratings to integers, the following examples motivate our
          decision to permit fractional values.

          1. The MPAA rating system was changed to interpolate a new
             category (PG-13) between "PG" and "R".  Had their system
             been encoded with a tightly packed integer scale it would
             have required rescinding many existing labels when the
             change occurred.  With fractional numbers there is no need
             (in principle, at least) to renumber.
          2. It may be desirable to include the cost of an item in a
             content label.  This cost may not be an integral number of
             currency units (think, for example, of a micropayment
             system in which charges of small fractions of a cent are
             permitted).
          3. Ratings may be generated by statistical means from the
             responses of many people.  Such ratings could be rounded
             off to an integer before presentation, but this loses much
             important information.


9. Security Considerations

   Security considerations will be addressed in other documents in this
   series and in future revisions of this draft.


10. Glossary

   application/pics-service
      A new MIME data type, defined in this document.
   application/pics-labels
      A new MIME data type used to transmit one or more _labels_,
      defined in [1], "Label Syntax and Communication Protocols".
   BNF
      Backus-Naur Form (or Backus Normal Form).  A notation for
      describing a formal syntax, used extensively in describing
      programming languages and computer-readable data formats.
   category
      The part of a rating system which describes a particular
      criterion used for rating.  For example, a rating system might
      have three categories named "sexual material," "violence," and
      "vocabulary."  Also called a _dimension_.
   content label
      A data structure containing information about a given document's
      contents.  Also called a _rating_ or _content rating_.  The
      content label may accompany the document it is about or be
      available separately.
   content rating
      See _content label_.
   dimension
      See _category_.
   HTML
      HyperText Markup Language.  A means of representing _hypertext_
      documents.  Based on _SGML_.  See the [2], "RFC 1866".
   HTTP
      HyperText Transfer Protocol.  Used for retrieving document
      contents and/or descriptive header information.
   hypertext
      Text, graphics, and other media connected through links.
   MIME
      Multimedia Internet Message Extension.  A technique for sending
      arbitrary data through electronic mail on the Internet.  See [3],
      "RFC 1521".
   PICS
      Platform for Internet Content Selection, the name for both the
      suite of specification documents of which this is a part, and
      for the organization writing the documents.  For more
      information, see the PICS home page at: "http://www.w3.org/PICS".
   rating
      See _content label_.
   label bureau
      A computer system which supplies, via a computer network, ratings
      of documents.  It may or may not provide the documents
      themselves.
   rating server
      See _label bureau_.
   rating service
      An individual or organization that assigns labels according to
      some rating system, and then distributes them, perhaps via a
      label bureau or via CD-ROM.
   rating system
      A method for rating information.  A rating system consists of one
      or more _categories_.
   scale
      The range of permissible values for a category.
   SGML
      Standard Generalized Markup Language.  See ISO 8879.
   transmission name
      (of a _category_) The short name intended for use over a network
      to refer to the category.  This is distinct from the category
      name in as much as the transmission name must be
      language-independent, encoded in ASCII, and as short as
      reasonably possible.  Within a single _rating system_ the
      transmission names of all categories must be distinct.
   URL
      Uniform Resource Locator.  Described in [4], "RFC 1738".  A URL
      describes the location and means of retrieval for a single
      document.  It consists of three components: the "scheme"
      (protocol used to retrieve a document, like "http" or "ftp"), a
      host name, and a hierarchical document name within that host.
      For example "http://www.w3.org/PICS" is the URL of the PICS home
      page.  The scheme for retrieving it is "http," the host is
      "www.w3.org" and the name within that host is "PICS".
   UTF-7
      An encoding technique that can be used to transmit Unicode over
      7-bit ASCII transport systems such as Internet electronic mail.
      See [5], "RFC 1642".


11. References

   [1] PICS, "Label Syntax and Communication Protocols", Internet
       Draft, "draft-pics-labels-00.txt", 11/21/95.
   [2] T. Berners-Lee, D. Connolly, "Hypertext Markup Language - 2.0",
       RFC 1866, 11/03/1995.
   [3] N. Borenstein, N. Freed, "MIME  (Multipurpose Internet Mail
       Extensions) Part One:  Mechanisms for Specifying and Describing
       the Format of Internet Message Bodies", RFC 1521, 09/23/1993.
   [4] T. Berners-Lee, L. Masinter, M. McCahill, "Uniform Resource
       Locators (URLs)", RFC 1738, 12/20/94.
   [5] D. Goldsmith, M. Davis, "UTF-7 - A Mail-Safe Transformation
       Format of Unicode", RFC 1642, 7/13/94.


12. Acknowledgments

   Primary authors of this document:

   Jim Miller, W3C
   Paul Resnick, AT&T
   David Singer, IBM

   Additional contributors:

   Brenda Baker, AT&T
   Tim Berners-Lee, W3C
   Roxana Bradescu, AT&T
   Daniel W. Connolly, W3C
   Roy Fielding, W3C
   Jay Friedland, SurfWatch
   Wayne Gramlich, Sun
   Woodson Hobbs, NewView
   Rohit Khare, W3C
   Charlie Kim, Apple
   John C. Klensin, MCI
   Tim Krauskopf, Spyglass
   Ann McCurdy, Microsoft
   Rich Petke, CompuServe
   Dave Raggett, W3C
   Bob Schloss, IBM
   Ray Soular, SafeSurf
   Jason Thomas, MIT
   G. Winfield Treese, OpenMarket
   Richard Wolpert, Providence Systems


13. Author's Address

   PICS Technical Committee
   World Wide Web Consortium
   545 Technology Square
   Cambridge, MA  02139
   Phone: 617-253-3194
   EMail: pics-spec-comments@w3.org


Appendix A: Good Clean Fun Rating Service

   One of the simplest possible rating systems uses a single category,
   "Minimum recommended age."  We present the machine description for a
   fictional service that uses this rating system.

   ((PICS-version 1.0)
    (rating-system "http://www.gcf.org/our-system/")
    (rating-service "http://www.gcf.org/our-service/v1.0/")
    (name "The Good Clean Fun Rating Service")
    (description "We estimate the maturity required to view materials
       on the Internet.")
    (category (name "Minimum Age") (transmit-as "age") (integer true)))


Appendix B: RSAC Rating Service

   As a specific example of a deployed rating service, encoded using
   the PICS machine-readable description format, we present the service
   supplied by the Recreational Software Advisory Council (RSAC).  They
   use their own (copyrighted) rating system, which we include with
   their permission.  The rating system contains three categories:
   Violence, Nudity/Sex, and Language.  Each category is rated on a
   scale from 0 to 4, with a specific description for each value.
   Intermediate values are not permitted.  The URLs presented here are
   fictitious, but represent reasonable choices should RSAC choose to
   deploy their system on-line.

   ((PICS-version 1.0)
    (rating-system "http://www.rsac.org/Ratings/Description/")
    (rating-service "http://www.rsac.org/v1.0")
    (icon "icons/rsac.gif")
    (name "The RSAC Ratings Service")
    (description "The Recreational Software Advisory Council rating
   service.  Based on the work of Dr. Donald F. Roberts of Stanford
   University, who has studied the effects of media on children for
   nearly 20 years.")
    (default (label-only true))

    (category
     (transmit-as "v")
     (name "Violence")
     (icon "icons/violence.gif")
     (label
      (name "Conflict")
      (description "Harmless conflict; some damage to objects")
      (value 0) (icon "icons/zero.gif"))
     (label
      (name "Fighting")
      (description "Creatures injured or killed; damage to objects;
                    fighting")
      (value 1) (icon "icons/one.gif"))
     (label
      (name "Killing")
      (description "Humans injured or killed with small amount of
                    blood")
      (value 2) (icon "icons/two.gif"))
     (label
      (name "Blood and Gore")
      (description "Humans injured or killed; blood and gore")
      (value 3) (icon "icons/three.gif"))
     (label
      (name "Wanton Violence")
      (description "Wanton and gratuitous violence; torture; rape")
      (value 4) (icon "icons/four.gif")))

    (category
     (transmit-as "s")
     (name "Nudity/Sex")
     (icon "icons/sex.gif")
     (label
      (name "None")
      (description "No nudity or revealing attire / Romance; no sex")
      (value 0) (icon "icons/zero.gif"))
     (label
      (name "Revealing Attire")
      (description "Revealing attire / Passionate kissing")
      (value 1) (icon "icons/one.gif"))
     (label
      (name "Partial Nudity")
      (description "Partial nudity / Clothed sexual touching")
      (value 2) (icon "icons/two.gif"))
     (label
      (name "Frontal Nudity")
      (description "Non-sexual frontal nudity / Non-explicit sexual
                    activity")
      (value 3) (icon "icons/three.gif"))
     (label
      (name "Explicit")
      (description
       "Provocative frontal nudity / Explicit sexual activity;
       sex crimes")
      (value 4) (icon "icons/four.gif")))

    (category
     (transmit-as "l")
     (description "Language")
     (icon "icons/language.gif")
     (label (name "Slang")
           (description "Inoffensive slang; no profanity")
           (value 0) (icon "icons/zero.gif"))
     (label (name "Mild Expletives")
           (description "Mild expletives")
           (value 1) (icon "icons/one.gif"))
     (label (name "Expletives")
           (description "Expletives; non-sexual anatomical references")
           (value 2) (icon "icons/two.gif"))
     (label (name "Obscene Gestures")
           (description "Strong, vulgar language; obscene gestures")
           (value 3) (icon "icons/three.gif"))
     (label (name "Explicit")
           (description "Crude or explicit sexual references")
           (value 4) (icon "icons/four.gif"))))


Appendix C: SafeSurf Rating System

   SafeSurf, a parents' organization, has established a rating system
   that is in use at a large and growing number of sites on the
   Internet.  They have provided a machine-readable version of their
   system to PICS as a demonstration of a more complex rating system
   that includes sub-categories as well as a document classification
   system.  The following specification includes a full description of
   the rating part of the SafeSurf system, with only a small stub to
   represent the classifications.

   ((PICS-version 1.0)
    (rating-system "http://www.safesurf.com/ratings/description/")
    (rating-service "http://www.safesurf.com/v1.0/")
    (icon "icons/ss~~.gif")
    (name "SafeSurf Parents' Organization")
    (description "The SafeSurf SS~~ Rating Standard.  Designed by and
    for parents to empower each family to make informed decisions
    concerning accessibility of online content.  Copyright 1995.  All
    Rights Reserved.")

    (category
     (transmit-as "Adult")
     (name "Adult Themes with Caution Levels")
     (category (name "Age Range") (transmit-as "0")
       (label (value 1) (name "All Ages"))
       (label (value 2) (name "Older Children"))
       (label (value 3) (name "Teens"))
       (label (value 4) (name "Older Teens"))
       (label (value 5) (name "Adult Supervision Recommended"))
       (label (value 6) (name "Adults"))
       (label (value 7) (name "Limited to Adults"))
       (label (value 8) (name "Adults Only"))
       (label (value 9) (name "Explicitly for Adults")))

     (category (name "Profanity") (transmit-as "1")
      (label (value 1) (name "Subtle Innuendo")
       (description "Subtly Implied through the use of Slang"))
      (label (value 2) (name "Explicit Innuendo")
       (description "Explicitly implied through the use of Slang"))
      (label (value 3) (name "Technical Reference")
       (description
        "Dictionary, encyclopedic, news, technical references"))
      (label (value 4) (name "Non-Graphic-Artistic")
       (description
        "Limited non-sexual expletives used in a artistic fashion"))
      (label (value 5) (name "Graphic-Artistic")
       (description
        "Non-sexual expletives used in a artistic fashion"))
      (label (value 6) (name "Graphic")
       (description "Limited use of expletives and obscene gestures"))
      (label (value 7) (name "Detailed Graphic")
       (description "Casual use of expletives and obscene gestures"))
      (label (value 8) (name "Explicit Vulgarity")
       (description
        "Heavy use of vulgar language and obscene gestures"))
      (label (value 9) (name "Explicit and Crude")
       (description
        "Saturated with crude sexual references and gestures")))

     (category (name "Heterosexual Themes") (transmit-as "2")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8) (name "Explicit Vulgarity"))
       (label (value 9) (name "Explicit and Crude")))

     (category (name "Homosexual Themes") (transmit-as "3")
       (label (name "Subtle Innuendo") (value 1))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference")
         (description
          "Dictionary, encyclopedic, news, medical references"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8) (name "Inviting Adult Participation"))
       (label (value 9)
              (name "Explicitly Inviting Adult Participation")))

     (category (name "Nudity") (transmit-as "4")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2)   (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8) (name "Explicit Vulgarity"))
       (label (value 9) (name "Explicit and Crude")))

     (category (name "Violence") (transmit-as "5")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8)
          (name
           "Inviting Participation in Graphic Interactive Format"))
       (label (value 9)
         (name "Encouraging Personal Participation, Weapon Making")))

     (category (name "Sex Violence and Profanity")
               (transmit-as "6")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8) (name "Explicit Vulgarity"))
       (label (value 9) (name "Explicit and Crude")))

     (category (name "Bigotry") (transmit-as "7")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Literary"))
       (label (value 5) (name "Graphic-Literary"))
       (label (value 6) (name "Graphic Discussions"))
       (label (value 7) (name "Endorsing Hatred"))
       (label (value 8)
         (name "Endorsing Violent or Hateful Action"))
       (label (value 9)
         (name "Advocating Violent or Hateful Action")))

     (category (name "Glorifying Drug Use")
               (transmit-as "8")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8)
         (name "Simulated Interactive Participation"))
       (label (value 9)
         (name "Soliciting Personal Participation")))

     (category (name "Other Adult Themes") (transmit-as "9")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2)   (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Reference"))
       (label (value 4) (name "Non-Graphic-Artistic"))
       (label (value 5) (name "Graphic-Artistic"))
       (label (value 6) (name "Graphic"))
       (label (value 7) (name "Detailed Graphic"))
       (label (value 8) (name "Explicit Vulgarity"))
       (label (value 9) (name "Explicit and Crude")))

     (category (name "Gambling") (transmit-as "A")
       (label (value 1) (name "Subtle Innuendo"))
       (label (value 2) (name "Explicit Innuendo"))
       (label (value 3) (name "Technical Discussion"))
       (label (value 4) (name "Non-Graphic-Artistic, Advertising"))
       (label (value 5) (name "Graphic-Artistic, Advertising"))
       (label (value 6) (name "Simulated Gambling"))
       (label (value 7) (name "Real Life Gambling without Stakes"))
       (label (value 8)
         (name
       "Encouraging Interactive Real Life Participation with Stakes"))
       (label (value 9) (name "Providing Means with Stakes"))))

     (category (name "Classification with Percentage")
       (transmit-as "Class") (min 1) (max 100) (integer true)
     (category (transmit-as "00") (name "General Information"))))

This Internet Draft Expires on May 21, 1996