10 Tips For Open Source Citizens
This post is part of a series called Open Source Citizenry in which we discuss ways to eliminate the barriers that developers and companies face to fully participating in the open source community.
You might think there's not really anything to being a good user of open source. Install the library, use it how you need it, and move on. And honestly, for the most part that's a fine thing to do. But if you want to be more than one of the silent users, if you want to help the projects you use just by using them, there are lots of ways to do it. You could become a vital part of pushing forward your favorite open source projects without ever altering a single line of code.
- Get Involved. This is the obvious first step: participation. Start building a presence on the mailing list, bug tracker or other community resources for your favorite open source projects.
- Respect the Gift. Remember that even when an open source library is causing you frustration that this is something that someone else built and released, free of charge, to try to help developers like you. Do your best to always stay civil and keep your comments constructive. Nothing takes the wind out of an open source project’s sails faster than harsh criticism. Harsh words can sometimes be enough to completely dissolve the creator’s interest in continuing the project.
- Respect the Resources. By and large open source developers aren’t getting paid to maintain libraries full time. If you feel like a project is too slow-moving, maybe there’s a way that you could help free up the creator’s time to get more done on the project (see tips 5-9).
- Respect the Chaos. If messages get lost in the shuffle, if an issue goes ignored for too long, bring it up again but do so cordially. There are often far more moving parts to popular open source libraries than anyone can perfectly keep track of at all times. Open source is, to some extent, a system of organized chaos, and you can’t reap the benefits without also sometimes experiencing the drawbacks.
- Become Community Support. If you’re a long-time user of a library and you know the ins and outs, it can be life-saving to project maintainers to have someone else answering basic questions on mailing lists and bug trackers. One of the hardest things about maintaining an open source project is keeping up with the sheer volume of communication that has to take place, and if you can ease that burden the project owners can focus more on code and less on support.
- Add Documentation. Many projects will have some kind of community documentation or wiki that can be modified straight from the browser. If you just did something interesting with the library or ran into a gotcha, document it on the wiki! If you know how to use a relatively obscure part of the libary, write it up! Every time someone can be pointed to a page on the wiki (or find it themselves) instead of asking the maintainer gives the project more time for development.
- Write Blog Posts. Even if a library doesn’t have a wiki, you can still blog about your interesting applications or a quick-start guide for various scenarios. These articles are often great teaching resources for people new to the project and can help immensely. If you do blog about a library make sure to let people involved with the project know either by a friendly message to the mailing list or by adding it to a wiki/community documentation system.
- Moral Support. Open source developers are people too, and one of the best ways to motivate them to keep going is to let them know that their work is appreciated. If a library saves you hours of work, send the project maintainers a note letting them know how much it helped. Knowing that a project is useful to others is a big motivator towards continued development.
- Thorough Issue Reporting. You will, of course, sometimes run into problems with an open source library. When you do, try to make the bug report you submit as detailed as possible, including stack traces and code snippets wherever possible. The fewer back-and-forth conversations you need to have for the maintainers to understand your issue the faster they will be able to find a solution.
- Become a Contributor. Of course one of the best ways to be a user of an open source project is to become a contributor to that project! Open source should be a vital piece of the professional experience of any software developer. Contributing patches to libraries you use every day is a win-win for all involved and not nearly as hard or scary as it might seem.
Ultimately, being a good open source citizen is about respecting what open source is, how it's made, and how you can help. Open source software is made by many; that's its beauty and its curse. If you can help bring more order to the naturally chaotic development process by adding documentation, fielding support requests or even just encouraging maintainers to keep going, you are becoming a vital part of the open source ecosystem and helping it to grow.