-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Role transitions to match new governance guidelines #1878
Comments
I want to start this as an organic process, going top to bottom, inviting the more active members first, and then slowly working my way down. To that effect, I want to start with @jsonbruce and @pxgamer who have been contributing actively at this moment.
Yep, @jeeftor can be removed. I had pinged him myself on gitter and did not get any response. Pts c), d) and e) are also correct. I confirm that those transitions need to be made. Responding to your additional questions
To conclude, @waldyrious , why don't you start with pts 2,3,4. I will start with 1. |
Great, thanks for the detailed response :) A few notes (numbering unrelated to the above; just adding for cross-reference):
|
|
Re making my membership public: I didn't realise I hadn't done yet - I've done that now :P
Sounds like a good place to start to me! |
That's possible, but we'd need to define that last step explicitly first, to be consistent. However, let me first tell you why I think that's not necessary. My view is that it's ok for that to be a permanent status. Unlike the role of maintainer, which implies being active helping out with the repo, the collaborator status is more of a "marker" to indicate that someone has reached a given threshold -- in this case, the baseline metrics we defined as a signal that they understand what the project is about an are able to contribute productively to it. That's to say, there's no way to "unmeet" those requirements. So unless they actively break the trust that the status represents (say, by making commits that go against the goals or guidelines of the project), there's nothing that the project stands to gain by removing them. Especially since they're not listed anywhere public, so people won't be mistaken to expect them to be active maintainers. That said, if you disagree, I'd suggest first opening an issue (or PR) for the addition of this clause to the governance document. I wouldn't want to act outside of the boundaries specified there.
No reason not to do both :)
Oh, interesting. I wonder if there's a way we could get the data in a structured manner, say via API calls via URLs that can be checked directly in the browser. Do you think that's possible? Yeah, we definitely should add a comment to that file noting the token on .travis.yml, and the comment on .travis.yml should mention the |
Ok, fair enough. |
Absolutely. Though to see anything more than JSON (which firefox does an exemplary job of presenting nicely, btw), we'd (probably) need to write a server-side application - unless of course the GitHub API supports CORS - then we could host something with GH Pages. |
That's more than enough! We might want a polished interface later on, but the most important part is to get the actual data. Please share if you can come up with useful queries we can test-drive and hopefully integrate into the process. |
Ok, so for 2 there's nothing to be done, and I just did 3 (made @sbrl into an owner). I'll work on a template message to send the ones about to be removed from the org (step 4), as well as one for those about to be added as collaborators (step 1), and will post them below for feedback. |
So here's what I'd propose the process to be like. For changing one or more contributor's roles, we'd open an issue (similar to this one) with a message like this: For adding new collaborators:
For adding new org members:
For removing inactive org members:
What do you think? |
As for the current org members who are not actively maintaining the project — @danzimm, @edgurgel, @felixonmars, @igorshubovych, @Leandros, @Ostera and @rubenvereecken: as you can read above and in #1839, we have just adopted a governance policy aimed at improving the project's long-term maintenance workflow, and making sure the tldr-pages organization membership accurately reflects the active maintenance team. Check out the final document at https://github.com/tldr-pages/tldr/blob/master/GOVERNANCE.md. With that in light, we'll be moving you to the status of collaborator / former maintainer. This means you will cease being members of the organization, but will keep commit access (and with it the ability to edit files, merge pull requests, close issues, and so on). You'll also retain admin access in the repos within the organization of which you are the creators or main contributors. I'll wait for a couple days for your reactions, and then perform the changes. Of course, you'll automatically be added back in case you decide to return to active maintenance of the project. Is that OK with you? |
Yes, totally fine 👍 |
@waldyrious - The messages look great. I will start inviting collaborators. |
I thought that I'll be back occasionally, and sometimes review a PR or two, but turns out to be really rarely. Thanks for putting these together and making it easier to attract new members. I'll still keep an eye on the python client. |
@felixonmars just to be clear, you will still be able to do that :) Think of this change as the project releasing you of the responsibility of being officially tagged as a maintainer. This simply means that you won't be expected to be available to maintain the project on a regular basis (which matches your real availability), but still can do it whenever you like. We'd appreciate that, in fact! |
@agnivade I was wondering if it would make sense to wait until the invitees react to these messages before adding them. Perhaps we could add to the end of the messages "Please reply or thumbs-up this message to confirm." What do you think? ps - except for inactive maintainers, for obvious reasons. |
That's great. So clear roadmap. @waldyrious |
Um, the invitations are already out :) |
Yeah, I'm aware :) I was suggesting to add that to the templates above, to be used for future invitations. After all, we'll probably want to keep them somewhere permanent, such as the maintainer's guide or some auxiliary document with template messages (common responses to issues, etc. — /cc @sbrl). |
Sounds great to me! Probably better than I could have worded them :P |
Hey @agnivade, did you have the chance to experiment with the token change for Travis? I'd like to move forward with the organization-level changes, but I don't want to break any workflows. |
Also, where do you guys think the template messages proposed above would fit best? GOVERNANCE.md? maintainers-guide.md? Somewhere else? |
Not yet. I will do them today.
I would say maintainer's guide. |
|
Thanks both for the feedback. I started doing as you suggested, but eventually had to go for a different approach, which in the end I think ended up nicer. Please see the details in this comment. |
Given #1899 and #1902, I'll go ahead and perform the changes to the organization members mentioned above, now that a week has passed since that comment.
These changes can be reviewed by current organization owners in the audit log. |
Regarding other repos in the org, I've invited collaborators for the Python client (tldr-pages/tldr-python-client#55) and for the Node client (tldr-pages/tldr-node-client#197). Let me know if I forgot anyone! |
The last step that I can do now is making sure all members of the organization have their membership as public. I missed this before, but it looks like @rprieto's membership is set to private. Only he can change that to public, so I'll ask him here to please do so :) We can also decide to mark the first item in the list above as done (inviting more collaborators), now that @pxgamer and @jsonbruce have been added. I'll open a new issue to track retroactive adding of collaborators based on past contributions. What do you guys think? |
Sounds good to me! Thanks for all the hard work, @waldyrious :D |
It's been a pleasure to get this long overdue task off my list :) can't wait to get back to reviewing PRs and contributing pages myself! 😄 |
Update: I think we should leave it to @rprieto to decide whether to make his membership in the tldr-pages organization public or not. We already have an exception for the inactivity rule in his case, since he's the creator of the project, so there's precedent for adding an exception to the "publicness" of his membership as well. Not to mention it might actually convey the incorrect idea that he's presently active as a maintainer, and as someone who people could contact for issues with the project, which is not the case IIUC. So I'll also consider item e) in the opening comment also fully completed, unless others object to this. |
Given the above comment, and the opening of #1949 to track the remaining work to be done for item a), I'll consider this issue resolved. Thanks everyone for the patience and contributions to the discussion! |
Now that the project finally has
explicit criteria for role transitions(updated link after #1897), the first thing we need to do is update the current contributors' roles to match them.Here are the changes that should be done, according to the document:
a) Contributors to be added as collaborators in this repo: actually, I'd rather not collate this particular list myself, since that would entail opening PRs which are still on my unread notifications list, and would therefore disappear from it without the review I'd wish to give them. So I'll just describe the process and ask for someone else to step in. What I did was go to https://github.com/tldr-pages/tldr/graphs/contributors and click on the "x commits" links where x >= 5, starting at the bottom. Then I checked whether the commits actually corresponded to 5 or more distinct, non-trivial PRs, or whether some of them were multiple commits from the same PR. One example of the latter is (at the time of writing)
@Larry850806
. See also@chuanconggao
as an example of someone with 5 merged PRs but one of them being a trivial one (python: fix typo #642). The first user who matches the criteria (again, counting from the bottom) is @zdroid (PRs Fix build-index.js coding style #1101, Drop bugs URL from package.json #1110, Addapt-get autoremove
#1011, Simplify package.json #1090, Fix the indentation in PDF conversion files #1091), so he'd be one of those to be added as a collaborator. I'd appreciate if someone else could repeat this process for the other contributors and complete this list; otherwise, that's going to have to wait until I'm done clearing my notification backlog.b) Collaborators to be added as members of the organization: Nothing to do here, unless I'm missing something. @jeeftor (added after the exchanges here and here) is the only collaborator in the repo who's not a member of the org, and I believe he hasn't showed interest in performing maintenance tasks. Please correct me if I'm wrong.
c) Organization members to be converted to owners: This one is pretty easy. The current members that aren't owners (a distinction which unfortunately isn't publicly viewable) are @danzimm, @edgurgel, @Leandros and @sbrl. Among those, only @sbrl has been active in the project for the past 6 months, and thus is eligible for transitioning to an organization owner. To be exact, he was added to the organization on 2017-08-10, and 6 months from then would be 2018-02-10, but at that time he had already made plenty of contributions to the project (31 commits to be precise), so his addition was already late by our criteria.
d) Organization members to be converted to collaborators: between July 9 2017 and today, this is the commit count of the current org members, in alphabetical order: agnivade: 66 | danzimm: 0 | edgurgel: 0 | felixonmars: 1 | igorshubovych: 0 | Leandros: 0 | ostera: 0 | rprieto: 0 | rubenvereecken: 0 | sbrl: 35 | waldyrious: 51.
Of course, project activity is not measured exclusively in commits, and this is especially true for maintenance work, but it's the only thing what we can easily measure, and is correlated with merged PRs, so it can work as a rough estimate.
Based on this, applying the new guidelines would result most of the current members transitioned to former maintainers, except @agnivade, @sbrl and myself (and @rprieto, which should IMO remain a perennial owner of the organization, as the creator of the project). At a glance, this feels like an accurate representation of the current maintenance team, but feel free to correct me if I missed any details.
e) Organization members that need to make their membership public: ignoring those who are to be removed, as mentioned above, only @sbrl remains to make his membership public.
Once these steps are completed, the MAINTAINERS.md file should be updated in accordance.
In addition to reactions to the items above, I'd appreciate your comments to the following questions which I faced by writing this:
The text was updated successfully, but these errors were encountered: