community
community copied to clipboard
Add Community Manager/Maintainer Role
This PR adds a new project-level maintainer role, 'Community Manager'.
Problem Statement
Over the past several years, we've seen explosive growth of the OpenTelemetry community across many fronts. Individual and corporate contributors have more than doubled in count, and contributions have followed suit. As the project matures, so too have the needs of the auxiliary SIGs and working groups. This can be seen in the shifting role of the Web SIG, for example -- originally simply responsible for website maintenance, it has matured into a 'communications' SIG responsible for general cross-functional events, the project blog, social comms, documentation, tutorials, and much more.
This split in focus has resulted in a sub-optimal level of focus for some critical project needs (documentation being a particularly poignant example), as well as unclear ownership for certain channels (social, events). To resolve this split in focus, I propose a new 'community manager' role that can provide accountability and ownership for these disparate, but related, functions.
Responsibilities and Portfolio
Some examples of this role's responsibilities include the following:
- Working with the CNCF to plan and organize OpenTelemetry-specific events such as OpenTelemetry Community Day
- Managing the OpenTelemetry blog and social media presence (creating content, ensuring quality of posted content, etc.)
- Working with the CNCF and community organizations on cross-functional projects (such as a contributor's fund)
- Reporting and tracking community health for the GC
In general, the objective of this role is to have a single point of contact to manage wide-ranging community initiatives and ensuring their successful execution.
Q&A
"How is this different from Communications SIG lead?" Good question! This role is designed to codify the 'non-web/docs' functions of the Comms SIG lead into a new role, allowing the comms SIG to refocus on the website and project-wide documentation. The intent of this role is to closely collaborate with comms (as well as any other community-focused SIG/WG leads) to ensure alignment and resources are available to everyone.
"How are CM's designated/how long do they serve?" The Community Manager reports to the Governance Committee and serves at their pleasure. More than one CM can be appointed by the GC, if desired/necessary. There's no specified length of service, but an annual review is suggested.
"Isn't the GC/Comms SIG responsible for this stuff already?" Yes, technically -- that said, the GC is busy with other governance duties. This role codifies a position that already implicitly exists, while also allowing greater autonomy for the individual who holds it. For example, only project-level maintainers have access to CNCF Service Desk; This causes friction with the scope of Comms SIG maintainers when trying to perform actions that need access to that platform.
"How do other projects handle this?" This role is somewhat inspired by how Helm and Harbor have created top-level community/docs maintainers (see https://github.com/goharbor/community/blob/main/MAINTAINERS.md#sig-community for an example)
Please let me know if you have any further questions/points of discussion.
cc @mtwo @bhs
How is a community manager selected? If the CM would be elected by the community, I think the CM could be part of the board, instead of reporting to it (based on @RichiH's idea). In that case, there would be only one CM, but other volunteers could work together with the elected, official one.
For context, I shared how German non-profits ("e.V.") usually structure highest-level IC work: Through adding a distinct seat on the board. This serves to keep communication paths extremely short and efficient. Juraci pointed out that this is how some unions structure their work distribution as well.
Distinct from that, I do believe that this role would benefit the wider OTel community. In particular CNCF interfacing can be a seasonally intense job and having direct access to service desk and CNCF staff will be a tremendous help for this type of work.
I am broadly supportive of this, but believe that there should be some redundancy here, similar to how we wouldn't view it as sustainable to have only 1 maintainer for a viable SIG, we should have between 2 and 5 maintainers here to manage our growing community and spread the load between them / cross-check each other. I look forward to learning from the experience of the k8s community SIG as well, as they started it around the same time.
and I'd definitely consider, as I rotate off the OTel GC this October, stepping into this role, or nominating someone else like Sharr C or Rynn M if we need someone sooner than October.
(apologies for my delay – last week was lost to C19 for me :-/ )
I am supportive of this proposal, at least in broad strokes. The project has grown a great deal from a codebase and community standpoint since we came up with the initial set of roles, and at this point we are IMO clearly in need of more community management. Bonus points if this role dovetails with some of the recent and overdue/important end-user interview work that has been spinning up...
Along those lines, my one request is to be precise about whether this role is primarily focused on the OTel committer community, or the OTel end-user community. Or if it's both, let's be very explicit about that, since the needs of each are pretty different.
I'm also supportive, though as @jpkrohling points out, we need a mechanism for appointing community managers (I assume that there will be more than one)
@austinlparker the GC discussed this at our weekly call yesterday. Thanks a lot for getting this going, and we are broadly/conceptually supportive.
We would ask that you flesh out the actual PR in more detail, and particularly that the content covers the following:
- specific rights/permissions needed for this new role (e.g., perhaps things related to CNCF)
- a specific process to nominate individuals for this role, as well as the process to remove them
- the overarching goals that OTel community managers are pursuing (can be qualitative or quantitative)
Thanks for the comments, folks -- would like to discuss these points. Apologies for not being active in this thread, I've been OOO for the past week.
- specific rights/permissions needed for this new role (e.g., perhaps things related to CNCF)
Unfortunately I don't have super-detailed insight into the rights/permissions that are available, but the activities I think we'd need to support through this role are things like "access to service desk", "speak as the GC about community-related topics", etc. While someone upthread mentioned that the end-user and contributor community have different needs, I would suggest that those needs aren't that far apart -- moreover, I think the GC/TC should be the advocate for the contributor community.
- a specific process to nominate individuals for this role, as well as the process to remove them
I'd broadly ask what we're comfortable with, here. My inclination here would be for the GC to nominate CMs as needed, and CMs to serve a fixed term (which the GC can renew). Dismissal would, again, be at the discretion of the GC (for similar reasons as a GC member can be dismissed, I can work this language up more)
In the future (perhaps after the first year), it'd make sense to switch these over to elected seats? If we did that, and the role has a lot to do with end-users, how do we determine who has standing to vote?
- the overarching goals that OTel community managers are pursuing (can be qualitative or quantitative)
Promote good vibes :)
But more seriously, I think the primary goal would be to ensure the health of the OpenTelemetry end-user community. If the GC is about the project/contributor, then the CM(s) should be more about end-users. That said, I think there's a lot of overlap between contributor and end-user... and probably will continue to be.
There's two specific projects that I've recently identified that I think this role would support/own: OpenTelemetry Community Day and The OpenTelemetry Fund.
Community Day is perhaps the most self-explanatory one; There's a lot of advantages in terms of CNCF Events coordination to having a single point of contact on event management, building a schedule, etc. OpenTelemetry Fund is a bit trickier, because this is a cross-corporation project... basically, a particular vendor has pledged an amount of money to be used in an "instrumentation bounty" style program. This is something that would best be administered through the CNCF, and something they do have experience with. CMs would be responsible for ensuring that these sort of broad, cross-SIG, cross-company initiatives are set up for success. Now, both of these benefit contributors... OTel Community Day, for example, was mostly attended by contributors rather than end-users. The OTel Fund benefits contributors as well, by incentivizing instrumentation of third-party libraries. However, these are both end-user benefits. A day to meet and collaborate on OpenTelemetry/Observability is useful, and both contributors and end-users benefit from sharing insights. Third-party libraries being instrumented benefits end-users by growing the OpenTelemetry surface area.
My inclination here would be for the GC to nominate CMs as needed, and CMs to serve a fixed term (which the GC can renew). Dismissal would, again, be at the discretion of the GC (for similar reasons as a GC member can be dismissed, I can work this language up more)
I like this idea a lot: it removes the initial bureaucracy while still allowing the role to be rotated under a defined process.
Just to ack this:
There's two specific projects that I've recently identified that I think this role would support/own: OpenTelemetry Community Day and The OpenTelemetry Fund.
The company I work for has allocated money to put into a fund to help reward community contributions (in particular, docs + samples based on talking with other maintainers). While we could set this up entirely on our end, we'd much prefer that it be run through the CNCF, with us (the company) doing whatever we can to help facilitate things on our end + boost awareness. This is precisely the kind of thing that a CM can help with; lots of NOT FUN but necessary work in service towards growing the OTel community and helping sustain its projects. Having a dedicated human who can help establish programs like this is crucial because otherwise, this kind of work falls by the wayside for people whose heads are usually in code or docs or something else.
I've had several conversations about this and realized I had yet to actually voice my opinion here. I am generally supportive of this. I agree with what others have said that the role needs to be better defined. I also think we need to define how the role is attained (I think GC nomination and 1 year terms seems reasonable).
- specific rights/permissions needed for this new role (e.g., perhaps things related to CNCF)
Unfortunately I don't have super-detailed insight into the rights/permissions that are available, but the activities I think we'd need to support through this role are things like "access to service desk", "speak as the GC about community-related topics", etc. While someone upthread mentioned that the end-user and contributor community have different needs, I would suggest that those needs aren't that far apart -- moreover, I think the GC/TC should be the advocate for the contributor community.
I think we can probably work around this for the time being by enumerating rights that are obviously required, and saying temporary rights and permissions will be delegated by the GC as needed. When the comm manager identifies a need, they can email the GC and they vote at the next meeting.
- a specific process to nominate individuals for this role, as well as the process to remove them
I'd broadly ask what we're comfortable with, here. My inclination here would be for the GC to nominate CMs as needed, and CMs to serve a fixed term (which the GC can renew). Dismissal would, again, be at the discretion of the GC (for similar reasons as a GC member can be dismissed, I can work this language up more)
This seems reasonable.
- the overarching goals that OTel community managers are pursuing (can be qualitative or quantitative)
Promote good vibes :)
But more seriously, I think the primary goal would be to ensure the health of the OpenTelemetry end-user community. If the GC is about the project/contributor, then the CM(s) should be more about end-users. That said, I think there's a lot of overlap between contributor and end-user... and probably will continue to be.
I think there will definitely be a lot of overlap here. Most events like community day and kubecon have both end-users and contributors in attendance, and it doesn't make sense to have two separate efforts to coordinate these events. The CNCF/event personnel would probably also appreciate having a single point of contact within OTel for events like that. My initial thought is that the CM would focus on end-users primarily in day-to-day, but would also be responsible for contributor experience at events when required such as conferences, bug bounties, etc.
Thanks for the discussion, everyone -- please take a look at the changes to the governance charter where I've enumerated the role a bit more and let me know what you think. Would love to get this voted on by the GC this month.
I believe this is ready to go whenever unless there's any more comments from the GC.