CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

How to contribute

Since you've landed on this page you're probably interested in how to contribute to CRUX. There are three distinct levels of contributing to CRUX; they have one prerequisite in common: being adjusted to CRUX and its community. So even if you feel like helping from day one, first run crux for some time, and follow the mailing list (and optionally the IRC channel #crux on irc.freenode.net, where you can also talk to other contributors and developers) to get a good feeling of the system, its goals and its community.

Stage 1: beginners to intermediate users

After using CRUX for a while, there are two jobs you can do to help others:

  1. Maintain some ports
  2. Help other on the mailing list and on IRC

Maintaining ports is quite simple, though it can be time consuming. If you have no ports repository yet, have a look at this page to get started. Take the time to look at other people's ports to learn tricks and common ways to approach challenges around packaging. Try to avoid duplicates; if you'd like small changes to a package, contact the maintainer first before creating a duplicate.

Helping people on the mailing list and IRC is a good way to gain experience in solving problems; try to help if you know the solution to a particular issue. If you don't know the answer to a question but someone else can, try to understand the answer and remember it, in case someone else has the same problem. For this task, being familiar with CRUX specific tools like pkgmk, pkgadd, pkginfo and ports is absolutely necessary. Make sure you closely read the respective sections of the handbook, and the man pages of those tools.

Stage 2: experienced users

Once you've maintained a ports repository for a while (say 3-6 month) - and this means looking after those ports, doing updates, following user suggestions - you might want to consider joining the contrib collection. The aim of this collection is to provide a selection of high quality and compatible ports to the users. The requirements for this are described on the ContribRules page. Note that contrib has a semi-official status, and it's therefore important for us to have a good feeling about the members. That means that if you've visibly contributed to the community (see the first stage), it's much more likely you'll get accepted there. If on the other hand you stood out in a negative way, you might be asked to stay at stage one for some more time.

Stage 3: experienced users with a compatible attitude

CRUX' development team consists of a small group of volunteers. We do this mainly for fun, and the composition of our team is crucial to keep the fun. For someone to become an official CRUX developer, a compatible attitude is therefore as important as the technical skills. In general, there are two ways to become a developer:

  1. you're asked to become one
  2. you've been a contrib maintainer for some time, and think you'd fit in well.

In the later case, send a mail to crux-devel, stating your intention and reasoning behind it