Contributing in Open Source

My suggestions for getting involved:

- Use the project. Unless you’re starting a new project, you will probably be a heavy user long before you ever start contributing. You will have a harder time joining a project which simply strikes you as interesting or cool rather than one you’re familiar with due to daily use at home or work.

- Participate in the Mailing List. Most open source projects have a mailing list, newsgroup, or IRC channel where users and developers interact. Become a part of that community by asking and answering questions. Fieldling ‘newbie’ questions on the mailing list can be a great help to the developers, increases your visibility in the project, and tests your understanding.

- Work from source and cvs. If you’re serious about contributing there will come a point when you will stop using the released versions and begin working with or on the CVS source tree. This can be a bit more work at first while you’re learning your way around the project’s internals and build system, but it will be important.

- Document. Most open source projects suffer from poor documentation. As a user, you’ll notice this better than the developers. Submit new documentation, add to the project’s wiki site, develop tutorials and keep notes on your experiences with the project. Helping to document the project does not have to take a lot of time and can be a VERY significant contribution.

- Submit patches. At some point you will either run into a bug or find a feature you really need or want. If you feel comfortable enough with the code base, DON’T initially post a question, bug report, or feature request to the mailing list. Instead, try to fix the bug yourself or add the feature. Then submit the patch. It’s this transition between expecting the existing developers to support you to supporting yourself that marks your passage from user to contributor.

- Have fun. Many people do open source on their own time as a hobby—so it should be something enjoyable, not stressful. Don’t be afraid to take abreak from a project for a little bit if it’s just not fun anymore.

Those are my tips. A lot of open source developement is a mindset to contribute instead of sit back watch other developers have all the fun. The nice thing is that you can make open source fit your own lifestyle. You give what time and effort you want to give. Of course, it’s easy for a project (especially a larger one with many users) to eat up all your extra resources, so like anything else, you must remember to maintain an appropriate balance.

I’ve been using open source software for several years now, but only within the last six months or so have a seriously started contributing and it’s been a blast.