Skip to content

Project Governance Umbrella issue #402

@bgrant0607

Description

@bgrant0607

There have been a number of discussions about project governance.

Relevant issues:

One thing that is clear is that people are trying to solve different problems. The purpose of this issue is to surface those problems and (ideally) to come to agreement about which problems we're going to tackle first. Then we get move onto proposals for how we're going to solve them.

Some problems that have been mentioned, culled from the above, in no particular order:

  • The structure of the project is opaque to newcomers.
  • There is no clear technical escalation path / procedure.
  • There aren't consistent / official decision-making procedures for ~anything: consensus, lazy consensus, consensus-seeking, CIVS voting, etc.
  • There are no official processes for adding org members, reviewers, approvers, maintainers, project leaders, etc.
  • There is no official / regularly meeting body to drive overall technical vision of the project.
  • We don't agree on the right level/types of engagement for leaders. Some feel that leaders should be recused from responsibilities such as SIG leadership, while others feel they need to be deeply involved in releases, etc.
  • There aren't official technical leads for most subareas of the project.
  • There is no centralized / authoritative means of resolving non-technical problems on the project, including staffing gaps (engineering, docs, test, release, ...), effort gaps (tragedy of the commons), expertise mismatches, priority conflicts, personnel conflicts, etc.
  • In particular, there is insufficient effort on contributor experience (e.g., github tooling, project metrics), code organization and build processes, documentation, test infrastructure, and test health. Some on the project have argued that there is insufficient backpressure and/or incentives for people employed to deliver customer-facing features to spend time on issues important to overall project health.
  • A related issue is counterbalancing technical- and product-based decision-making.
  • Visibility across the entire project is lacking.
  • Metrics, metrics, metrics, metrics. We're flying blind.
  • There is no documented proposal process.
  • There isn't a documented process for advancing APIs through alpha, beta, stable stages of development.
  • Project technical leaders (de facto or otherwise) are not available via office hours.
  • We don't have processes or documentation for onboarding new contributors.
  • There are no official safeguards to prevent control over the project by a single company.
  • Project leadership lacks diversity.
  • There is no conflict of interest policy regarding leading/directing both the open-source project and commercialization efforts around the project.
  • There is no consistent, documented process for rolling out new processes and major project changes (e.g., requiring two-factor auth, adding the approvers mechanism, moving code between repositories).
  • Nobody has taken responsibility to think about and improve the structure of the project, processes, values, etc. A few people have been working on this part time, but it needs more and more consistent attention given the rate of growth of the project.
  • We're also lacking people to drive, implement, communicate, and roll out improvements (and test, measure, rollback, etc.).
  • There isn't a sufficiently strong feedback loop between technical contributors/leadership and the PM group.
  • Nobody has taken responsibility for legal issues, license validation, trademark enforcement, etc.
  • Technical conventions/principles are not sufficiently documented.
  • Development practices and conventions across our repositories are not consistent.
  • Our communication media are highly fragmented, which makes it hard to understand past decisions.

What other problems do people think we need to solve? Let's brainstorm first, then prioritize and cull.

cc @sarahnovotny @brendandburns @countspongebob @sebgoa @pmorie @jbeda @smarterclayton @thockin @idvoretskyi @calebamiles @philips @shtatfeld @craigmcl

Metadata

Metadata

Assignees

No one assigned

    Labels

    committee/steeringDenotes an issue or PR intended to be handled by the steering committee.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions