From Habari Project
Habari is a community-driven open source project. Habari is most successful when passionate people share their experience and their expertise to improve it.
Ways to contribute
There are many ways an individual can improve Habari:
- Help begin to document for both users, and developers
- Install Habari and test
- Provide feedback on your experience within your hosting environment
- Find, reproduce, and document bugs
- Fix bugs in the source
Following the meritocracy model advocated by the Apache Software Foundation, the Habari project rewards contributors with decision making privilege in the project. Regular participants should be able to influence the direction of the project to which they dedicate their time and talent. The requirement for participation will be something of a moving target over time, but the barrier to entry should never be so high that dedicated people are excluded.
A fundamental aspect of successful open source projects is transparency. Decisions are made in the public's eye, and discussion and deliberation takes place in the open. The Habari project pursues transparency by using trac or dev mailing list to maintain a record of proposed changes, and discussion associated with those changes. All proposals -- whether for code, documentation, visual style, etc -- are logged through the issues tracker and mailing list for public scrutiny and input.
Developers contributing to the Habari project itself should note that, unless explicitly stated otherwise, any contribution intentionally submitted for inclusion shall be under the terms and conditions of the Apache license, without any additional terms or conditions. However, plugins and themes designed to work with Habari are not required to have the same license as Habari itself.
You can find our license included in the source, and in our code repository.
Where Do I Start?
A good first step is to join the Habari-Dev Google Group. This is where discussion and debate of new proposals will occur.
Next, find something you think you can fix! Whether it's a section of the manual, an incompatibility in a stylesheet, or a glitch in a class method, use the issues tracker to create a new issue. The issues tracker is the central repository for all Habari development activity. All fixes should be submitted to the issues tracker so that others may see them, comment on them, and try out the proposed fixes for themselves.
Be as specific and as thorough as possible when creating your issue, and attach your fix (if you have one) to the ticket. Document your server configuration, and if you don't know the specifics, mention which host you are on.
If you'd like to keep track of the issues you report, you can add your trac username to the CC field. This will have trac email you any modifications to your issue. Habari developers may ask for additional information, or ask for you to help test proposed fixes, so tracking issues you report is generally a good idea. You may also track issues you did not report, if you'd like to follow the progress of those issues, too.
Don't stop now! Keep submitting ideas, patches, and corrections! Comment on other issues in the issues tracker. Share your expertise.
If you'd like to keep track of all the issues and their development, you may subscribe to the trac timeline feed. The trac timeline is updated with details every time an issue is opened or closed and whenever a change is recorded in the source code repository. The timeline feed can be customized to include ticket changes or repository changes (note that the project does not make heavy use of milestones, and does not use the trac wiki at all). This is a great way to keep your finger on the pulse of the development process.
The Next Step
If you'd like to submit patches, changes, or additions, the first step is to open an issue in the tracker. Allowing the group to review your proposal could save you the time of implementing something that is being done as part of a larger task, and could gain you the insight or help of other people who are interested in what you're doing.
As you prepare your changes, ask for review on the development mailing list as often as you need it.
When your changes are complete, file code changes as a diff in the issue that you're tracking, and attach any associated files. Be sure to mention how the files are to be applied if there are any special considerations. Your issue will be reviewed, and if suitable, will be applied in the code repository.
This can be applied to code changes, as well as documentation that will eventually ship with all Habari install packages.
- You can move issues that have the next release as the milestone forward by reproducing issues, commenting, writing patches, or writing tests.
- Habari has some unit tests, but many more are needed. The testing process is at least partially documented, and writing tests helps improve our quality processes.
- Speaking of partially documented, you can help improve the documentation. If you've ever found the documentation to be lacking make a note of it, put up a new page, or add something to an existing page. Don't be afraid to put rough words down, it's a wiki so we can work together to make things better. See the Wiki Structure page to get an idea of how the pages fit together, read the Wiki Style Guide for advice on writing for the wiki, or join the Wiki Working Group.
- There are also pages that have been marked as Category:Stubs, and some users keep lists of pages they'd like to see written, for example michaeltwofish and mikelietz.
- Write a plugin someone has added to the wishlist.