6 Easy Ways To Get Started Programming Open Source

by Jess Johnson in Fun Projects

Open source projects can be a good way to geek out and do what you love, and having a side project can help improve overall job satisfaction, keep you at the top of your hacking game, and can often lead to other opportunities. The problem is a lot of people have trouble making that first step because they don’t really know where to start. Here are 6 easy tips for getting started with F/OSS.

FOSS Logos1. Get Involved With the Projects You Use

This may seem obvious, but don’t try to jump into a project that you don’t use and don’t know anything about. Make a short list of open source software projects you might like to contribute to based on the software you are already using. Don’t forget about the potential for contributing to libraries and modules – there are advantages to developing on a project used by other developers. Do you use a framework, file converter, graphing library, or build tool that is open source and in need of bug squashing, optimization, or new features? These are prime candidates for a first F/OSS project.

2. Do What You Love

Look for a place to contribute where you can do something you are genuinely interested in. If you have a special place in your heart for parsers, a compiler isn’t necessarily the first project you want to start with. Don’t rule out parsing configuration files in a webserver or build tool.

3. Learn the Tools

Every project uses different methods for version control, bug tracking, patch submission, coding convention, feature requests, user troubleshooting issues, building, and development discussion. Take the time to learn about them and how they work. A developer mailing list is not the place to ask how SVN works. A user forum is not the place to submit a bug report. Reading the developer docs and learning the tools saves everybody time and gives contributions a better chance of being accepted.

4. Watch the Project’s Social Dynamic

Aside from the technical considerations, it’s important to learn about the social dynamic of the project. Who are the core maintainers and how do they interact with people? Who are the more vocal people in the project’s community, and what kind of tone do they set for the project? Some projects have a reputation for being open and helpful to new contributors, and others have almost a tyrannical dictatorship mentality. Spend enough time lurking on the development mailing list, IRC channel, or wherever the devs go to get a feel for the social atmosphere.

The social dynamic may seem like a small consideration, but it can mean the difference between becoming a successful contributor and walking away in frustration. One of my first attempts at contributing to F/OSS, I wanted to improve the playlist format of a music player. So I sent off an email to the dev list asking the devs what they thought of the idea and offering to code something up.

Instant flamewar. When I came back to the list the next day, there were literally hundreds of messages – some in favor of the idea, many saying that the existing format is fine, and who is this new kid anyway? The whole thing had degenerated into a flamewar by the time I saw the responses to the original question.

I made the mistake of not paying enough attention to the social dynamic. Browsing the list archives would have told me that that particular project wasn’t generally open to ideas from people other than a select few core contributors, and especially from people who hadn’t already made smaller bugfixes first. Which brings up the most important tip in this list – start small.

5. Start Small

Start small both in terms of the contributions you make and the size of the project. Making smaller bugfixes and implementing smaller features helps build a reputation, and gives you a chance to get to know the code base. Both of these things will make it easier to get patches approved.

On a smaller project you can be productive much more quickly because it takes less time to learn the existing codebase and toolchain. You will also have better access to the core developers. Also, don’t forget that updating documentation and well-researched bug reports are contributions too.

6. Start Your Own Project

One of the easiest ways to get started with open source is to start your own project. A Firefox extension, WordPress plugin, or an Emacs mode are all good ideas for projects that are quick to write, but will often get a nice number of users with just a bit of promotion.

Before starting your own project, have a look around to make sure there aren’t any existing projects that do the same thing. You might be surprised at the number of projects out there that just need a little bit of love and attention to get them usable.

There it is. 6 easy tips for getting started with open source software. Happy hacking!

# October 31, 2008 9 Comments

Discussion on
6 Easy Ways To Get Started Programming Open Source

by Jess Johnson in Fun Projects

9 Comments

  1. gravatar
    breakup_helper
    7:46 pm UTC, 2008年11月01日
    Interesting stuff...Thanks. Keep it up!
  2. gravatar
    jryan
    5:31 pm UTC, 2008年11月03日
    What distro do you currently use. I noticed in the "About" section that you enjoy using Linux.
  3. gravatar
    Jess Johnson
    8:28 pm UTC, 2008年11月03日
    @jryan I'm using mostly Suse at the moment, and in the past have used primarily Red Hat and Mandrake. I'm fairly comfortable with the command line, so to be honest I don't notice a whole lot of differences between the distros I've used. I also try to minimize the amount of effort I put in to install and config issues by just buying my boxes with linux preinstalled. I guess I've lost most of my patience for and wonder at fiddling with installs and setting up the configs - although it has gotten easier in recent years, I still try to avoid it and focus on, well...just getting shit done.
  4. gravatar
    jryan
    10:05 pm UTC, 2008年11月03日
    I'm glad I found your blog. I found it by searching for ways to get started programming. I'm fairly new at programming (about a year). unfortunately I am learning on my own since I can't afford to go to College for Comp Science. I have a big family and responsibilities that won't allow it. Let's just say I'm a late bloomer (36yrs young) to hacking (in the good sense of course). I look forward to learning and reading your posts. Thanks
  5. gravatar
    Jess Johnson
    10:19 pm UTC, 2008年11月03日
    @jryan Its never too late to start doing something you love, and self-taught programmers with a lot of motivation can do some amazing things. Also the number of free online programming classes these days is amazing. I've been meaning to do some of MIT's open courses as for a while, but just haven't gotten around to it yet.
  6. gravatar
    Cesar B. aka the Mover
    2:36 pm UTC, 2008年11月05日
    I really liked your blog. Very useful information, I read it detail, also book-marked it and will be back in the future to read some more of your interesting posts ! keep up the good work. :)
  7. gravatar
    ibrahim mohd
    1:10 am UTC, 2008年11月23日
    This is really useful blog thanks man ..
  8. gravatar
    Christopher
    5:24 pm UTC, 2011年11月15日
    Nice Post! I want to know about the ways of monetizing a Open Source Project? just wanted to know though i am not a serious programmer.
  9. gravatar
    Shridhar Rathi
    6:13 pm UTC, 2012年04月12日
    A very nice article. I was looking on how to start contributing to open source and this article has given a very good direction on how to start it. Thanks Jess !!

Leave a reply

AltStyle によって変換されたページ (->オリジナル) /