One really helpful and common way to contribute to an open source project is by answering questions.
People who use an open source program often ask questions on:
- IRC, a real-time chat system, where people typically expect to wait 30 seconds to 5 minutes for an answer.
- Mailing lists, where typically people expect to wait between 30 minutes and two days for an answer.
- Q&A websites and forums, like askubuntu.com and Stack Overflow, where people typically wait 30 minutes to two days for an answer.
Users of open source ask questions for any of the following reasons:
- The program has a bug, and they aren't sure if they are simply using the program wrong.
- The person is in a rush (for example, a scientist trying to visualize their data under a deadline) and would like someone knowledgeable to help them rather than spend lots of time reading documentation.
- The person is not a native speaker of English, and the program is easiest to use if you know English well.
- Or any other reason!
How it helps
When you answer questions, you make people that one person using the software happier!
One great thing about doing community support is your effort pays dividends. If you help people on IRC, other people reading the conversation learn how to solve the problem, too. If you answer in the mailing list, or on a web forum, the conversation is available for anyone else to find with a web search engine or by looking within the archives. If you find yourself answering the same questions again and again, you can tidy up your answer and put it on a web page (like your personal blog, or a project's wiki) to save time when the same answer needs to be given to someone new.
Helping other people is a great way to learn more about a program. While helping someone answer their question, you typically learn more about how the software works, and you see how different people's computing environments can change how the program works.
You also have fun chatting with people! For example, you can try to help people in a language you're learning, like Spanish. Then you get to learn Spanish online slang as well as practice your language skills.
Beyond all that, you make it easier for people to choose to use all open source software. Many people care about the freedoms behind free and open source software, and so being able to properly use an open source program to get their tasks accomplished is a true gift!
How to get started
- Think of a program that you use, or you want to use.
- Find its mailing list or IRC channel or web forum.
- Look for a question that seems possible to answer.
- Talk with the person who asked the question, and provide whatever you can as an answer. You don't have to know the answer yourself; you can use some tricks to find the answer, such as:
- Try to reproduce the problem that the person is having on your own computer.
- Search the web to see if someone else has already written out the answer.
- Ask the person what they are really trying to do. For example, someone might complain that they don't know how to find the "menu bar" in an application, but what they are really trying to do is open files, and the program in question might have no menu bar but only have a keyboard shortcut for opening files.
Appendix: Inspirational quote, and recommended reading
I had been doing technical support, particularly on mailing lists, for about two years, when I first started attending technical conferences. Those first few years were a lot of fun. Idiots would come onto a mailing list, and ask a stupid question that a thousand other losers had asked before them. If they had taken even two minutes to just look, they would have found all the places the question had been answered before. But they were too lazy and dumb to do that.
Then I attended a conference, and discovered a few things.
First, I discovered that the people asking these questions were people. They were not merely a block of monospaced black text on a white background. They were individuals. They had kids. They had hobbies. They knew so much more than I did about a whole range of things. I met brilliant people for whom technology was a tool to accomplish something non-technical. They wanted to share their recipes with other chefs. They wanted to help children in west Africa learn how to read. They were passionate about wine, and wanted to learn more. They were, in short, smarter than I am, and my arrogance was the only thing between them and further success.
-- Paul Frields.
Read more in Part VII of Open Advice.