Daniel Doubrovkine bio photo

Daniel Doubrovkine

aka dB., @awscloud, former CTO @artsy, +@vestris, NYC

Email Twitter LinkedIn Github Strava
Creative Commons License

If you made any significant, high quality, contribution to one of my open-source projects, and have a decent contribution history on Github, I will ask you to join as a co-maintainer. In some ways, this ask is a non-automated, higher touch, softer implementation of the Moya Contributing Guidelines.

You will typically get the following note.

Thanks for the contribution! Would you like to help out with project maintenance? Maybe make the next release?

For Ruby projects I may add a note along the lines of drop me an email with your rubygems username/email.

Some examples of this in grape#1803, open-weather-ruby-client#20, iex-ruby-client#63, slack-ruby-bot-server#95, mongoid-history#202, strava-ruby-cli#5, and mongoid-scroll#20.

Why do I ask?

My goal is to reduce bus factor, and completely work myself out of the maintainer job, especially if I am the only one on record. Adding maintainers distributes workload, and gives opportunity of ownership to a new person that is likely more motivated than me - after all, you’ve just made a significant contribution! In the best case scenario I’ll be able to step back from being the point-person on a project. The worst case is that you will make a release, saving me a little bit of time.

Some of the best examples of when this worked well include Michael Herold becoming the de-factor owner of Hashie, a top 100 most popular Ruby gem, and Daniel Widdis taking over Oshi, the now-default mechanism for Java projects to obtain OS and hardware information natively.

What are the expectations of a new maintainer?

In short, none. I have no expectations, except not to break things on purpose, help out by sharing some responsibilities, and add more people, especially if I get run over by a bus. You can just be a backup plan. Therefore, I do not expect you to spend any of your time on any of the projects, except if you want to. All my asks are nice-to-have’s, time permitting.

  • Make releases whenever it feels like it, often self-interested when you need one.
  • Review other people’s pull requests, merge, reject and comment.
  • Pay attention to new issues or questions, comment, resolve, discuss and steward any discussion.
  • Engage future active contributors as maintainers.

Why should you say “yes”?

I think you should say “yes” to joining any well-maintained open-source project as a co-maintainer. Aside of giving back to the community, OSS maintenance is a great learning opportunity. A large part of my own career was been built around work on open-source, mostly on projects that I didn’t start, including Ruby Grape and Hashie. There’s nothing to lose, and a lot to gain in terms of personal and professional development.