Development » Contribute
There are several ways you can contributing to Horde. We are always looking for new poeple to help and not only in programming. There are plenty of important tasks that don't involve writing or maintaining code, such as documentation or localization.
As first steps you should:
- Get the code.
Clone the git repository. All new development is done out of our Git repository. It is important to remember to always use git for new features.
- Find a bug to solve or a feature to implement.
Check the Horde Ticket Tracker for any outstanding bugs or track down your own. It can be even missing documentation or translations.
If you decide to implement a new feature, it might be worth discussing it in the lists first, to test water, get feedback from lead developers and see if anybody is already working on it or if it fits at all into the general direction of the project.
- Create a patch.
See the instructions on the Git page.
- Attach your patch to a new enhancement request in the Horde Ticket Tracker.
Be prepared to be met with a critical analysis of your patch. In case your patch is refused, ask why and either correct your patch or constructively argue your point. In case you receive no feedback, try bumping the issue once after a week. We make every effort to respond to all tickets, but please be patient. If your patch does not cleanly fit into Horde's main codebase, you may be asked to document it and upload it to a new Wiki page . That way it will be available in a central place to others with the same need.
General points to remember
- Respect the project coding standards, otherwise your patches will not be commited. You can find the coding standards in your horde directory under horde/docs/CODING_STANDARDS or directly from Git.
- Work within the framework, that is use the available classes and mechanisms (eg: preferences, permissions, forms, etc).
- Monitor the development and commits mailing lists and those of the applications you work on.
Lastly, remember that, although you work on the project on your own goodwill, this does not grant you any specific privileges. The lead developers make the final call. Sometimes, they may make decisions that you may not agree with. Obviously, you are entitled to voice your opinion and argue your point, but stay civil, do not drag it out and respect their decisions.
That's pretty much it. One last thing: do not do it for an ego boost, do it for the love of coding. The unfortunate truth is that contributing to an OSS project will most likely never get you the kind of fame Linus Torvalds or RMS enjoy, nonetheless, as with any Open Source project, your contribution will be greatly appreciated by the community.