Contributing to GnuCash
The GnuCash Project is a volunteer-driven organization, meaning it depends on volunteers such as you to survive and grow. This page explains different ways to contribute to the project.
- Participate in the discussions on your locale user Mailing Lists. After some time of watching and asking about the usage of GnuCash you can share your knowledge with newcomers.
While you are using the program, you are also testing it. Programmers can be fine testers, but non-programmers seem to be able to break programs in new and mysterious ways.
The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A programmer will usually only be able to fix a bug they can see; if you can't make the programmer see your bug, it won't get fixed! If you find a real reproducible bug, check with Bugzilla to make sure the developers know about it.
Programmers should feel free to add plenty of unit tests (see Testing) as well.
Providing feedback on what features are used, and what aren't is important to developers who may spend a lot of time on a feature they think is important instead of a feature that actually is important. GnuCash offers numerous ways to provide feedback: the Mailing Lists, Bugzilla, and Enhancement requests.
The project maintains at least 2 different types of documentation: Updating the wiki is easly done while docs require slight more skills.
Write answers to FAQ's. Wiki'ing is very addictive and fun. And while you're at it, everyone learns! As you probably have noticed, you are looking at such a wiki right now.
Getting started on the GnuCash Wiki
Contributors must request an account in order to work on the wiki. The request process is human-moderated and you must convince the human that you're not a spammer or a robot. Don't bother requesting an account until you see something you want to change. Fill out the request form and explain in the "Reason" box exactly what you want to change and why. General descriptions of your skills aren't useful and will be ignored. If you've been contributing on the mailing list mention that with your email address (the request form isn't public, only wiki admins can see what you enter).
Once your account is approved, you will receive an email with a temporary password. You should be able to log into the Wiki and change your password. At first you will have just minimal user rights which only grants enhanced reading ability. To edit pages, you need emailconfirmed status. To get that, click on "Preferences", see your "User profile", and select the option to confirm your email, which sends an email to your personal email account. Clicking the link in the email you receive will allow you page edit (but not page create) privileges. You can verify your status under your account Preferences, where you should see your membership in emailconfirmed group.
Note that the GnuCash main page is specially protected, and only by wiki Administrators can edit this page.
An emailconfirmed account will automatically convert to autoconfirmed status after 7 days, which will allow you to create new pages.
You can add Wikipedia editing extensions to your browser to make editing easier. Search the Add-ons page of your browser for these.
For Wikipedia editors
Wiki users who have edited in Wikipedia will find that the editing environment is similar. It uses the same mediawiki software. With autoconfirmed status you may create your own user page and user Talk page.
The docs are currently written in DocBook, a semantic markup language for technical documentation. Potential tasks:
- Review the current docs for issues
- Fix typos, add links, ...
- Fill the gaps
- Inserting the content of existing wiki pages.
- Write task oriented new parts
- When you were a beginner you missed a tutorial or how-to about ...
See Documentation Update Instructions for more on this subject.
If your natural language is different from English, you can contribute by translating
- parts of this wiki,
- the website,
- the messages of the program or
- the official documentation "Help" and "Tutorial and Concepts Guide".
See Translation for details.
- Add or improve Account Templates for your region.
- Add or improve Tax Reports for your region, which might be nontrivial. But adding a wiki page with [links to] tax forms or the description of the online interface of your tax authority could be a first step as programmers are seldom Certified Public Accountants, too.
- You could also support the Mailing Lists team of your language.
See also Development#Tools.
There are several types of "code" where you can support the team. They are ordered here by the estimated compexity:
- HTML+PHP (Webdesigner)
- This are the languages used on our web server. Many pages can take an update. See Website Maintenance.
- GnuCash's Python Bindings needs maintenance, too
- Guile/Scheme (Report writer/maintainer)
- The reports of GnuCash are written in this LISP dialect.
- This is the core of GnuCash. There is an ongoing process to convert from C to C++.
People without other resources
If you can not tender above mentioned resources, we will also accept your donation to maintain our servers.
Other options are:
- Large scale
- Hire a developer to get your preferred enhancement implemented.
- Small scale
- Set a bounty on your preferred enhancement request.