numfocus / outreachy-contributions-2023

This repository will be used to capture Outreachy applicants' contributions during the Applications phase - May-July 2023 Cohort
BSD 3-Clause "New" or "Revised" License
16 stars 4 forks source link

Second Contribution by Deborah Oyegue #71

Closed Dee-Tyan closed 1 year ago

Dee-Tyan commented 1 year ago

Open Source Governance Model: PyTorch vs Electron

by Deborah Oyegue

PyTorch’s Governance Model | Electron’s Governance Model

Project Scope

This is a comparative assessment of the governance models of PyTorch and Electron. This report analyzes the governance models of these two projects to identify any similarities and differences between them with insights into how their governance structures work.

Governing Differences

PyTorch's governance model is foundation-backed and includes a hierarchical technical subdivision governance that follows the BDFL (Benevolent Dictator for Life) decision-making process. The lead core maintainer governs all technical operations and is the ultimate decision-maker.

On the other hand, Electron uses an electoral governance model that differs significantly from PyTorch's model. It is a decentralized group-level decision-making model that consists of multiple working groups or maintainers who have decision-making powers over their respective processes. These groups are overseen by an administrative working group. This approach spreads decision-making power more broadly across the community and the decision-making process in Electron is based on majority voting.

Structural Similarities

Membership in the core maintainer group in PyTorch is individual and merit-based, similar to the Electron working group member addition process. Acceptance is determined by evaluating the value of an individual's contributions, interactions, and collaborations with the community.

While PyTorch's technical governance operates on a hierarchical leadership model, there is a voting process in place at the base level. For example, the core lead maintainer can be removed if 75% of core maintainers vote against them. Additionally, contributors can be added to the core maintainer group through a majority vote in their favor.

Both PyTorch and Electron are maintained by non-governmental organizations (NGOs) whose board members establish policies, principles, and vision statements. Although initially developed by Meta AI, PyTorch is now managed by the PyTorch Foundation, an independent organization and a subset of the Linux Foundation. Similarly, Electron is managed by the OpenJS Foundation, which oversees multiple open-source JavaScript projects.

Best Governance Model

I believe governance models shouldn’t be one-size-fits-all, and projects should adopt governance mechanisms based on their operational structure and the size of their community. Hence, choosing the best governance models should be based on selecting one that aligns best with their operational requirements.

Dee-Tyan commented 1 year ago

@arliss-NF, would love to have your feedback. Thank you!

arliss-NF commented 1 year ago

@Dee-Tyan - excellent analysis and your conclusion that there is no "one size fits all" approach to selecting a governance model is exactly what needs to happen. Developing a model that fits the developer and community is very important.