I found this article will be very useful for you people.
Article taken from http://nongeeksight.blogspot.com/
All Rights @ http://nongeeksight.blogspot.com/

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.

So Actually, there are plenty of ways to contribute without coding:

  • Submit bug reports
  • Suggest new features and options
  • Make other comments on how to improve the the quality of the program
  • Help write good documentation
  • Translate the documentation (and program text) into another language
  • Read exisiting documentation, follow the examples, and make corrections
  • Correct spelling and grammar mistakes in documentation
  • Develop spelling and grammar style conventions for documentors
  • Build a glossary of technical terms
  • Convert documentation into more useful formats (i.e. DocBook)
  • Create templates to write documentation in a WYSIWYG word processor (AbiWord, KWord) and XSLT to transform it into DocBook
  • Create diagrams, screen-shots, and graphics for documentation
  • Submit graphics (icons, backgrounds) to use in the program
  • Help other people learn how to use the program (answer questions on mailing lists or IRC channels)
  • Write an email expressing your appreciation for the programs you use
  • Send the programmers post cards
  • Send the programmers a virtual beer
  • Write your legislators about the concerns that Open Source programmers have with recent and upcoming legislation
  • Write book reviews and critiques
  • Write a book
  • Maintain a FAQ or HOWTO document
  • Help organize LUG events, including InstallFests, BugFests, and DocFests
  • Help write articles for the LUG newsletter
  • Help update the LUG web site
  • Help maintain a web site for an Open Source project
  • Design a better user interface for your favorite program (GLADE and Qt Designer are great for mocking up a new UI)
  • Run usability studies
  • Create validation or regression test cases
  • See how a program handles streams of random data
  • Package the application for a particular Linux distro (or other OS)
  • Get the program to compile on a new platform
  • Create a Linux advocacy web site (probably not so easy to do right)
  • Provide training to new Linux users
  • Read relevant standards and make sure the program follows them
  • Convince people to chose Open Source products when possible
  • Write up case studies of successful Open Source implementations
  • Send the programmers some money

Here are some suggestions if you want to start coding for an Open Source project:

  • Read a lot of code, and learn from that (I’ve never seen a book that stressed this enough, but it is critical, and you’ll read much more than you write, especially with Open Source)
  • When reading code, consult include files for info on library functions (Learn how to grep for the function or structure you are looking for)
  • Start small, with one-line changes to existing programs (You don’t have to understand too much to do this in many cases)
  • Write your own small programs just to learn the language and libraries
  • Start off commenting existing code where it needs it
  • Write some documentation on the architecture of the program
  • Learn how to use all the tools (CVS, diff, patch, libtool, automake…)
  • Experiment by making changes to your local copy of the code
  • Test your code thoroughly before you submit it
  • Adhere to the maintainer’s coding and formatting standards
  • Don’t get discouraged when your patches are rejected (they will be!)

Leave a Reply

Your email address will not be published.

Click to Insert Smiley

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepyDanceClapJumpHandshakeHigh FiveHug LeftHug RightKiss BlowKissingByeGo AwayCall MeOn the PhoneSecretMeetingWavingStopTime OutTalk to the HandLoserLyingDOH!Fingers CrossedWaitingSuspenseTremblePrayWorshipStarvingEatVictoryCurseAlienAngelClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicNerdPartyPirateSkywalkerSnowmanSoldierVampireZombie KillerGhostSkeletonBunnyCatCat 2ChickChickenChicken 2CowCow 2DogDog 2DuckGoatHippoKoalaLionMonkeyMonkey 2MousePandaPigPig 2SheepSheep 2ReindeerSnailTigerTurtleBeerDrinkLiquorCoffeeCakePizzaWatermelonBowlPlateCanFemaleMaleHeartBroken HeartRoseDead RosePeaceYin YangUS FlagMoonStarSunCloudyRainThunderUmbrellaRainbowMusic NoteAirplaneCarIslandAnnouncebrbMailCellPhoneCameraFilmTVClockLampSearchCoinsComputerConsolePresentSoccerCloverPumpkinBombHammerKnifeHandcuffsPillPoopCigarette