Sunday, December 30, 2012

Weekend Project: Become a Linux Contributor

http://www.linux.com/learn/docs/683712-weekend-project-become-a-linux-contributor


 lot of you fine readers are already contributors to your favorite worthy Linux projects. I'll wager there are also some who would love to contribute in some way, but aren't quite sure how. So here are a few ideas to get you inspired and, hopefully, involved.

http://upload.wikimedia.org/wikipedia/commons/6/63/USCurrency_Federal_Reserve.jpgMoney

Many projects accept donations of money. They may have wish lists of hardware for testing, or other items. A little bit is better than zero, so don't feel badly if you can only give a little.  I suggest focusing on a limited number of projects that you can support regularly, rather than trying to spread your finances too thinly.

Kindness

This is a lot more valuable than you may think. I'm not sure where the "you must have a hide this thick to enter" ethos came from, but it's bizarre and it doesn't work. Most people prefer to be treated with courtesy and friendliness, and that goes a long way in building a friendly, productive atmosphere. How to Protect Your Open Source Project From Poisonous People is a fast introduction to the subject.
If you enjoy encouraging people, and helping groups work together, you just might be a born community manager. The Art of Community by Jono Bacon is an excellent resource for anyone nutty enough to think they might want to be a Linux cat-herder.

Help Noobs

Every day there are hordes of new Linux users, and users new to a particular piece of Linux software. Having the patience to help newbies is incredibly valuable, and there are a lot of fairly simple ways to do this without it turning into a time sink. Your #1 resource is a good FAQ. It's not that hard to assemble and organize one from forum posts and IRC discussions, and it's a valuable way to help the developers of your favorite projects. Answering questions is a lot easier when you can point people to helpful resources.

Learn to Code

It all starts with the code, and all you need to learn is time and effort. I suggest starting with Bash shell scripting, codebecause it is the default Linux shell, and you'll need to know it no matter what other languages you learn. Don't make yourself crazy trying to decide which scripting or programming language to learn first-- just pick one. Everyone has their own ideas which ones are essential, and you can overthink yourself right out of even trying to start. Javascript, Python, Ruby, and PHP are all popular, fairly easy to learn, and well-documented. C is an oldtimer that is not going away anytime soon. Basic programming concepts are the same no matter what language you're using, so as soon as you develop some proficiency with one it's easier to learn additional languages.

Web Design and Marketing

Don't let the word "marketing" turn you off because I'm not talking about selling a project, but rather presenting its best face to the world. A lot of Linux and FOSS projects have Web sites that don't publish useful information. Like what the software does, in plain language. News and howtos are jumbled randomly into single blogs, or there is little useful communication of any kind. A project Web site doesn't need to be fancy, but it does need to be informative, and organized enough that interested visitors can learn cool things about the project.

Artwork and Multimedia

There are a lot of generous artists contributing beautiful work to Linux projects. Appearance does matter-- we stare at these dang things all day long, so they might as well look nice.

Encourage the Boss

If your business relies on Linux software, talk to the boss about supporting it in some way.

Write Howtos

The most brilliant software will just sit there if nobody knows how to use it. "Read the code" is not a substitute for good howtos. (Bruce Byfield offers some guidance on becoming a professional technical writer in Careers in Linux: Technical Writing.)

Users into Contributors

Turning users into contributors is what makes Linux and FOSS work. It takes a lot of different roles to support any software project, so don't be shy-- somewhere out there is the right one for you, where you can do satisfying work and make a difference.

No comments:

Post a Comment