8 ways to contribute to open source when you have no time

Find the time in your busy life to give back to the projects you care about.
630 readers like this.
8 ways to contribute to open source when you have no time

Opensource.com

One of the most common reasons people give for not contributing (or not contributing more) to open source is a lack of time. I get it; life is challenging, and there are so many priorities vying for your limited attention. So how can you find the time in your busy life to contribute to the open source projects you care about?

In the interest of full disclosure, I should warn you that I was late getting this article to the editors because I couldn't find the time to work on it. Take my advice at your own risk.

Figure out what you care about

The first step in contributing is to figure out what exactly you're making time for. Do you have a project of your own that you want to work on? Is there a specific project that you use that you want to help with? Do you just want to do something? Figuring out what you're making time for will help you decide where in your life's priorities it belongs.

Find alternate ways to contribute

Writing a new feature can take many hours of design, coding, and testing. It's not always easy to work on that for a few minutes, step away, and then pick up where you left off. If you never get more than 30 minutes of uninterrupted effort, you might find yourself pretty frustrated if you try to take on a big task.

But there are other ways to contribute that might satisfy your need to give back within the time you have available. Some of them can be done in quick spurts from a smartphone, which means you can take the time you used to spend avoiding people on your commute and put it toward your open source contributions. Here's a list of some things that can be done in small chunks:

  • Bug triage: Do all of the bug reports have the information necessary to diagnose and resolve them? Are they properly filed (to the right area, with the right severity, etc.)?
  • Mailing list support: Are users or other contributors asking questions on the mailing list? Maybe you can help.
  • Documentation patches: Documentation can often (but not always) be worked on in smaller chunks than code. Maybe there are a few places you can fill in. Or maybe it's time to run through the docs and make sure they're still accurate.
  • Marketing: Talk about your project or community on social media. Write a quick blog post. Vote and comment on news aggregators.

Talk to your boss

You might think you can't work on open source projects during the workday, but have you asked? Particularly if the project somehow relates to your day job, you might be able to sell your boss on letting you make contributions while at work. Note that there may be some intellectual property issues (e.g., who owns the rights to the code you contribute during working hours), so do your research first and get the conditions in writing.

Set deadlines

The best time management advice I ever received can be summarized with two rules:

  1. If it's going to get done, it has to have a deadline
  2. It's okay to change a deadline

This article had a deadline. There's no particular time sensitivity to it, but a deadline meant that I defined when I wanted to get it done and gave the editors a sense of when it might be submitted. And yes, as I said above, I missed the deadline. You know what happened? I set a new deadline (second time's a charm!).

If something is time-sensitive, set the deadline well ahead to give yourself some space if you need to push it back a time or two.

Put it on your calendar

If you use a calendar to schedule the rest of your life, scheduling some time to work on your open source project may be the only way to get it done. How much time you schedule is up to you, but even if you block off only one hour once a week as open source time, that still gives you an hour a week of open source time.

And here's a secret: It's okay to cancel on yourself sometimes if you need the time to do something else—or do nothing at all.

Reclaim unused time

Are you bored on your commute? Are you having trouble falling asleep at night? Maybe you can use that time to contribute. Now I happen to think the "work 169 hours a week at full tilt" lifestyle is a terrible, terrible thing. That said, some nights you just can't fall asleep. Instead of lying in bed, seeing what your Twitter friends on the other side of the world are up to (which I do), maybe you can work on that contribution you've been meaning to get around to. Just don't make a habit out of forgoing sleep.

Stop

Sometimes the best way to contribute is to not contribute for a little bit. You're a busy person and no matter how awesome you are, you can't avoid your physiological and psychological needs. They will catch up to you. Taking a little time to refresh yourself might improve your productivity enough that you get stuff done faster, and suddenly there's time for you to make those open source contributions you've been meaning to get around to.

Say "no"

I am bad at this. So very bad. But none of us can do everything we'd like to do. Sometimes the best thing you can do to contribute is to stop contributing in the same way you have been—or not contribute at all (see above).

Several years ago, I led the Fedora documentation team. The team's tradition was that the leader would offer to step aside at the end of each release. I had done that a time or two and nobody stepped up, so I remained in the role. But after my second or third release, I made it clear that I would not be continuing as the team lead. I still enjoyed the work, but I was working full time, in graduate school half time, and my wife was pregnant with our first child. There was no way I could consistently give the level of effort that was required, so I stepped aside. I continued to contribute, but in a less-demanding capacity.

If you're getting to the point where you struggle to find the time to meet your obligations (self-imposed or not), then perhaps it's time to reconsider your role. This can be especially hard with a project that you founded or have made a considerable investment in. But sometimes you have to—for your own good and that of the project.

What else?

How do you find time to make your contributions? Let us know in the comments.

User profile image.
Ben Cotton is a meteorologist by training, but weather makes a great hobby. Ben works as the Fedora Program Manager at Red Hat. He is the author of Program Management for Open Source Projects. Find him on Twitter (@FunnelFiasco) or at FunnelFiasco.com.

2 Comments

This is good advice. I think initial contact on a mail list can be even more passive than you suggest. Simply reading the list on a regular basis is a good start. If someone has a complaint or question, start out by making sure you understand their question. If it's a possible bug, see if you can verify it, and if so, simply verify it on the mail list. The next step is to help someone to file the bug report, or file it yourself. You may see someone answer a question for the list, yet you can help clarify the answer if you feel the wording is unclear.
We all waste time, by inefficiently scheduling tasks, or maybe not scheduling things at all. We all have times when we are left waiting somewhere, so you can anticipate that waiting by being ready to fill in that empty time. Maybe carrying a laptop along would help, but if that's not feasible, paper and pencil can be used to work through some conceptual issue, at least to help organizing it mentally. Sometimes you have reached your limits to how much of some task you can stand, so take a break with some open source project work.

That's a great point, Greg. For one project, probably a good third of my contributions over the years has been as a mailing-list-to-Bugzilla interface. Bug tracking systems can be intimidating to casual users, so reporting bugs on someone's behalf is not only useful to the code, but also to the community.

In reply to by Greg P

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.