As part of the next phase in the PICS technical work, W3C has committed to produce a set of reference code and services for use by the software development community. After consulting with a number of the PICS founding and supporting members, we propose to offer five items on a schedule described below. The actual technical work is being coordinated by Eric Prud'hommeaux (eric@apocalypse.org), who is working under contract to the W3C. Questions, comments, or offers of assistance should be sent to Eric.

We expect three types of PICS-compatible software to be developed:

  1. Document servers are HTTP servers that understand the PICS headers used to request labels along with a document, and are capable of responding with documents and associated labels.
  2. Label bureaus are HTTP servers that understand the label bureau query URLs and respond with sets of labels.
  3. Clients are Web browsers, HTTP proxy servers, and filtering software at the WinSock application level that send requests to document servers and label bureaus and interpret the responses. They may also look inside html documents for embedded labels.

Our goal is to provide support for organizations that wish to develop any of these three elements. In order to do this as quickly and effectively as possible, we will provide working versions of each of these items against which others can be tested. Where the effort required is small we will produce free source code. In other cases, we will provide test suites or running services against which products can be tested.

We will also act as a distribution point for contributed code. Code may be contributed in either source or binary form and will be distributed only after we validate its correct operation. In order to remain completely vendor neutral, W3C can only distribute code that is freely available to the public and which does not require the installation of any vendor-specific software (beyond the base operating system on which it runs). Distribution of contributed code is severely limited by our resources.

We believe we can produce reference code on this schedule:

  1. date...Trivial client. This is intended for use by both document server developers and client developers. Document server developers can use it to test their code, and client developers can use it as part of their code base or for comparison purposes. This code will be based on the W3C library of common code (libwww) and will run on most common platforms, including Windows 3.1, Windows95, Windows NT, Macintosh, and most variants of Unix. Source code will be freely available.
  2. date...Label bureau test harness. This is intended primarily for label bureau developers. We expect it to be a set of Web pages and CGI scripts (probably for Unix only) that allow a user to interactively develop a query for a label bureau. If development time allows, it will also ship the query to either a single label bureau under test, or to a pair of label bureaus (one under test, the other considered a reference implementation) and present the differences. Source code will be freely available.
  3. date...Label bureau test suite. This is a standard set of labels and test URLs against that set of labels, along with the expected results. The labels will be drawn from a trio of fictitious rating services and apply to existing documents from a variety of sources. The machine readable versions of the rating services will also be provided. Source code will be freely available.
  4. date...Document server reference service. W3C will run a production document server loaded with a set of documents and corresponding labels. The labels will be drawn from the same set of fictitious rating services as used in the label bureau test suite (3). This server can be used to test clients and as a reference platform for comparison with experimental document servers. Available as a service only, no source code available.
  5. ...Label bureau reference service. Similar to the document server reference service (4), but a label bureau. This will be a complete label bureau, preloaded with the label bureau test suite (3). It can be used to test clients or sophisticated document servers (those willing to consult a label bureau for labels that are not stored directly at the server). It can also serve as a reference for experimental label bureaus, especially in conjunction with the label bureau test harness (2). Available as a service only, no source code available.