Recently I received an email from an IT student asking the following: I recently submitted a pull request to one of your open source projects on GitHub. What can I do to get this pull request merged? The answer below may sound somewhat like a cop-out, or harsh (especially considering it was to a starry-eyed student trying to dip his or her toes into the waters of open source software contribution)... but I've found that honesty is the best policy, and the best way I can maintain good OSS software is to guard my (limited) time for OSS work vigilantly, and try to not allow sentiment force the merge of any kind of code, no matter how simple/small the change. Here is my reply:
Thanks for the email! I maintain over 100 different open source projects on GitHub, all in my spare time (which can be hard to come by with 3 kids, a full time job at Acquia, and a few other hobbies!). I spend a few hours per quarter on any given project. Some of the more popular projects have dozens of issues, PRs, and new comments that need to be read through to figure out what I need to these few hours on.
I usually prioritize by the following:
- Anything that's breaking current usage (e.g. updates that break things, changes to the software, major bugs).
- Bug fixes
- Easy to understand code optimizations or performance enhancements
- New features that would be useful for the majority of users
- Any other work (e.g. less widely-applicable new features, rewrites)
I'm not sure whether I'll be getting to [the project you indicated] within [the timeframe you indicated], but I wouldn't count on it—the key to getting open source contributions accepted is patience—I have a number of open PRs on other projects, some of which have been open years, others months, others shorter time frames. Unfortunately, since most OSS developers are like me (self-funded, work on things in free time only), there's no guarantee the work you do will be merged in any particular time frame (if ever!).
Thanks, Jeff Geerling