The source code for the W3C Markup Validation Service is available under the terms of the W3C Software Copyright.
The purpose of making the source code available is partly to allow others to set up mirrors of the service (either publicly or within an intranet behind a firewall), but also to allow us to collaborate on making the service better!
You can retrieve the code a number of ways:
If you just want to glance at the code, or see its revision history, you can browse it on the web.
The most interesting files are currently a CGI script called "check" that does pretty much everything, and possibly also the httpd.conf. (Select the topmost revision numbers on these pages to see the most recent revision of each file.)
If you want a copy of all the files that make up the service, you can download a tarball of the code (~161kB) and the the DTDs (~2.6MB).
Experimental RPMs are available, courtesy of Ville Skyttä, at <http://cachalot.ods.org/9/>.
The RPMs have only been tested on Red Hat Linux 9, but should be adaptable to other RPM based systems.
Note that the Validator RPMs have several dependencies so you will have to get at least the following RPMs:
In addition, each of these may have further dependencies that must be satisfied. All the necessary RPMs should either be included in the Red Hat Linux distribution or available from <http://cachalot.ods.org/9/>.
A Debian package is available, courtesy of Frédéric Schütz. The latest version is available for the Debian Woody (current stable), Sarge (current testing) or Sid (unstable) distributions at <http://www.mathgen.ch/debian/>. If you want to use the apt-get command, add the line deb http://www.mathgen.ch/debian/woody ./ in the /etc/apt/sources.list file (replace woody by testing or sid if you use another distribution). All dependencies that are not part of the standard Debian archive are provided at the same address, and running the command apt-get install w3c-markup-validator as root will install all the packages needed.
If you are using the Debian Testing or Unstable distribution, the package is already included in the offical archive and you can directly use the apt-get command if your /etc/apt/sources.list file is correctly configured. Using the apt repository mentioned above, however, will ensure that you always have the latest version installed, even if it is not yet part of the official Debian archive.
If you intend to actively mirror the code and/or contribute patches to the code, you should install and become familiar with CVS; this is the tool we use for revision control and is generally a good thing to get to know. More information on CVS is available courtesy of Pascal Molli.
Our CVS base is available read-only, using CVS pserver authentication a la:
bash$ export CVSROOT=":pserver:anonymous@dev.w3.org:/sources/public" bash$ cvs login (Logging in to anonymous@dev.w3.org) CVS password: anonymous bash$ cvs get -r validator-0_6_2-release validator cvs server: Updating validator cvs server: Updating validator/htdocs U validator/htdocs/about.html ...
This will get you the current release version. For intermediate
updates, use the validator-0_6_0-branch
branch tag
instead. Major new development is done in HEAD
and
the trunk is more or less guaranteed to be in a state of greater
or lesser breakage at any given point in time. Approach with
caution!
Before you will be able to get the code to run, you will need a few things already installed on your system:
If you try to use the code and succeed (or fail), please let us know!
For information on current development activity, see the www-validator
mailing list archives. To join in discussions about the
Validator, please join us in the #validator
IRC channel
on irc.freenode.net
.
Any changes to the service will attempt to maintain compatibility with a list of test cases. Any changes to the code or documentation related to the service cause a notification message to be sent to the www-validator-cvs mailing list.