Project

General

Profile

Contribute » History » Version 9

Eric Davis, 2010-04-12 23:03
Added a process for contributing code

1 1 Eric Davis
h1. Contribute
2 2 Eric Davis
3
{{>toc}}
4
5 4 Mischa The Evil
Redmine is built and maintained by community volunteers. If you enjoy using it and would like give back to the community, there are several ways to contribute back to the project. Also read the "forum thread":http://www.redmine.org/boards/1/topics/show/4325 for some more specific ideas.
6 2 Eric Davis
7
h2. Code Related
8
9 4 Mischa The Evil
These require a familiarity with Ruby on Rails development. If you are still new to Rails, Community members can help you if you get stuck with something or have any other questions.
10 2 Eric Davis
11 4 Mischa The Evil
You will need to download a copy of the current development-code. The official code repository is located in Subversion and can be downloaded by following the [[Download]] instructions.
12 2 Eric Davis
13 4 Mischa The Evil
A copy of the source is mirrored to "GitHub":http://github.com/edavis10/redmine/tree/master if you would like to use git for development. Contact "Eric Davis":http://www.redmine.org/account/show/5 if you need help or would like to merge in some changes.
14 2 Eric Davis
15
h3. Patch checking
16
17 8 Eric Davis
Fixing outdated patches so they can apply cleanly to the latest code is very useful. A lot of issues have patches for them but they need to be updated to the latest version.  **"List of issues with a patch pending":http://www.redmine.org/projects/redmine/issues?query_id=5**
18 2 Eric Davis
19
h3. Code documentation
20
21 8 Eric Davis
Documenting classes and methods using RDoc will help developers understand how Redmine works better.  **"List of documentation issues":http://www.redmine.org/projects/redmine/issues?query_id=84**
22 2 Eric Davis
23
h3. Development
24
25 4 Mischa The Evil
Patches to fix bugs or add new features are always appreciated. If you are going to work on a specific issue, make a note in the issue details so the developers will know what you're working on.
26 2 Eric Davis
27 9 Eric Davis
h3. Basic process for contributing code:
28
29
# Make sure you are working on the svn trunk or git master branch.  Patches are not accepted for stable releases (someone would have to port an incorrect patch to trunk first anyways)
30
# Make sure all the existing tests pass
31
# Add tests to show the new functionality and check for bugs
32
# Post the patch to the issue
33
# Ask for feedback from users and developers.  Users will want to to apply the patch and try out the new functionality.  Developers will want to do a code review and run all of the tests.
34
# Discuss any changes that are proposed and post new patches as needed
35
36
37 2 Eric Davis
h2. Non Code Related
38 1 Eric Davis
39
These don't require any software development experience, just some time and the desire to help.
40
41
h3. User support
42 2 Eric Davis
43 4 Mischa The Evil
Helping out other users in the "Forums":http://www.redmine.org/projects/redmine/boards and the IRC channel (#redmine @ freenode) is always useful. Frequent problems or questions should be brought up so the wiki can be updated to help future users.
44 2 Eric Davis
45 5 Eric Davis
h3. Localization support
46 4 Mischa The Evil
47 7 Eric Davis
[[HowTo_translate_Redmine_in_your_own_language|Translations]] should be kept up-to-date alongside the development of Redmine. You could provide updates of the translations where necessary or proposed to support Redmines I18n-support. **"List of Localization and Translation issues":http://www.redmine.org/projects/redmine/issues?query_id=7**
48 4 Mischa The Evil
49 2 Eric Davis
h3. Issue triage
50
51 4 Mischa The Evil
Sometimes issues are reported without all the information needed by a developer. Getting the details of the bug or feature from the reporter and the community will help everyone understand what is needed.
52 2 Eric Davis
53
h3. Design and User interface
54
55 6 Eric Davis
Redmine uses a very basic design and user interface. Any improvements to it including new themes, skinning, or interface adjustments could help every user of Redmine.  **"List of User Interface Issues":http://www.redmine.org/projects/redmine/issues?query_id=83**