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
15 stars 4 forks source link

First Contribution By Olamide Oladipo #7

Closed OlamideOladipo587 closed 1 year ago

OlamideOladipo587 commented 1 year ago

Name: Olamide Oladipo Project: Yellowbrick Link to the project GitHub repository https://github.com/DistrictDataLabs/yellowbrick/tree/main Link to Yellowbrick Governance model https://www.scikit-yb.org/en/latest/governance/index.html

The Yellowbrick Governance Model

Yellowbrick is an open-source project that is maintained by a core team of contributors. The governance model is designed to be inclusive and transparent, with the goal of ensuring that the project is driven by community needs and contributions. The governance model is based on the following principles:

  1. Meritocracy: Contributions to the project are evaluated based on their technical merit, rather than on the contributor's affiliation or other non-technical factors.
  2. Community-Driven: The Yellowbrick project is driven by the needs and contributions of the community, and the core team is committed to being responsive to the community's needs.
  3. Transparency: All project decisions are made in an open and transparent manner, with discussion and debate taking place on public channels such as GitHub issues and pull requests, and decisions being documented in the project's documentation.
  4. Inclusivity: The Yellowbrick project welcomes contributions from all members of the community, and is committed to fostering an inclusive and respectful environment.

The Yellowbrick project is maintained by a core team of contributors, who are responsible for reviewing and merging pull requests, maintaining the project's codebase and documentation, and making decisions about the direction of the project. The core team is also responsible for ensuring that the governance model is followed and that the project remains true to its principles.

The Yellowbrick project welcomes contributions from all members of the community, and encourages community members to become involved in the project by contributing code, documentation, or other resources. Community members can also provide feedback and suggestions through GitHub issues and pull requests, or by participating in the project's discussion forum.

Overall, the governance model of the Yellowbrick project is designed to be inclusive, transparent, and community-driven, with the goal of ensuring that the project remains responsive to the needs of its users and contributors.

Project Roles

In the Yellowbrick project, there are several project roles:

  1. Contributors: Contributors are individuals who contribute code, documentation, or other resources to the Yellowbrick project. Contributors are encouraged to follow the project's code of conduct and contribute in a respectful and inclusive manner.
  2. Core Contributors: A core contributor commits to actively take part in a semester of four months of Yellowbrick work, which results in the following release. They set specific and reasonable goals for contributions over the semester. A semester is a four months period of maintenance and development. There are a total of 3 semesters in a calendar year. A core-contributor is expected to work a total of about 5 hours every week.
  3. Maintainers: Maintainers are members of the Yellowbrick core team who are responsible for reviewing and merging pull requests, maintaining the project's codebase and documentation, and making decisions about the direction of the project. Maintainers are also responsible for ensuring that the project's governance model is followed and that the project remains true to its principles.
  4. Advisors: Advisors are individuals who provide guidance and expertise to the Yellowbrick project in specific areas, such as machine learning, data visualization, or open source governance. Advisors may also provide feedback on the project's direction and help to identify opportunities for growth and improvement.
  5. Coordinators: In addition to directing traffic to the group that is actively engaging, coordinators are experts in the project management aspects of version releases.
  6. Mentor Coordinator: Assuming all of the duties of a core contributor, a mentor-contributor devotes 25–50% of their time to mentoring a new contributor with little to no expertise. The mentor-contributor role's goal is to help Yellowbrick find and establish a pipeline of new contributors.

This is a summary on the project roles there are more specific details on each project role in the Yellowbrick governance model documentation.

The Decision-making Process

The process is designed to be inclusive and transparent, with the goal of ensuring that all stakeholders have a voice in project decisions. The decision-making process are as follows:

  1. Proposal: Anyone can propose a change or addition to the Yellowbrick project by creating a GitHub issue or pull request.
  2. Discussion: Once a proposal has been made, it is open for discussion on the GitHub issue or pull request. All members of the community are encouraged to participate in the discussion and provide feedback.
  3. Consensus: If there is broad agreement on a proposal, the change may be merged into the project without a formal vote. However, if there is disagreement or controversy, the proposal may require a formal vote.
  4. Voting: Formal votes are conducted on GitHub issues or pull requests. All members of the Yellowbrick community are eligible to vote, and votes are typically open for a specified period of time (e.g. one week). A proposal is approved if it receives a majority of votes from eligible voters.
  5. Implementation: Once a proposal has been approved, it can be implemented by the core team or by a community member who has been granted commit access to the project's codebase.

How easy or difficult it was to find and understand the governance model

Overall, the governance model is relatively easy to find and understand, especially for someone who is familiar with open-source project governance models. However, individuals who are new to open-source development or who are unfamiliar with governance models may find the section to be somewhat technical or difficult to understand aspects like the different project roles and to know what role they are to play in contributing to the project. Also, the decision making process might be thorny for people who are new to open-source governance models as they might not know how and when votes are being conducted on proposals. In these cases, it may be helpful to seek additional resources or guidance from the Yellowbrick community through their main GitHub Repository https://github.com/DistrictDataLabs/yellowbrick/tree/main.

OlamideOladipo587 commented 1 year ago

Hello @arliss-NF, this is my contribution on the Yellowbrick governance model. I would like your input on this.

Abhishek02bhardwaj commented 1 year ago

Hello @OlamideOladipo587 I think in the project roles, mentioning the roles of the project were fine as it is mentioned in the contribution guide. By the way the governance model of Yellowbrick was really interesting.

arliss-NF commented 1 year ago

@OlamideOladipo587 - well done, summarizing the roles was excellent, and then guiding me to more detailed information if I needed more was useful. great first contribution.

OlamideOladipo587 commented 1 year ago

Thanks @arliss-NF. I really appreciate your feedback.