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 Ameerah Kabir. #66

Closed AmeerahKabir closed 1 year ago

AmeerahKabir commented 1 year ago

Name: Ameerah Kabir. First contribution project: OpenJS Foundation. Second Contribution Project : PyTorch governance model. Comparative analysis between PyTorch and OpenJS Foundation. Link to PyTorch governance model: https://pytorch.org/docs/master/community/governance.html

PyTorch governance model.

PyTorch has adopted a hierarchical technical governance model. A community of contributors make pull requests, file issues, and contribute to the project. Each module of the PyTorch project has its own group of maintainers who drive its direction and make decisions, and they are overseen by the core maintainers who drive the overall project direction. The core maintainers have a lead core maintainer who is the catch-all decision maker. Technical governance is strictly separated from business governance. Module maintainers have the right to dispute decisions made by other module maintainers and to core maintainers for review. The core maintainers have the power to veto decisions made at the module maintainer level and resolve disputes. The community is encouraged to contribute in discussions, and anyone can be accepted as a maintainer based on their contributions. The membership is for individuals, not companies.

The PyTorch governance model includes three major project roles:

Core Team

Technical Steering Committee (TSC):

Community Committee (CommComm):

The decision-making process of the PyTorch governance model is based on a combination of community feedback and core team decision-making. Community feedback is collected through various channels, such as GitHub issues and discussion forums. The core team, consisting of maintainers and contributors with significant experience in PyTorch development, evaluates this feedback and makes decisions on the direction and priorities of the project.

The core team also regularly communicates with the wider PyTorch community through community meetings, and other events to ensure that decisions align with the community's needs and goals. Major decisions, such as the adoption of a new feature or changes to the project's architecture, are discussed publicly and thoroughly before implementation.

PyTorch governance model seeks to balance community input and core team expertise to make decisions that benefit both the project and its users.

Differences and similarities between PyTorch and OpenJS Foundation governance model.

PyTorch has a hierarchical technical governance model with a core team and module maintainers, while the OpenJS Foundation allows for flexibility in project governance. PyTorch's decision-making is based on a combination of community feedback and core team expertise, while the OpenJS Foundation uses voting by eligible community members.

Which Model is better?

PyTorch. Even though PyTorch practices a hierarchical governance model system, the decision making process is flexible and based on community feedback and it encourages contributions from anyone and anyone can be accepted as a maintainer based on their contributions.

AmeerahKabir commented 1 year ago

Hi @arliss-NF I would love a review on this

arliss-NF commented 1 year ago

@AmeerahKabir - very thorough analysis with a focus on the areas that will be needed for this project. I agree with your decision on which is better. PyTorch is a well-run project and can be a good model for many open-source projects.