How to obtain the source code

Source Code Repository

POPFile is an open source project which uses version 2 of the GNU General Public License as published by the Free Software Foundation. This means all of the source code is freely available.

Since POPFile is written in Perl most of the source code is actually shipped with each release. The cross-platform, Mac OS X and Windows versions share the same POPFile code. The Windows version of POPFile includes some additional programs which are shipped as binary files (e.g. the Message Capture utility) and the source for these extra programs can be found in the project's source code repository, along with the rest of the source code.

POPFile is maintained by a team of developers known as the POPFile Core Team. To make it easy to keep track of changes to the source code the POPFile Core Team use the Subversion version control system. Subversion acts as a central repository for the source code and remembers every change ever written to it: every change to every file, and even changes to the directory tree itself, such as the addition, deletion, and rearrangement of files and directories. This makes it easy to answer questions such as “What files were used to build the 1.1.1 release?” or “Who was the last person to change this file, and what changes did he make?”

Normally special software (a Subversion client) is used to access the Subversion repository. However it is also possible to browse the repository using a standard web browser via the Browse Source link in the menu shown near the top of every page on this site.

Browsing the source code

In addition to the current development files for POPFile, the Subversion repository contains all of the source files used for the current and past releases. The repository is organized into a large number of directories. The current POPFile 1.x development work is stored in the b0_22_2 branch and the source for the each POPFile release is stored in separate sub-directories within the tags directory. (There is also a trunk directory but so far no release has been made using files from this directory.)

Here are some useful source code links which can be accessed via a standard browser:

Each of these links leads to a directory containing the following sub-directories:

  • engine contains the files for the main POPFile program
  • macosx contains additional files used to build the Mac OS X installers
  • windows contains additional files used to build the installer and some utilities used by the Windows version of POPFile (e.g. the Message Capture utility)

The browser interface can be used to display source files with syntax highlighting, show the changes between any two versions of a file and allow a particular file to be downloaded (via the “Original format” link at the foot of the page displaying the file).

Alternative methods to obtain the source code

There are over 200 source files for the main POPFile program so using the “Original format” link at the foot of the “Browse Source” pages to get one file at a time would be rather tedious and time-consuming. As an alternative we provide tarballs which are updated every two hours from our Subversion repository. The 0_22_2 branch tarball is generated from the subversion branch that leads to the next release of POPFile and you should generally be able to use it on a daily basis (YMMV, though). It is the branch where POPFile 1.x.x comes from.

If you are really interested in obtaining the source code then the best way is to use a Subversion client. There are clients available for Windows, Mac OS X, Fedora, Red Hat, Debian, Ubuntu, Solaris, and other systems. These clients may be stand-alone (command-line or GUI), desktop-integrated (e.g. using Windows context menu) or IDE plugins (e.g. for Eclipse).

See for up-to-date Subversion information, documentation and download links.

Subversion's old site at used to include a selection of Subversion client links for various operating systems but at present the new site does not seem to include a similar list. However the Internet Archive Wayback Machine contains an old copy of the missing page (The “17 January 2010” entry in the archive appears to be the most recent page with information - newer versions in the archive have no content).This is very long page; look for the Subversion Clients section which has lists of Stand-alone clients, Desktop-integrated clients, IDE plug-in clients and Other plug-in clients.

See also Wikipedia's Comparison of Subversion clients page which has details of over 40 clients for a wide range of platforms.

URLs for use with Subversion clients

Development work for the next 1.x release
Files used to build the POPFile 1.1.3 release
Files used to build the POPFile 1.1.2 release
Files used to build the POPFile 1.1.1 release
faq/getsourcecode.txt · Last modified: 2011/09/24 15:44 by xuesheng

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License