My main motivation is altruism: I do not need to get anything for my contributions so long as other people benefit from them. I also perform much other community service outside of software development for the same reason. avoidance of other work Give and take! If one is willing to take help from the lists when needed, one should be willing to give help when one can. Its the way the cycle is supposed to work!!! Nature abhors a vacuum. I'm just being natural, and poor docs are better than no docs at all. Work with people around the world with similar interests. Why not contribute by helping if I can (which unfortunately is seldom enough)? I use a lot of open-source appliances built by the community, so I really want to give something back :) Just having fun doing these things. By getting language standards adopted, content in the minor languages will be better found on the Internet I want to contribute something back and I do less damage writing than hacking Improving the software (fixing bugs, adding features) so that I find it easier and more enjoyable to use, and better suited to the work I do with it. Trying to make the world a better place. procrastination One day one of the muppets i'm helping is going to write code i'd have to fix, so it'll be easier if it ws done in a way i was already familiar with. I just like to help others. Discovering how people are using the software Actually, it's just fun. lots of free time :) I use it myself, too. A tiny amount of guilt. RT charges for commercial support, but I didn't need/buy any. Maybe this is the same as community building, but contributing back is a payment in-kind, that frees the developers to do more development. Sometimes helps me to understand something better. It often prompts me to look at the source code for the item in question and understand how it works. communicate with other people that share yours goals for me it was a long trip to learn what I share now, and when I feel that a documentation is very needed (many people in my environment are asking for it) then I prefer to write it in a public wiki rather then personal mails. Even if the first versions circulate only among my friends. It's a good way to get ideas validated - if I write something that's incorrect, incomplete or just plain stupid somebody will be sure to let me know! It helps people out. It's a nice thing to do. I'm amazed that isn't included anywhere on the list of reasons. Indeed, the one about community building itself has this 'what will I get out of it?' feel. What I meant was: The people who use the software are a community. We contribute not to draw more into the community, though that's a nice thing, nor because we want to set standards, but because we want to take care of each other. make the world a better place. Set an example to others I'm usually talking about problems I've run into myself and I figure if I had that issue someone else might also. Get job offers from commercial entities as a result of name recognition / reputation building. It's a skill I have - I'm not a great developer but can write well. It's doing my part. To provide information to potential developers in the hope that they will improve the software in future Giving back to the community - the number of times I've personally been helped by something an OSS volunteer has written, vastly outnumbers my efforts to help others, and it sucks to solve problems that must have already been solved countless other times by other people. Somewhere between "community building" and "mutual aid" is the general concept of "making the web a better place" and just, well, karma; by passing on any information you may have laboured over yourself, that could save someone else time. Or by helping point someone in the right direction which takes you a minimal amount of time, but saves them a lot. the obvious need for additional support for academic and small-business users of open source software, given their limited budget and staffing Low barrier to entry in a new project. Self-Education - I learn the software during the documentation phase - that is - I use "while explaining, I understood myself" technics. Curious to see what joining an international project would be like. Build our knowledge base (we're curious) and reputation. These things are the currence the Open Source community deals with. The more we give away to more we are worth. In the end it can translate into employment and cash though that is not the primary goal. Knowledge should be available to all on a global level. Proliferation of knowledge is a great cause in and of itself. simply because I can contribute Free Software, Free Society... To gain insight into how people use software and where they run into problems. // // To provide feedback from users to developers. Help people joining Gnu/Linux community Sick of hearing the same questions asked over and over. Fun! Advocacy - to increase use of the software project. I enjoy helping people with things that I'm good at. Correctness: I like to see things correct and not inaccurate or incomplete. One major reason that I write documentation is so that people stop bugging me to walk them through how to do something. I usually write a fully comprehensive document that will answer any and all questions and guide the reader step-by-step through the task at hand. All the while, explaining why the instructions are telling them what to do. (So that they can make informed choices, etc.) The biggest motivation to me is making technical information clear and readily understandable so that people that come after me don't have to waste the same amount of time trying figure out how to do something that could have taken much less time if the documentation had been clear and complete. To help promote Open Source Software buy making it easier for individuals to use. Learn about specific technologies. to explain the code and features i have implemented myself I wrote the software, I'd better help people use it. Further reference when I need it! I often bang my head against a problem for hours, so when I finally figure out what's going wrong I write it down in my blog/web pages/whatever. The next time I come across the problem, I either remember that it happened before and look for it on my site, or Google points me to my site. :-) I like to help people, and documentation and mailing lists help people. Social (Definition: People who aren't the type to just "hang out" doing nothing, and so gather in IRC, web forums, mailing lists, etc. -- or even in person -- to work on a project with friends, and/or make new friends.) I hate Microsoft. Learn new technology I guess I am a person who just wants to help if she can: I although volunteer in other, not computer-related fields like community work ect. - I enjoy being helpful and helping other people to finde solutions and alternatives for themselves It's fun. I'd rather code than write formal docs, but if nobody does it, I do. The software isn't finished until it's documented. Docs have a heavy bearing on project advocacy. WTFM rather than RTFM. Reminds me of solutions to problems I've had It is also a great way for making friends with people who have common interests. Vaguely related to reason 2 -- it's all very well to learn something. But I find that to truly understand it it helps a great deal if you've written about it. The act of structuring your thoughts about something before (or during) writing about it forces you to make sure that you do actually understand what you think you understand. fun Pay it forward" -- see Wikipedia entry. I use a lot of free software. By making a contribution to one project I feel I'm "paying forward" for those other projects where I don't contribute much or at all. Open source documentation generally sucks. By contributing, I'm giving back to the community that I take from Using free software gives me a feeling of freedom and empowerment. I don't code, so I give back to the distro developers and community by providing tech support and wiki how-tos. // simply thank you on the end is quite enough ;) Obligated: it is my assigned rotation to handle unanswered support/questions (for open source project). // // Specialty: My specific area of expertise on a broad forum (so I feel like I should assist). // // Personal: postings or questions on "public" forum may be targeted to me personally -- so I feel obligated to assist. Sometimes I contribute because other people nag me to. For example, quite a few of my family members now use Ubuntu. I'll translate applications that my family members complained about because they were so poorly translated. // // Also, I like to document thins no-one ever documented before. This is usually a short tutorial about a problem that stumped me for several hours and that has little to no documentation. Python-gstreamer stuffers from poor documentation. I hope that my tutorial will save someone else from the same 6+ hours of googling. I enjoy communicating with people that live in different cultures. I like learning about other ways that someone might use the software. Filling gaps in documentation so that people in the future do not expirience the frustration that I did while trying to solve the same problem. helpful for society // free documentation helps poor people especially in developing countries A lot is important, but gratitude feateres highest, though your scoring did not allow this. I have a wonderful free system due to the good work of others, work I can never match due to my lack of knowledge. Karma - doing good merely because I can. Lack of proper documentation. Low Budget and low end hardware are run and supported by open source which make them usable for longer time. Contribute something back to the free software/open source community, as I am not a programmer trying to make the world better Sharing knowledge freely helps us all Helping others is important to me, whether in person or online. Appreciation of the quality of the project and the desire to help it receive the recognition it deserves. Promoting the use of my language. i just want to help :) Own need. Promote Linux if I contribute I could benifiet by being up with the latest documents For questions which are asked repeatedly, a wiki page that I can refer people to on forums or mailing lists means I can simply refer them to a page instead of repeating directions. To help the project itself. // Good Documentation=More developers=better project It provides a way to have the technical data *I* can use later. Sometimes I forget the details. Participate on the way the software turns in the present and in the future. Needed to learn how to use the technology, so I wrote documentation (so I remember what I did) Help others, since others help me when I need help, especially Linux Public documentation is easier to find and easier to maintain (as others fix one's own errors). I frequently use documents I was the initial author, and find them in better, more useful state. Mutual Aid (Karma?) is a big one It's part of my personality to give advice. Mozilla produces Firefox, and Firefox is *good*. I want to see good things be successful, and the way I do this is by writing various docs (at least originally -- I've not done as much lately) and writing code to see it succeed. // // Also, initially it was some amount of gratitude -- but not for help received, just for Firefox being available and free. I owe a lot to the community that provides the tools I use to make my (good) living * It helps locate usability and other bugs to report back to the dev team. // * I helps make a better product When I decide to write on something, I have to prepare even more thoroughly. It's Fun:) Possibly contributing a quality piece if software / documentation to a field in compuer environments (security) that generally, put blantly, suck. Helping out is spiritually important to me. Also, the more people, institutions, corporations, schools, etc. use free and open source software the better it becomes which is better for everyone (including me) Extending the value of the free concept of free and open source software. Support and advice should also be free and open source (and freely available). Urge to collect and organize knowledge, just like any other packrat tendency Wanting to increase the user base of the software by making it easier to learn. To reduce the burden of providing support on the project authors themselves, so that they can focus on code. To help steer the project in the right direction. I am an independent software developer myself. Helping in a community (even wrt competitor's projects) works better than advertisements (credibility, reputation, word of mouth, grassroots support).