The Apache Software Foundation

Source Code Repositories

Our developers are located all around the world. To enable them to work together on our software, we keep the source code in Internet-accessible revision control systems called CVS and Subversion. Apache committers have write access to the CVS and Subversion repositories, enabling them to make changes to the source code. Everyone has read access to the repositories, so you may download the most up-to-date development version of the software.

If you are looking for a stable release of the source code, you should download it from the distribution directory. The CVS and Subversion repositories should only be used if you want to be on the bleeding-edge of the development effort. The code contained in them may fail to work, or it may even eat your hard drive.

There are several ways to access the CVS and Subversion repositories:

Web Access

If you just wish to browse around or download a few individual files, the best tool is the web-based ViewCVS interface for CVS repositories and ViewCVS interface for Subversion.

Snapshots

Many of the projects make snapshots of the source code available. These are simply tarballs containing the most up-to-date source code captured four times per day.

Anonymous CVS

To access the CVS repositories anonymously, you will need a relatively recent CVS client. First, you must set the CVSROOT environment variable. Assuming a Bourne shell, this looks like:

$ CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic
$ export CVSROOT

Then login to the server:

$ cvs login

The password is "anoncvs" (without the quotes).

Finally, you choose the module you would like and check it out. For example, to get the Apache HTTP Server 2.0 module, use:

$ cvs checkout httpd-2.0

For more help on using CVS, consult the CVS website.

Anonymous Subversion

To access the Subversion repositories anonymously, you will need a Subversion client. You can also browse the ASF projects that are using Subversion via: ASF Repository.

Choose the module you would like and check it out. For example, to get the Incubator Spamassassin module, use:

$ svn checkout http://svn.apache.org/repos/asf/incubator/spamassassin/trunk spamassassin

For more help on using Subversion, consult the Subversion website or Subversion book.

rsync

To use the rsync utility to get a list of available modules:

$ rsync cvs.apache.org::

Then to grab or update a local copy of, for example, httpd-2.0:

$ rsync -avz cvs.apache.org::httpd-2.0 local-directory-name