Skip to content

Meta: Change governance model of pybind11 project? #680

Closed
@wjakob

Description

@wjakob

Dear all,

here is a meta-topic that I'd like to discuss with the rest of the pybind11 community.

It's only been about ~1.5 years since the first code drop of this project landed on github, and many things have happened since then. The first is that this project has developed quite a significant following! We have a > 2K clones/day on good days, close to 2K "stars" (whatever that means ;)) and a significant amount of activity on the tracker and chat. It is clear that this project is doing quite well as far such metrics are concerned.

The more important thing that these metrics don't capture is that we've also assembled a community of contributors who deeply care about this project, and who have fundamentally shaped the evolution of this project with improvements of absolutely outstanding quality. I'm constantly amazed how this has allowed pybind11 to scale to an ever-increasing number of needs while keeping its internal design simple and clean. Well done! :)

Thus far, I've acted as the BDFL and had the final say on a number of decisions. But being a busy tenure track prof, my availabilities for code reviews and and other open source-related activities are often unpredictable and far apart, hence this process has not always been smooth. It often seems to me as though I'm the bottleneck on things that should just get decided/merged right away. As the project grows further, this could eventually become problematic. But this way of organizing things also strikes me as silly: why should I be the one to make these decisions? Others are (demonstrably!) at least as qualified and invested into this project, hence I don't see why there needs to be a BDFL at all.

That motivates this meta-issue. I'm wondering if we should extend the leadership of this project or adopt a different kind of governance model. That makes it sound very bureaucratic, which is of course not the intent: I just think that the project is big enough so that the sole responsibility should not rest on one person. An extreme change would be to adopt a formalized process like C4 (explanation). A lighter weight option would be to promote a number of community members to moderators and try to reach a certain quorum based on how intrusive/useful a new feature is deemed to be before merging it (but then any moderator could do that). These are just a few possibilities to start a discussion -- of course I'm mainly interested in your ideas.

Best,
Wenzel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions