GRASS and its siblings; a guide for the novice/id
There are many open-source software packages that deal with spatial data in some way and are also related to GRASS. This page provides a brief overview of history, current status, and platforms. It is based on a nice summary prepared by Michael Barton and will hopefully be edited by many people.
GRASS is written primarily in C, with many additional modules created as BASH scripts that chain together C modules. The GUI needs to be something that works well with C, is cross-platform, and relatively easy to work with. TclTk (used for the default GUI) fits these criteria very well. We are in the process of switching the GUI to wxPython, which also fits these criteria and is an even richer GUI development platform. There is a talented team of folks working on the wxPython GUI, so development is going quite fast.
It originally ran only under linux but recent ports to Windows and the MacOS are nearing completion as of September 2007.
QGIS is basically an easy to use viewer for geospatial data. A couple years ago, Radim Blazek--a former GRASS developer--joined the QGIS project. He has made a number of GRASS processes available to QGIS through its plugin architecture to give QGIS some nice analytical capabilities. QGIS is written in C++ I think, and its GUI is done in QT.
jgrass was started some years back, when GRASS had a pretty primitive GUI. As best I can tell, it creates a GUI in JAVA and uses GRASS libraries to carry out a limited suite of geospatial processing activities (mainly hydrologic modeling). For a long time, jgrass was using the GRASS 5 libraries. I don't know if it has upgraded to GRASS 6 or not. As of a year ago, jgrass merged into uDIG, and I don't know if it is still using GRASS libraries as a geospatial analysis engine or not.
KerGIS is a fork of GRASS 4, the last public domain version of GRASS before the code was relicensed as GPL. [[Category:Languages/id