[openstack-dev] Interested in attracting new contributors?

Adrian Otto adrian.otto at rackspace.com
Wed Feb 12 19:48:19 UTC 2014


On Feb 12, 2014, at 10:13 AM, Ben Nemec <openstack at nemebean.com>
 wrote:

> On 2014-02-12 09:51, Jesse Noller wrote:
>> On Feb 12, 2014, at 8:30 AM, Julie Pichon <jpichon at redhat.com> wrote:
>>> Hi folks,
>>> Stefano's post on how to make contributions to OpenStack easier [1]
>>> finally stirred me into writing about something that vkmc and myself
>>> have been doing on the side for a few months to help new contributors
>>> to get involved.
>>> Some of you may be aware of OpenHatch [2], a non-profit dedicated to
>>> helping newcomers get started in open-source. About 6 months ago we
>>> created a project page for Horizon [3], filled in a few high level
>>> details, set ourselves up as mentors. Since then people have been
>>> expressing interest in the project and a number of them got a patch
>>> submitted and approved, a couple are sticking around (often helping out
>>> with bug triaging, as confirming new bugs is one of the few tasks one
>>> can help out with when only having limited time).
>>> I can definitely sympathise with the comment in Stefano's article that
>>> there are not enough easy tasks / simple issues for newcomers. There's
>>> a lot to learn already when you're starting out (git, gerrit, python,
>>> devstack, ...) and simple bugs are so hard to find - something that
>>> will take a few minutes to an existing contributor will take much
>>> longer for someone who's still figuring out where to get the code
>>> from. Unfortunately it's not uncommon for existing contributors to take
>>> on tasks marked as "low-hanging-fruit" because it's only 5 minutes (I
>>> can understand this coming up to an RC but otherwise low-hanging-fruits
>>> are often low priority nits that could wait a little bit longer). In
>>> Horizon the low-hanging-fruits definitely get snatched up quickly and I
>>> try to keep a list of typos or other low impact, trivial bugs that
>>> would make good first tasks for people reaching out via OpenHatch.
>>> OpenHatch doesn't spam, you get one email a week if one or more people
>>> indicated they want to help. The initial effort is not time-consuming,
>>> following OpenHatch's advice [4] you can refine a nice "initial
>>> contact" email that helps you get people started and understand what
>>> they are interested in quickly. I don't find the time commitment to be
>>> too much so far, and it's incredibly gratifying to see someone
>>> submitting their first patch after you answered a couple of questions
>>> or helped resolve a hairy git issue. I'm happy to chat about it more,
>>> if you're curious or have any questions.
>>> In any case if you'd like to attract more contributors to your project,
>>> and/or help newcomers get started in open-source, consider adding your
>>> project to OpenHatch too!
>>> Cheers,
>>> Julie
>> +10
>> There’s been quite a bit of talk about this - but not necessarily on
>> the dev list. I think openhatch is great - mentorship programs in
>> general go a *long* way to help raise up and gain new people. Core
>> Python has had this issue for awhile, and many other large OSS
>> projects continue to suffer from it (“barrier to entry too high”).
>> Some random thoughts:
>> I’d like to see something like Solum’s Contributing page:
>> https://wiki.openstack.org/wiki/Solum/Contributing
>> Expanded a little and potentially be the recommended “intro to
>> contribution” guide -
>> https://wiki.openstack.org/wiki/How_To_Contribute is good, but a more
>> accessible version goes a long way. You want to show them how easy /
>> fast it is, not all of the options at once.
> 
> So, glancing over the Solum page, I don't see anything specific to Solum in there besides a few paths in examples.  It's basically a condensed version of https://wiki.openstack.org/wiki/GerritWorkflow sans a lot of the detail.  This might be a good thing to add as a QuickStart section on that wiki page (which is linked from the how to contribute page, although maybe not as prominently as it should be).  But, a lot of that detail is needed before a change is going to be accepted anyway.  I'm not sure giving a new contributor just the bare minimum is actually doing them any favors.  Without letting them know things like how to format a commit message and configure their ssh keys on Gerrit, they aren't going to be able to get a change accepted anyway and IMHO they're likely to just give up anyway (and possibly waste some reviewer time in the process).

The key point I'd like to emphasize is that we should not optimize for the ease and comfort of the incumbent OpenStack developers and reviewers. Instead, we should focus effort on welcoming new contribution. I like to think about this through a long term lens. I believe that long lived organizations thrive based size and diversity of their membership. I'm not saying we disregard quality and efficiency of our conduct, but we should place a higher value on making OpenStack a community that people are delighted to join. 

Focused efforts like the one outlined by Julie Pichon are exactly what OpenStack needs to make on-boarding smoother, and more pleasant. Thank you Julie for sharing what you are learning, and helping us improve.

> That said, the GerritWorkflow page definitely needs some updates and maybe a little condensing of its own.  For example, do we really need distro-specific instructions for installing git-review?  How about just "Install pip through your distro's package management tool of choice and then run pip install git-review"?  I would hope anyone planning to contribute to OpenStack is capable of following that.

Optimize public facing documentation for throughput of attracting new members, not maximizing efficiency of the existing ones. We can decide how to deal with internal inefficiency as it presents as a problem. Our default mode should be welcoming.

> I guess my main point is that our contributing docs could use work, but there's also that "as simple as possible, but no simpler" thing to consider.  And I certainly don't like that we seem to be duplicating effort on this front.

All efforts that result in more open source, and more community participation should be encouraged. Don't worry as much about duplication of recruiting efforts. Trying a few different approaches, and seeing what works best is a great approach to something like this. Attracting a community is not a science. It's an art form. Making art is about trying a bunch of things, and seeing what works best.

Thanks,

Adrian

> /2 cents
> 
> -Ben




More information about the OpenStack-dev mailing list