[[TOC]] == (Power) Users == Subscribe to the [http://lists.osgeo.org/mailman/listinfo/grass-dev mailing list] and answer questions where you have gained some knowledge (and everybody knows something!). Contribute to the wiki, improving documentation, providing examples, write [wiki:HowToProgram source code], fix [http://trac.osgeo.org/grass/query?status=%21closed&type=defect&order=id&desc=1 bugs] etc. == Developers == Using the Ticket system is the best way to submit code contributions. See for example #33. '''Code quality:''' Check Your code according to GRASS "BestPractise" guide list. What else: see [http://grass.gdf-hannover.de/wiki/Development development collection] (to be moved here) === Procedure to request GRASS-SVN write access === To avoid security and code quality issues, a procedure has been established to control and grant GRASS-SVN write access. In general, write access must be requested and is not automatically assigned. Any code submission must be compliant with the GRASS submission rules. * Write access to the '''Main GRASS-SVN repository:''' * In general, the [http://grass.gdf-hannover.de/wiki/PSC GRASS Project Steering Committee] is responsible for granting SVN write access to contributors (as defined in [http://download.osgeo.org/grass/grass6_progman/rfc/rfc1_psc.html RFC1]). * The requester has to '''read and abide by''' the document [http://download.osgeo.org/grass/grass6_progman/rfc/rfc2_psc.html Legal aspects of code contributions] (RFC2). * The request has to be send to the GRASS-PSC [http://lists.osgeo.org/mailman/listinfo/grass-psc mailing list], stating that RFC2 was read and accepted. This requires [http://lists.osgeo.org/mailman/listinfo/grass-psc subscription] to the PSC mailing list. After a period of evaluation, SVN write access may be granted and is set up in the OSGeo authentication system (see below). * Write access to the '''GRASS-Addons-SVN repository:''' * [http://trac.osgeo.org/grass/browser/grass/trunk/AUTHORS GRASS developers] with write access can grant SVN write access to contributors (you may contact an active developer, see grass-dev mailing list archive). The selected developer is a sort of "sponsor/mentor" for the requester. Procedure: * The requester has to '''read and abide by''' the document [http://download.osgeo.org/grass/grass6_progman/rfc/rfc2_psc.html Legal aspects of code contributions] (RFC2). * The request has to be send to a GRASS developer or the GRASS-PSC chair, stating that RFC2 was read and accepted. After a period of evaluation, SVN write access may be granted and is set up in the OSGeo authentication system (see below). * New commands stored in the GRASS-Addons-SVN repository should be also added as link to the [http://grass.osgeo.org/wiki/GRASS_AddOns Wiki list of tools]. === Setting up the new SVN write access === Once SVN access is granted, the requester needs to obtain an "osgeo_id" at http://www.osgeo.org/osgeo_userid If s/he already have an "osgeo_id" but forgot it, it can be searched at http://www.osgeo.org/cgi-bin/ldap_web_search.py The GRASS-PSC chair (currently Markus Neteler) and other developers can add this "osgeo_id" to the list of enabled accounts in the OSGeo LDAP authentication system. Contributions have to follow the [wiki:BestPractise] rules (see also SUBMITTING* files in the source code). === Then what? === [wiki:DownloadSource Get the source code] and Happy hacking :) The requester should subscribe to the [http://lists.osgeo.org/mailman/listinfo/grass-commit grass-commit] mailing list which distributes GRASS-SVN commit differences for real-time code review.