Downloading GRASS Source

Packaged Source

All source releases are available for download from:

Weekly snapshots

Subversion GRASS main source code repository

The GRASS GIS software lives in the  Subversion (SVN) source control system. It can be browsed online using the  Browse Source button on the top bar. With the subversion client software installed, various versions can be accessed:

GRASS 7.1

The development branch version of GRASS 7 can be extracted using the command:

  svn checkout https://svn.osgeo.org/grass/grass/trunk grass7_trunk
  #Subsequent updates:
  svn up

GRASS 7.0

To extract the current 7.0.0 release branch version (upcoming stable), which continuously receives bugfixes, use the command:

  svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0 grass70_release
  #Subsequent updates:
  svn up

GRASS 6.5

To extract the current 6.5.0 development branch version of GRASS 6 use the command: Note: development here is discouraged and should take place in GRASS 7.

  svn checkout https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_devel
  #Subsequent updates:
  svn up

If you have a local trunk version and want to continue with GRASS 6 development, read here to easily switch to this GRASS 6 development branch.

GRASS 6.4

To extract the current state of the 6.4.x release branch version (stable), which continuously receives bugfixes, use the command:

  svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 grass64_release

To extract a specific release, e.g. the 6.4.0 release candidate 5 (RC5) from 2009, use the command:

  svn checkout https://svn.osgeo.org/grass/grass/tags/release_20090609_grass_6_4_0RC5 grass640_rc5

GRASS 6.3

To extract the old 6.3.x release branch version (technology preview) use the command:

  svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_3 grass63_release

GRASS 6.2

To extract the old 6.2.x stable version use the command:

  svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_6_2 grass62_release

Note: Write access to the Subversion repository is governed by RFC 2: Legal aspects of code contributions. Committers should take care to use https for access, and use their  OSGeo Userid for authentication.

Committing code to SVN (developers with write access)

A commit command might look something like:

  svn commit -m "Distinguish between raster and vector backends (bug #999)" main.c --username glynn

After your first commit SVN will remember your OSGeo user id and password so --username only has be used the first time.

To add a new directory, please use (after checking that tmp files were removed and file permissions are appropriate):

  svn add newdir
  svn commit -m "New xyz functionality uploaded" newdir

Subversion GRASS Addons source code repository

Want to contribute? Read on here

With the subversion client software installed, the current GRASS Addons can be extracted using the command:

  svn checkout https://svn.osgeo.org/grass/grass-addons grass_addons

Update access to the Subversion Addons repository is governed by RFC 2: Legal aspects of code contributions. Committers should take care to use https for access, and use their  OSGeo Userid for authentication. A commit command might look something like:

  svn commit -m "Stereo DEM creation" main.c --username glynn

After your first commit SVN will remember your OSGeo user id and password so --username only has be used the first time.

To add a new directory, please use (after checking that tmp files were removed and file permissions are appropriate):

  svn add newdir
  svn commit -m "New xyz functionality uploaded" newdir

Subversion GRASS Sandbox source code repository

The "sandbox" repository is a place for collaborative experiments and alpha-ware not quite ready for incubation in the addons repository. GRASS developers can create directories for themselves and use it as they like, just keep everything GPL>=2 compatible in the usual way!

With the subversion client software installed, the Sandbox repository can be extracted with the command:

  svn checkout https://svn.osgeo.org/grass/sandbox grass-sandbox

Write access to the Subversion Sandbox repository is again governed by RFC 2: Legal aspects of code contributions. Committers should take care to use https for access, and use their  OSGeo Userid for authentication. Commit commands will follow the same method as for the addons repository shown above.

Subversion GRASS repository dumpstreams

Incremental dumpstreams of GRASS SVN repository are available at  http://svn.osgeo.org/dumps/grass/.

Online browseable live web interfaces to source code repository

SVN mirrors

  •  http://svnmirror.osgeo.org is a mirror of all OSGeo repositories incl. GRASS that is on a 15 minute svnsync. The physical machine is located at TelaScience?.org in San Diego, CA (USA).
  • A second GRASS SVN mirror is  here at the Czech Technical University in Prague (CZ), Faculty of Civil Engineering.

Historical CVS

  • Our  old GRASS 5/6.1 CVS at freegis.org (ViewCVS interface; no longer updated since move to OSGeo SVN)
  • A copy of GRASS-CVS has been saved  here at the Czech Technical University in Prague (CZ), Faculty of Civil Engineering.

Historical checkouts

You can download the source code as it existed on a particular day as follows:

svn co -r '{2008-09-01}' https://svn.osgeo.org/grass/grass/branches/develbranch_6 grass6_20080901

You can then step forward in time to another date as follows:

svn update -r '{2008-09-04}'

This can be useful to help narrow down which change introduced some weird behaviour.

While SVN history for many individual files exists back to 1999, if you want to go back in time to GRASS 5 days you should use the GRASS 5 CVS instead. The directory layout was widely changed between GRASS 5 and 6 and the earliest version of GRASS 6 that will actually compile on its own will be just before the 5.7.0 development release.

Compilation notes for various operating systems

Please see here.