This HOWTO is written for new developers to help them on their way.
We assume you are an experienced developer and Unix user.
You know how to use GNU autoconf/automake, what patches are, you know how to use a shell, etc.
This does not mean that newbies are not allowed to join, but if you are a newbie, I would highly recommend you to gather some knowledge before starting.

1. Download & Compile

First you have to download the source code from CVS.
Then compile that source code.

2. What do you want to do?

First you have to find out what you want to do.
I suggest you to only do one thing, and when that's finished, do another.

You can look at the software, see what it still needs, and code it.
For fix any bugs you might find.

You don't have to finish something in a short time.
You can take all the time you want.
But if it takes lots of time, I suggest you to send patches from time to time to be in sync with your progress.

3. Notes about coding

We care about warnings. We care about memory usage.
So make sure you free any allocated pointers.

We also care about code cleaness.
So make sure you use identications in your code.
Don't push all your code in a corner.
Make it readable for others.

4. Send patches to the mailing list

Before you send patches, make sure that your source code is up-to-date:
cd /source/code/directory
cvs -z3 update -dP

Make sure your code is tested before sending a patch, if possible.
Patches can be created using GNU diff, but my most preffered way is to use 'cvs diff'.
That's because you don't have to save your modified source code in another directory and diff it.

Go to the directory where your modified source code is.
Type the following command:
cvs diff > patch-file
And that's it! Just remember to do this in every directory that contains files which are modified by you.

Now you can send the patches to the developers mailing list.
One of the maintainers will look at it, and if it's good, it will be committed to CVS.

5. How to get CVS access

If I see that you did lots of good work and you code is good, I will grant you CVS access.
Then you don't have to send patches anymore; you can directly commit to CVS.