| 1 | = How to start contributing to MapServer Development? = |
| 2 | |
| 3 | This is a question every eventual contributor faces at some point, and since Frank wrote [http://lists.osgeo.org/pipermail/mapserver-dev/2010-March/009816.html a very detailed answer to that question on the -dev list] we thought we'd archive it here: |
| 4 | |
| 5 | ---- |
| 6 | |
| 7 | Until you are on the MapServer commit list you won't actually |
| 8 | be able to commit the changes yourself. So you could take the approach of: |
| 9 | |
| 10 | 1) Build MapServer trunk from svn, with debug info. |
| 11 | |
| 12 | 2) Scanning the open bug list for something that catches your fancy and |
| 13 | seems in within your competency: |
| 14 | |
| 15 | http://trac.osgeo.org/mapserver/query?status=%21closed&type=defect&order=id&desc=1 |
| 16 | |
| 17 | 3) Make an attempt to reproduce the problem. If this is going to take a |
| 18 | fair amount of work, you might want to mention in the ticket that you are |
| 19 | trying to investigate the problem. If you succeed or fail to reproduce the |
| 20 | problem make notes in the ticket, possibly including a simplified set of |
| 21 | steps to reproduce the problem. |
| 22 | |
| 23 | 4) If you have reproduced the problem you can start looking for a solution. |
| 24 | How to accomplish this is pretty broad, but |
| 25 | |
| 26 | 5) If you come up with a solution, attach it to the ticket as a patch. |
| 27 | You can create a patch using "svn diff > mybug.patch". Describe the |
| 28 | nature of the bug and the rationale of your change if appropriate. |
| 29 | |
| 30 | 6) Now you are dependent on a committer to review and apply your patch. |
| 31 | You may find that the originally assignee (like Steve by default) picks up |
| 32 | on your patch and proceeds. But if there is no action after a couple days |
| 33 | you might want to prod the ticket holder by email, ask on IRC for help |
| 34 | with the patch or here on mapserver-dev. |
| 35 | |
| 36 | 7) Repeat steps 1-6 until people become annoyed enough applying your |
| 37 | patches that they ask if you would be willing to become a committer so |
| 38 | you can do it yourself. |
| 39 | |
| 40 | 8) Also consider preparing new regression tests for the "msautotest" |
| 41 | test suite when you fix something. |
| 42 | |
| 43 | -- |
| 44 | |
| 45 | In some cases you may not be able to fix a problem, but if you can |
| 46 | reproduce it and narrow it down to a test case that is highly forcused |
| 47 | and easy for another developer to pick up, then you have already |
| 48 | accomplished something useful. |
| 49 | |
| 50 | In the above, I have assumed you wouldn't assign the ticket to yourself. |
| 51 | But once you are a bit more confident, you can start to "seize" tickets |
| 52 | that don't seem to be getting any love. I'd suggest noting politely that |
| 53 | you are interested in looking into the issue unless the original owner |
| 54 | was wanting to take care of it. |