Mailing list -
Trac System -
Download/SVN -
Help wanted! -
Compiling GRASS -
Programmer's Manual -
Code submission -
Quality Control -
Related software
GRASS - Geographic Resources Analysis Support System has been under
continual development since 1982 and has involved a large number of federal
US agencies, universities, and private companies. The core components of
GRASS and the management of the integration of the efforts into GRASS
releases were accomplished by the Construction Engineering Resesarch
Laboratory (CERL) in Champaign, Illinois. It has been estimated that several
million dollars of GRASS software development efforts across the government
have been completed since the 4.1 release. Since 1997 a
worldwide network of developers
continue to release new GRASS versions (see
GRASS history).
The strength and success of GRASS relies on the user community. This in
mind, the philosophy of the GRASS Development Team is to encourage users to
develop their own unique tools and applications for GRASS. If you develop
tools and techniques that you feel would benefit other GRASS users, let us
know! We strongly recommend to follow the coding style described in
SUBMITTING file (which you find in the main directory of GRASS source code
or also below).
GRASS GIS is developed and supported by a worldwide developers
team. As GRASS is growing, we have plenty of opportunities to join
the GRASS development team and improve the powerful GRASS GIS under terms of
GNU General Public License.
Many people have contributed to the GRASS
GIS. Without any one of them, GRASS would not exist in its current form.
The authors of the individual programs are listed at the end of their manual
page in GRASS users manual, however, numerous authors of bug fixes and
enhancements as well as people who have been working on coordination,
integration, documentation and testing are not mentioned. Therefore, this
page is an attempt to acknowledge those who contributed to GRASS
development. Please allow us to extend our most cordial thanks to all of
you. If you contributed to GRASS at any point during its existence, please
let us know your name and e-mail address so we can add your name here.
Developers Mailing List
Please join our mailing list, which will help and coordinate ongoing
development in GRASS GIS development. Join the list if you are
a programmer and/or want to follow the development discussion. If you have
questions concerning compilation of the SVN-GRASS, please ask here.
Integrated development tracker
Development planning is all done on the developers' mailing list.
The execution of those plans are tracked by GRASS's
integrated Trac system.
How you can help
See the list at Get involved!
Roadmap
See the GRASS Development roadmap
Download the latest GRASS software
To follow GRASS development, get the latest code from SVN server:
Compiling GRASS
Compiling GRASS is only recommended to people with experience (that's why we
also offer precompiled binaries).
The configuration requires a set of installed libraries which are
described in the file REQUIREMENTS.html
file (which you also find in the main directory of the source code tarball).
The compilation is desribed in the INSTALL
file (which you also find in the main directory of the source code tarball).
Dear Newbie, please be so kind to search the
developers mailing list archive before asking
developers - most questions have been already answered several times :-)
Compiling GRASS natively on MS-Windows integrated with QGIS: see
Building Windows Binary On Linux
(Cross compilation with MinGW).
GRASS Programmer's Manual
Please cite GRASS when using it as we have invested a lot of time and
effort in creating GRASS.
Citation:
GRASS Development Team (<year>). Geographic Resources Analysis Support
System (GRASS), GNU General Public License. http://grass.osgeo.org
- GRASS Programmer's Manual:
The manual has been integrated into the source code (doxygen format) and
can be extracted with 'make pdfdocs' or downloaded from the
download page.
- GRASS 6 Programmer's Manual (generate locally with 'make htmldocs-single' from source code):
HTML -
- GRASS 7 Programmer's Manual (generate locally with 'make htmldocs-single' from source code):
HTML (updated weekly every Saturday)
- Search GRASS 6 Programmer's Manual
- r.example: example C code for GRASS raster programming
- v.example: example C code for GRASS 6 vector programming
- A small GRASS-PHP demo displaying a dynamically rendered earthquakes world map.
NOTE: r.example and v.example modules are included in doc directory of
grass source. If you downloaded GRASS source code already, check
grass_trunk/doc/ directory for these modules.
- GRASS 5.0/5.3/5.4 (old!):
- GRASS 5.0/5.3 Programmer's Manual [ PDF, 2.3 MB ]
Debugging: hints are collected in doc/debugging.txt
in the source code package.
Code submission
When developing GRASS software, you may want to share your development with
the GRASS community. There are several ways to probably get your code into
the standard GRASS release. Another option is to host the software on your own
web page - in this case we can add a link to our "GRASS Add-ons" section. We
strongly recommend you follow the coding style described in SUBMITTING files
(which you find in the GRASS source code). Optionally, for group based development
we can offer access to the GRASS AddOns-SVN repository which we grant to
trustable people who agree to the GRASS rules of code contributions (see below):
- Legal aspects of code contributions (RFC2): these rules have to be accepted to gain SVN write access
- C language coding standards: Check your code against the rules defined in the
'SUBMITTING' file (find it in the main directory of the GRASS source
code and also SUBMITTING). This ensures
a smooth integration into the standard GRASS code base.
- Shell script coding standards: Check your code against the rules defined in the
'SUBMITTING_SCRIPTS' file (find it in the main directory of the GRASS source
code and also SUBMITTING_SCRIPTS). This ensures
a smooth integration into the standard GRASS code base and avoids portability
problems.
- Tcl/Tk script coding standards: Check your code against the rules defined in the
'SUBMITTING_TCLTK' file (find it in the main directory of the GRASS source
code and also SUBMITTING_TCLTK).
- Python coding standards: Check your code against the rules defined in the
'SUBMITTING_PYTHON' file (currently developed here).
- Code submission: Please contact a member of the
GRASS Development Team
or write to the development mailing list (see above).
In general, please generate differences to the current SVN instead of sending
full files:
svn diff -x -u [file.c] > grass.diff
Please submit the patch to GRASS-trac.
- GRASS Add-on Wiki submission: go here (Add-on code
is hosted on your server)
- GRASS Add-on SVN repository: We maintain a SVN repository for group-wide code development. You can
ask the developers for write access, but you have to agree to the Legal aspects of code contributions (RFC2) and the code SUBMITTING standards (see in the SVN repository).
- Already submitted code which is not (yet) integrated: OUTGOING
directory - maybe you can work on this?
GRASS Quality Control
The development team invests time and efforts to verify the quality of GRASS, be
the coding style, be the functionality of the commands:
GRASS related projects/libraries
Last change: $Date$
$Author$