GRASS Provenance Review

This review is based on Code Provenance Review.

Committers
Current:

See AUTHORS file and ChangeLog

List of GRASS Versions (1984-today)

Historical and Current contributors (incomplete):


 * GRASS 1.x - 4.x
 * GRASS 5 Core Team
 * GRASS 6 Core Team, see also ChangeLog file


 * CVS statistics for GRASS 6
 * Ohloh GRASS CVS statistics

Issues and vetting process

 * Completed code vetting:
 * completely vetted for GPL'ization in 1999: http://mpa.itc.it/radim/g50history/ and
 * vetted again for DebianGIS inclusion: http://packages.qa.debian.org/g/grass.html


 * Ongoing: Missing copyright statement addition are continuously added
 * To simplify to trace down code contributors, there is a PERL script (tools/copywrite.pl) in the source code which automatically searches all main.c files which are lacking a Copyright statement. It also automatically extracts the known contributors from the local ChangeLog file (which is created on the fly from CVS) and generates a standard header within such main.c file. Manual review is obviously still needed before submitting the updated file to CVS.

Included Libraries
see lib/external/
 * bwidget: lib/external/bwidget/ (part of http://tcllib.sourceforge.net/)
 * shapelib: lib/external/shapelib/ (shapelib.maptools.org)

Non-free Libraries
There are no non-free libraries included. Vetted during GPL'ization, DebianGIS'ization and ongoing.

db
db.* commands

debian
debian control directory

demolocation
contains a small latlong test dataset

display
d.* commands

doc
some docs + example modules

general
g.* commands

gui
d.m and gis.m commands

imagery
i.* commands

include
include files

lib
around 45 libraries of the GRASS system + 2 external libraries as integrated into GRASS:

locale
includes various external contributors without CVS write access

man
populated during make, MAN is generated from HTML which is generated from description.html files during compilation

misc
m.* commands

paint
p.* commands

ps
ps.* commands

raster
r.* commands

raster3d
r3.* commands

rpm
some SPEC files

scripts
various scripts, integrated identically to commands during compilation

sites
s.* commands (legacy, not used)

swig
swig interface prototype

testsuite
test scripts for smoke tests

tools
documentation build script and other minor stuff

vector
v.* commands

visualization
nviz and xganim commands

TODO

 * add copyright statement to remaining main.c files (90 files as of 4/2007)

Mentor Notes
Putting together notes for a documentatoin of the vetting process.
 * Example of header addition: http://grass.itc.it/pipermail/grass-commit/2007-April/028266.html
 * more of them here: http://grass.itc.it/pipermail/grass-commit.mbox/grass-commit.mbox