New to QGIS and wanting to get started as a developer? This page is just for you! Its designed to give you an overview of the resources available to you. Be sure to read the ContributorGuidelines for an overview of the requirements and responsibilities of a QGIS developer.

IRC:

If possible, pop in to IRC at #qgis on irc.freenode.net and have a chat. We are only too happy to help and IRC is probably the most direct way to get help. There is usually a developer or two loafing around there, so log in and say hi and stick around until one of us pops our head out of the sand!

Web Sites:

wiki.qgis.org

We have a wiki at wiki.qgis.org. You can get write access to the wiki by creating yourself an account using the 'login' link at the top right hand corner of the page. Make your user name in wiki style e.g. JoeBloggs. When you have made your wiki account, email the account name to gsherman / the dev list and he will assign you write access. Then you can post your feature plans there. Each release has a feature plan too. If you think there is something you can reasonably achieve within the next release you can add your name next to or add it to the list if its not there. Its usually a good idea to chat about your plans a bit here on irc first to see if they are generally compatible with what other people are doing or via the dev list. You can also create your own personal development plan on the wiki and outline the things you intend to implement over the longer term.

qgis.org

qgis.org is the main website for qqgis, containing links to downloads, end user documentation and links to other qgis websites. Its updated infrequently when there is a release or some important announcement to make.

qgis.org/trac

qgis.org/trac is the Quantum GIS Project Management Site, where users can report bugs by creating a new ticket and view tickets to check on bug fixes. Developers can browse the source, check the bug queues, and view the timeline and roadmap.

community.qgis.org

This is the busiest site I think and if you have anything of interest for both users and developers, this is the place to post it. For example, if you have to submit a written assignment at the end of your project, it would be very interesting if you could post it on the community site too. If you have any other ideas for interviews or articles you can sign up for an account and submit them to the story queue. They will be moderated by gsherman.

gallery.qgis.org

This is an image gallery of qgis screenies and splashscreens and the occasional picture of a moose ??? :-P

Becoming a Developer

The procedure for becoming a developer usually works like this: When a new developer comes to QGIS and wants to start devloping, he / she (we have no female devs yet) is not given full write access straight away. This is to ensure some quality control....so that gsherman can be sure that new devs program within the norms of the project and are generally trustworthy.

At this stage you should submit your changes in the form of patches (there is a short explanation of how to generate a patch on the wiki). It is best to submit your patch to the patch queue in sf, and its ok to send the odd reminder note asking for your patch to be evaluated and committed - theres lots of stuff going on in qgis and sometimes these things fall to the back of people's minds...

You should read up on the CodingStandards, too. There are not very many rules. CodingGuidelines contains a few (hopefully) helpful developer tips and references.

Once you are ready for commit privileges, be sure to read and understand the ContributorGuidelines and then make a request to have an existing developer nominate you for write access to the source code repository.

There also exists source code documentation. (Besides the doxygen based documentation embedded in the source code.) It is suggested that developers read this documentation before making changes. Moreover the design document should be kept in sync with source code changes. It is also a good idea before making a significant design change to first document it in as much detail as possible in the design document before actually coding it up. Code written after corresponding design document text has been crafted tends to be cleaner and more robust. The design document is available from CVS as the "design/docs" module.

Developers:

I will just list a few of the developers and the areas they are working on.....my apologies for leaving anyone out. I think there are 15 registered developers on qgis project at sf.net.

Vector

If you are interested in vector implementation, in particular with vector editing, ogr provider and symbology, Marco is the guy to seek out.

Project Serialisation

Project serialisation and deserialisation is implemented by MarkColetti the Mad American Scotsman. (You will recognise him on IRC ... he says things like 'Har!' a lot). MarkColetti swears project serialisation is 'complete' and a done deal ... but just tonight I saw new commits going in there. Mark also knows the 'Gang of Four' C++ design patterns book off by heart, so he's a good guy to chat to if you are having design issues.

Grass Integration

Radim (hes almost never on IRC so email via dev list is best) has been doing a lot of very cool stuff with integrating grass into qgis...if you have questions in that area hes the one to ask.

Note Radim is standing down from the project so we will need to find a replacement contact point here.

Rasters

Rasters: Steve Halasz and TimSutton are probably the ones to ask

QGIS Core

QGIS core, providers and generally anything about QGIS: gsherman (Gary)

GPS Integration

GPS integration: Lars (larsl on irc) has been doing all the cool stuff making gps integrate into qgis. Hes also written other plugins like raster georegistration tool, export to web image map tool and others

Projections

Projections: Gary and Tim (and now Magnus Homann).

Make system

Post 0.8

We have migrated to cmake. You should ask MartinDobias if you have complex questions. Most developers will have at least a basic idea here. Pre 0.8 D|dge did all the clever build system stuff for us so if you have questions relating to automake, makefiles etc hes the guy to ask.

New Developers Welcome Pack (last edited 2008-03-11 02:24:30 by GarySherman)