I suggested you yesterday to contribute to a free software project. I know choosing one can be difficult, so this post is to give you a suggestion: help the pkgsrc project.

pkgsrc is The NetBSD Packages Collection. Despite its name, it works on many other operating systems, like Linux, Solaris or MacOS X, to name some. pkgsrc provides a package tree from where you can install any kind of program. It takes care to download the sources, configure and build them and install the results. It also handles all required dependencies.

To start using pkgsrc, you must get a copy of the package tree and learn how to use it. The pkgsrc manual contains all this information, and the website (linked above) provides a summary of what's needed to get started.

Assuming you already know the very basics of pkgsrc (just read the links to documentation), you can easily contribute to it. Different ways to help are providing new packages, updating the existing ones to the latest versions, reporting bugs (that you'll probably hit, specially when using it outside NetBSD) or becoming the maintainer of unmaintained packages.

Back in March 2003, Thomas Klausner (one of the core developers of pkgsrc) created pkgsrc-wip, a project targeted to new contributors (like you!) to make their life easier in providing new stuff and learning from other experienced developers. You can join this subproject (i.e., get a developer account) by just asking for it (follow the link for more information).

Anyway, before you try to do any patches or new packages, try to get familiar with pkgsrc and understand what's going on (as you should do when helping any project). Learning CVS is also a must, as it is used by both projects.

Keep in mind that maintaining packages is very addictive! I'm actually maintaining a big part of GNOME 2 in pkgsrc, so I know what I'm talking about ;-)