Freeciv is an open source project, licensed under the GNU General Public License version 2. The source code and other files necessary to build the project are publicly available for download, examination and experimentation.

Git icon

The Freeciv source code repository uses the open source Git version control system; it is currently hosted on Git client software is available free for a wide variety of systems. Documentation is available; you may also find tutorials ([1], [2]) useful. (If you're used to Subversion, you might find this useful. Github can be also accessed by SVN clients.)

The Freeciv project can be found on

The Freeciv server and Freeciv desktop clients is found on

Freeciv-web and Freeciv WebGL is found on

Fetching the latest source code[]

The following command retrieves the latest checked-in Freeciv source code:

git clone

This will create a new directory called freeciv containing the most recent development version (main), sometimes referred to as trunk. It will also fetch a copy of the entire development history, which is fairly substantial (over 250Mbyte). (It is possible to tell Git to fetch less history if you are short of disc space or bandwidth.)

Once the code has been successfully checked out, going into the freeciv directory and typing:

git pull

will update the source code to reflect any changes in the main repository since the last checkout or update.

Note that this only provides read-only access the the source code; changes cannot be submitted except by project members, using a different method. See more details.

This checks out the latest development version, where most changes happen. There are also multiple BRANCHes that are usually more stable. Any changes to main will not affect an already established branch.

Fetching older versions[]

The source code for previous versions of Freeciv can be retrieved using a Git tag. You can either fetch it from the main repository, or if you already cloned the full history, you can check it out from your local copy.

For example, Freeciv version 2.5.7 can be retrieved in this way:

git clone -b R2_5_7 freeciv-2.5.7

or from an existing local checkout:

git clone -b R2_5_7 ./freeciv freeciv-2.5.7

(You can use the same method to check out a branch other than main; e.g., -b S3_0.)

Examples of available tags include:

Freeciv version Git tag Date tagged
1.5.3 freeciv153 9 March 1998
1.6.1 R1_6_1 3 June 1998
1.14.0 R1_14_0 17 January 2003
1.14.2 R1_14_2 10 September 2004
2.0.0 R2_0_0 16 April 2005
2.0.10 R2_0_10 30 June 2008
2.1.0 R2_1_0 27 October 2007
2.1.11 R2_1_11 23 January 2010
2.2.0 R2_2_0 21 February 2010
2.2.7 R2_2_7 16 July 2011
2.3.0 R2_3_0 8 August 2011
2.3.5 R2_3_5 8 February 2014
2.4.0 R2_4_0 14 September 2013
2.4.5 R2_4_5 15 August 2015
2.5.0 R2_5_0 14 March 2015
2.5.7 R2_5_7 13 May 2017

A full list can be obtained by…

git tag

…in an existing checkout, or by consulting the Github web interface. Likewise branches can be listed by…

git branch -a

…or by visiting the corresponding Github page.


Tarballs of the sources (*.tar.xz, *.tar.bz2, or *.zip) and Windows binaries for public releases are also available on SourceForge.

See also[]