Preface — I am a little skeptical of inviting people to become team members from or prior to their first contribution. I’m not saying it’s impossible, but I’ve never seen someone [successfully] join a volunteer project this way. By far the more common route is first making a small contribution or chiming in on an email list and gradually becoming more involved.
Let’s generalize these two questions:
At what point should we consider inviting someone to the team?
A couple years ago I read an article with community management advice for maintainers of FLOSS projects. One recommendation was: If someone sends in one well-written merge request, give them commit access. Basically, the idea is that anybody who sends a MR is already at 99th percentile engagement. I think it’s good advice.
That was for the typical FLOSS project (ie, single maintainer); Snowdrift is a little different. In particular, there are areas where we have more people than work to do (mray and msiep have design pretty much covered). In those area[s], I think adding more team members would probably be a mistake (more communication overhead), but also see below.
For the areas where we are lacking people (developers, legal/coop structure), I think it remains a good policy. For example, I think it’s past time to extend an invitation to @photm, if we haven’t already.
How do we decide whether to actually invite them?
At this point, I think it makes sense to do consensus, by our normal Process for consent decisions on the forum. It can happen in the #restricted:team category. Unlike the normal process, we might want to place extra weight on the opinions of anyone already on the team in that area (eg, Bryan’s opinions, if we’re talking about bringing on a new programmer). Or maybe even leave it up to them to propose inviting the new team member?
After the decision is made, we should convert the thread to a private message, to avoid drama in the case where anybody had concerns about the new team member. This needs to happen for each team member we bring on, even if there were no objections, otherwise the fact that the thread has been hidden signals that there were objections/concerns.