Contributing to GnuCash

From GnuCash
Revision as of 17:40, 27 March 2008 by Agrawalyogesh (talk | contribs) (Code)
Jump to: navigation, search

The GnuCash Project is a volunteer-driven organization and depends on volunteers, such as you, to survive and grow.

Many ideas here are taken from this slashdot comment.

Testing

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.

Feedback

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. From another comment: What this thing needs is some normal human beings using it and saying "you know what, it's NOT acceptable that window A obscures window B and freezes while window B is waiting for input from me." It needs, I am sorry to say, Quicken or MS Money users, who say "It was really easy to do X, Y, and Z, but here, I can't even figure out if it's possible,"

Code

If you're a programmer, obviously a good way to help is to start writing useful code :). Grab the latest Subversion trunk and try your hand at one of the outstanding bugs in Bugzilla or something on your personal WishList. To get jump-started, it might be a good idea to hang out on IRC and get yourself subscribed to the Mailing Lists . Read the two files HACKING and README.svn. To create a patch do "svn diff" on trunk. Once you are done attach the patch to the bug, and send an email to gnucash-devel mailing list.See Building for more details

WishList

Similarly, it is important to keep track of wishlists — both those of the official developers, and of users. Since this is a wiki, a user named Andy Glew has taken the liberty of creating such a WishList.

Money

The GnuCash Project encourages financial contributions in three ways:

  1. Small donations can go to the GnuCash tip jar to pay for unavoidable expenses of the project, and for projects agreed upon by consensus.
  2. Sizable donations go to specific developers to help fulfill feature requests.
  3. Thanking developers for past work can be done individually, but will not be done through the project.

Documentation

Writing documents on how to do things, see e. g. Concept Guide, (or why to do things, accounting is a black art to many). Help people out using the program. The article said that the programmers are spending a lot of their time answering questions instead of actually getting on and doing the job. Even simple things like "Tips and tricks" are a good start. If users can help other users, then the current programmers can spend more of their time getting new developers up to speed.

Advocacy

You usually get developers because they use software and have an itch to scratch. I'd guess that GnuCash's biggest problem is that programmers don't use the software. Running tutorials, presentations at local LUGs can be invaluable for getting a larger userbase (and therefore hopefully a larger developer base).

Wiki

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. Simply click on the "Edit". If you are a Firefox user, you may like to try the Wikipedia editing extensions to make the job easier.

More

See WishList for more ideas for small projects of value, ideal for limited contributors.

An informative mail from the archives.

GnuCash design and developer's reference

Scheme programming manual