Today on IRC, I was asked how someone new to the project can get started working on Jenkins, when s/he has no particular preference or pet-peeve.

This is a good question for which the project should have a canned answer ready, so here is one approach — adopt a plugin!

Often, a Jenkins plugin gets developed by someone to scratch his own itch. That person shares the plugin with the community, and since it does everything he needs, he moves on to work on something else. Then another person starts using that plugin, comes up with an idea for improvement, implements that, and then moves on. Given that we have more than 900 plugins today, there are a plenty of plugins that are currently co-maintained by the community, which could really use a focused loving caregiver.

So why don't you adopt a plugin? You can pick up one of those plugins and act as a maintainer. You'll hear appreciation from people who are using that plugin, and most plugins are small and simple enough even for people new to Jenkins. Above all, working on plugins don't require much communication with existing developers and implicit processes, which is often difficult for new people to find out.

Here's how you can find a plugin to adopt. You can look at repositories that have most pending pull requests. Plugins with lots of pull requests likely could use some help, so check if anyone is actively working on it and talk to him, or if you don't see much activities from a single person, just go ahead and adopt the plugin.

Usage statistics has top-plugins500.svg (this is for the last month). Open that in Firefox, which lets you zoom in. Scroll all the way to the right, and you see popular plugins. Compare that with our GitHub repositories, and you can find popular plugins that aren't getting enough love.

Issue tracker is also a good place to look for a plugin in need of help. Every plugin has a separate component, so look at bugs and RFEs filed against those, especially with lots of votes. Fix a bug is great, but even just helping with the triage process would be highly appreciated.

Try adopting a plugin for a while, and when you get the hang of it, let the dev list know. Update pom.xml to have your name listed as a maintainer. Come join IRC. That way, we know who you are and how to reach you.

See, it's really not that hard. And there's something really satisfying in making things a little better and seeing happy users. Anyway, looking forward to working with you!

About the Author
Kohsuke Kawaguchi

Kohsuke is the creator of Jenkins.