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:
- 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.
- Label bureaus are HTTP servers that understand the label
bureau query URLs and respond with sets of labels.
- 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:
- 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.
- 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.
- 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.
- 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.
- ...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.