Monday, January 28, 2008

5 Ways to Contribute to Open Source Projects Without Coding

Maybe you've seen many good Open Source projects that are no longer maintained. One of the many reasons for that may be lack of contribution. In fact, there are many one-man projects out there. Most of any program's users are just that, users, not developers. Nevertheless, average users still can contribute to Open Source programs to make them better.

I made a search for ways to contribute before writing this and I didn't find much. However, I found two very good articles: "How to Contribute to Open Source Without Coding" and "HOWTO Pay for Free Software". These articles explain how to contribute to Open Source. I summarize the information in this post, with a little info added by me.
  1. Contribute quality: help to make a better project, better looking and with new features
    • Submit bug reports
    • Suggest new features and options
    • Suggest ways to improve the framework (maybe comparing it to similar OS or comercial projects)
    • Submit some artwork (icons, backgrounds, logos) to use in the program
    • Correct spelling and grammar mistakes in documentation
    • Help maintain a web site for an Open Source project

  2. Contribute documentation: Some Open Source projects have a poor or insufficient documentation
    • Help write good documentation
    • Translate the documentation (and program text) into another language
    • Read existing documentation, follow the examples, and make corrections
    • Create diagrams, screen-shots, and graphics for documentation
    • Develop spelling and grammar style conventions for documentors
    • Build a glossary of technical terms (so non geek people can understand)
    • Convert documentation into more useful formats (i.e. DocBook)

  3. Contribute support: everybody need it at least once. Let programmer do their work while you help other people
    • Answer questions on forums, mailing lists or IRC channels
    • Contribute to (or start) an online support group
    • Help other people learn how to use the program (or programming library)
    • Write HOWTOS and post them in related forums or your own blog (you can find more info in "How To Write a Good Howto" post)

  4. Contribute money: many Open Source projects have a donate button or a shop where to buy related products, but there are other ways to contribute money
    • Send a developer, project or company some money
    • Buy a Free Software product, or associated products
    • Hire Free Software developers
    • Contribute hardware
    • Contribute bandwidth
    • Advertise in their web site if they show ads
    • Buy products from companies that support Free Software

  5. Contribute publicity: If the project gets popular there will be more people wanting to contribute
    • Package the application for a particular Linux distro (or other OS)
    • Convince people to chose Open Source products when possible
    • Write reviews
    • Write about new ways of using an Open Source program

  6. Contribute appreciation: it's an extra way to contribute but may be the most important
    • Express your appreciation to developers (through email or forum post)
    • Send the programmers post cards
    • Give a project or developer a gift (some have wish lists for this)
    • Be polite when reporting bugs or asking for new features; developers has no obligation to do it after all
Although most of the list is self-explanatory I plan to post more in depth info in the future.

Finally, this list is in no way complete. You can read the mentioned articles for more information or add more tips in the comments.

2 comments:

dannybuntu said...

I wish imagination could count as a contribution. Because that is the only thing I can contribute.

For example: I am very impressed with the Tremulous Game Development Team. They were able to make a game that instantly made waves(1 to 2 years after initial release) - now counting more than 100 game servers every minute.

I wish to make a game and I have a concept - very original concept - but do not know how to make it come to fruition. I am not a programmer nor an artist. I will be posting details soon.

Great article Rakesh

Debaira said...

Greetings!

Thanks! I appreciate you for being interested in Game development.

Rakesh