You've discovered that you enjoy using open source software, and as much as you'd like to contribute back, you're not sure if there's anything you can do. You're not a programmer or a graphic designer so there's not much that you have to offer, right? Wrong!
There are all kinds of things you can do to help out on an open source project, so why not look through the ideas below to see if something appeals to you. We've broken up our suggestions into two groups to make it easier for you to find a task that fits your skill level -- those for people with some technical skills and those that require no or very little technical expertise. If you have any other ideas that you'd like to share, we'd love to hear from you!
If You're Somewhat Technical
If you have some basic computer skills and you don't shy away from problem-solving, there are several types of tasks that you could be ideal for.
- Diagnose Reported Bugs. It's almost always easier for programmers to fix problems once they have all the details. For example, if you see a bug reported on the project's website that doesn't include much information, try to figure out when the problem occurs. Does it only happen with certain operating systems or on certain browsers? How can the bug be reproduced? The more you can determine about the bug, the faster it'll be fixed.
- Write Documentation. Documentation is often overlooked in open source projects, partly because the developers are busy developing. But, with more and more non-technical people using open source software, that missing documentation is becoming a bigger liability. So, why not read through a project's documentation to see what's missing and then simply fill in the gaps?
- Write Tutorials and HowTos. If the standard version of documentation isn't quite your cup of tea, maybe you'd rather put together tutorials and HowTos? These can be tremendously helpful to other users and having them available develops a more active user community in general.
- Test a Beta Version. If a project you're interested in is released in a beta version, and it's not something that's vital to your workflow or day, you should think about installing the software to help test it out. If you run across any bugs or problems, make sure you report them -- this is how the next full release is reached, and beta testing can be an extremely important task.
- Answer Forum Questions. And, finally, don't forget about the project's forums. Even if you're not a hardcore techie, you could still sign up in the project's forum to try to answer general questions or even just participate in the discussion. A lively and helpful user forum can make a huge difference in the longevity of an open source project, but just make sure that you're qualified to answer questions before you start posting.
If You're a Total Non-Techie
If you want to help out but you don't have any technical skills to speak of, there's still a lot you can offer.
- Market the Project. If you have marketing or PR skills, these could be immensely valuable to an open source project. One of the open source community's biggest challenges is reaching new users, and if you have experience that would help make a project more visible and inviting, you're sure to be in high demand.
- Tell Everyone You Know About the Project. If you don't have professional experience with marketing or PR, but you still want to help spread the word, you could always start evangelizing. Or, more simply put, just tell everyone you know about the project and encourage them to sign up, download, or install whatever it is that you're promoting. Oh, but be careful not to be too annoying when you evangelize ... there's nothing more off-putting than a pushy sales pitch.
- Create a Store With Already Available Graphics. This one might seem a little more difficult, but it's actually a fairly simple process. So long as the project has images -- a logo, mascot, etc. -- that are available under non-restrictive licenses, you can use these graphics to create t-shirts, mugs, stickers, laptop decals ... whatever you think people might want to buy. It's important, though, that the end product looks professional, so check out some web-based on-demand printers like Zazzle and CafePress to see what they offer, and be sure to use their template files for best results. If you do make a sale, you might want to consider sharing the proceeds with the project itself.
- Translate. If you're bi-lingual, tri-lingual, or an all-out polyglot, your language skills could be put to good use on an open source project. The more languages that are available, the greater the likelihood that people all over the world will use a product.
- Donate Money. Lastly, if you don't have the skills or time to tackle any of the other suggestions, you could always donate money. If there's a specific project that you've fallen in love with, see if it accepts financial donations and make one. If no single project has piqued your interest and you just want to support open source as a whole, look for an organization that matches your interests and then join it. Supporting open source doesn't have to be difficult!