Source code availability
for the W3C Markup Validator

Table of Contents

Retrieving and browsing the Code

The source code for the W3C Markup Validation Service is available under the terms of the W3C Software License. Source tarball of the latest production version is always available at <>. Development code is only available from CVS.

Browsing the code

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 configuration file snippet for Apache. Select the topmost revision numbers on these pages to see the most recent revision of each file.

Download the code in tarballs

If you want a copy of all the files that make up the service, you can download a tarball of the code (~266kB) and the DTDs (~3.2MB).

RPM package

RPM packages are available, courtesy of Ville Skyttä, at Fedora Extras, <>.

The RPMs have only been tested on Fedora Core 1 and 2, but should be adaptable to other RPM based systems.

Note that the Validator RPMs have several dependencies, you'll have to get at least the following RPMs from Fedora Extras (other dependencies are included in the Fedora Core distribution):

In addition, each of these may have further dependencies that must be satisfied. All the necessary RPMs are either included in the Fedora Core distribution(s) or are available from Fedora Extras. Use of an automated package management tool to install the packages, such as apt, up2date or yum is strongly recommended. See the Fedora Extras documentation for information about getting and configuring these tools.

Debian package

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 <>. If you want to use the apt-get command, add the line deb ./ 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.

CVS repository

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:[email protected]:/sources/public"
    bash$ cvs login
    (Logging in to [email protected])
    CVS password: anonymous
    bash$ cvs get -r validator-0_6_6-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!

Using the code

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! If you are interested in helping with the development, we suggest you first install the code and read our instructions for developers.