Skip to content
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

Self-managed maintainer directory + Groups.io mailing lists on @lists.openjsf.org #501

Closed
brianwarner opened this issue Mar 23, 2020 · 13 comments

Comments

@brianwarner
Copy link
Contributor

I'd like to propose we create a self-service directory listing of maintainers and CPC leadership teams. We've talked in the CPC about how it would be helpful to have this info in one place, and I have a solution I'd like to suggest.

Node.js, the kernel, and other projects have done a really good job of maintaining lists of project leadership (maintainers, committers, etc). However, we don't currently have a uniform way to keep this info up-to-date at the CPC level. Given that we have 30+ projects, I'd like to propose we create a new repo (maybe called directory) to be a dedicated place to keep Foundation maintainer lists (like https://github.com/nodejs/node/blob/master/README.md#current-project-team-members).

One reason for suggesting this particular approach is that I recently wrote a GitHub Action for LF Projects that, when given a YAML file with list members, will automatically generate a nicely formatted markdown directory file and sync the list membership with Groups.io. This would allow us to link to a directory page for each project, and provide a maintainers mailing list for each project to use. The key thing is that it can be transparently self-managed. If a project wants to add or remove a maintainer from their directory/mailing list, they simply submit a PR to add or remove the individual from the list.

This could also be used for the CPC list and other teams. Also, it can optionally create an "all-members" meta list, so the CPC has an easy way to reach all project leadership.

I designed this so a directory+mailing list can be built with no more info than appears in a git log or the Node directory (name+email). However, there's also support for a team to optionally add links back to their repos, their project site, their logo, their governance and CoC docs. Individuals can optionally add more info as well, such as photos, pronouns, github handles, etc. The directory repo itself can either be public or private, it works both ways.

If you want to kick the tires with your project or team, please comment here and I can get you set up in a preview repo.

@mcollina
Copy link
Member

I think having this info in a parsable format somewhere is important and automating this is great. +1

@mhdawson
Copy link
Member

+1, will be good to allow us to manage mailing lists automatically through github.

@eemeli
Copy link
Member

eemeli commented Mar 24, 2020

I think I've recommended for a manual version of this a couple times. Definite +1 from me.

@brianwarner
Copy link
Contributor Author

Since it's easier to see this than to describe it, unless there are objections I'll set up an initial directory repo and configure an example. @eemeli and I chatted on Slack, and we'll configure messageformat first.

For what it's worth, there's a small amount of one-time Groups.io configuration I need to do on the backend for each list. If you have a group you'd like to add, ping me and I'll get it set up.

@brianwarner
Copy link
Contributor Author

messageformat is up and running, and they have a mailing list and a formatted directory page. And even better for them, I've removed myself from the critical path when they want to make updates :-)
https://github.com/openjs-foundation/directory/blob/master/messageformat-maintainers.md

This is all managed by this YAML file. It's a rather minimal example, the full list of supported options appears here

I've also configured all of the (empty) mailing lists for the other projects, so I'm happy to help the others get onboard as fast as we can add them.

Finally, I've created a meta-list called project-leadership, which will contain the union of all the maintainer lists. The moderation bit is enabled, so it will be low traffic, but it will be available if the CPC needs to reach all of the projects.

@mhdawson
Copy link
Member

Great to hear its working. Maybe the next ones to do are the CPC related ones?

@brianwarner
Copy link
Contributor Author

Sure thing, how about voting and regular members?

@brianwarner
Copy link
Contributor Author

Quick update, here's how it looks so far. I had photos and info for some folks, so I added them to demonstrate what is possible. https://github.com/openjs-foundation/directory/tree/add-cpc

Next, I can also add the CPC report@ list and the coc-escalation@ list, as well as new-projects@ and standards@. Those should also be managed openly and transparently.

The messageformat maintainers, Express maintainers, and Express code of conduct team are already configured and merged (the act of merging to master is what triggers the group sync).

@mhdawson
Copy link
Member

@brianwarner I wonder if we should make it that easy to get to the emails. I know they are in the raw files/mailing list but not sure if a clickable link helps/hurts. Generally the directory should be helping people managed the mailing list and possibly find the email for the mailing list.

@brianwarner
Copy link
Contributor Author

Sure, that's easy enough to do. I'll make the changes upstream and roll them in here.

@brianwarner
Copy link
Contributor Author

And done. It looks fine this way, let's go with it. Thanks for the feedback, @mhdawson .

https://github.com/openjs-foundation/directory/blob/add-cpc/cpc-private.md

@brianwarner
Copy link
Contributor Author

Documenting what we discussed in today's meeting (thanks everybody)...

  1. We're going to make this repo private.
  2. We'll make sure the project-leads team is up to date.
  3. We'll add the project-leads team to the repo so they have access.
  4. @bnb and I will look into ways we can make the directory files themselves public, including
    • An action to push the public parts of the directory into a separate repo
    • An action to open PRs against project repos with that project's directory files.

I'll remove the agenda label.

@joesepi
Copy link
Member

joesepi commented Aug 20, 2020

Confirmed with @brianwarner that this is good to close. Thanks everyone.

@joesepi joesepi closed this as completed Aug 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants