## 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 <http://validator.w3.org/validator.tar.gz>. 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 (~300kB) and the DTDs (~500kB).

#### RPM package

RPM packages are available, courtesy of Ville Skyttä, at Fedora Extras, <http://fedoraproject.org/wiki/Extras>.

In addition to different Fedora Core versions, the RPMs 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):

- w3c-markup-validator
- w3c-markup-validator-libs
- perl-Config-General
- perl-HTML-Template
- perl-Net-IP
- perl-Set-IntSpan
- perl-Text-Iconv

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 yum or up2date is strongly recommended. See the Fedora Extras documentation for information about configuring these tools.

#### Debian package

A Debian package is available, courtesy of Frédéric Schütz.

- 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.
- If you are using the stable (woody) Debian distribution, add the following line in the /etc/apt/sources.list file.

      deb http://www.mathgen.ch/debian/woody ./

Running the command `apt-get install w3c-markup-validator` as root will then install all the packages needed.

#### 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.

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_7_1-release validator
        cvs server: Updating validator
        cvs server: Updating validator/htdocs
        U validator/htdocs/about.html
        ...

This will get you the last release version. use `cvs get validator` to retrieve the `HEAD`. Be aware that constant development is made on this latest version, 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.