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 Pamela Ropafadzo Pfunye #6

Closed PamelaRopafadzo closed 1 year ago

PamelaRopafadzo commented 1 year ago

Name: Pamela Ropafadzo Pfunye

Assigned project: InterpretML (https://interpret.ml/)

InterpretML is a Python library intended for Machine Learning interpretation. This library makes use of methods that aid in the comprehension of how prediction models operate, such as feature impacts and feature significance. InterpretML contains a number of Partial Dependency Plots and Global Surrogate Models, all of which are interpretability approaches that help in understanding how a model should behave over many ranges. The library is beneficial for the development of transparent and explainable models, which is vital in many fields where comprehending and explaining about how model prediction works is essential.

Link(s) to the project governance model:

https://github.com/interpretml/interpret/blob/develop/GOVERNANCE.md https://github.com/interpretml/governance/blob/master/org-governance.md https://github.com/interpretml/governance

The governance model:

As InterpretML is an open-source project, it is further governed by a community led model. All their projects are hosted using GitHub, and anyone from the community is able to provide their contributions. The core of their development team includes maintainers who are responsible for the reviewing and the merging of all triaging issues, pull requests and ensuring the projects overall health. The governance model is designed to be transparent and open with a focus on inclusivity and collaboration. They ulitilize and follow a Contributor Covenant code of conduct that helps with maintaining an inclusive and welcoming community for all its contributors. All contributors are required to agree to this code of conduct, and any violations made are taken seriously and dealt with accordingly. The InterpretML governance model can be interpreted in a few different ways, depending on the perspective of the individual or organization involved in the project. From the perspective of an individual, the governance model can be interpreted as follows:

The governance model provides an organized framework for people who people who intend to add to the project, outlining the various roles and obligations involved as well as how decisions are made within the project. The governance model starts by defining the various positions within the project, such as maintainers, contributors, and evaluators. It describes the duties of maintainers, who are in charge of supervising the project's growth and assuring that contributions adhere to the project's objectives, goals and priorities. They are also in charge of maintaining the project's code repository as well as evaluating and integrating contributions. Contributors are people who contribute code, documentary evidence, or even other inputs to the project, according to the governance model. Individuals who provide comments and advice on submissions before they are merged into the codebase are known as reviewers. The governance model also describes the project's decision-making procedures. It explains how major choices are made through various procedures such as voting in which maintainers and contributors can vote on a proposition. This enables people to engage in the decision-making process while offering insight into how choices are made within the project. The governance model also explains the project's criteria and rules for participation. It stresses the significance of comprehensive testing and adhering to the project's coding guidelines. Additionally, the model promotes respectful communication and collaboration between contributors and maintainers.

Moreover, from the perspective of an organization, the governance model of InterpretML can be interpreted as follows: The InterpretML governance model establishes a clear framework for interacting with the project and adding to its growth. The model defines the various duties and obligations of people within the project, such as maintainers, contributors, and reviewers, making it simpler for organizations to determine who they should communicate with and how they can add to the project. The governance model also describes the project's decision-making procedures, which can be useful for organizations looking to understand how they can impact the project's path. The voting method for major choices guarantees that all contributors have a voice in project development, resulting in an equitable and democratic decision-making process. This can be encouraging for groups that want to ensure that their interests and objectives are considered in the project. From an organizational standpoint, the guidelines and norms for adding to the initiative are also critical. Clear writing, comprehensive testing, and adherence to coding standards are all critical factors in assuring the project's codebase's quality and dependability. The governance model helps to ensure that contributions correspond with the project's objectives and standards by giving rules for participants to follow.

Project roles:

The governance model documentation provides numerous major positions that community members might take on, each with its own complement of objectives and obligations. The project roles include:

  1. The Project Lead: is in charge of the entire project's management, which includes organizing contributors, keeping the project plan up to date, and managing project releases.
  2. Maintainers: are in charge of assessing and integrating community contribution, guaranteeing the high-quality and uniformity of the software, and assuring that the project remains in connection with its purpose and vision.
  3. Contributors: are people from the community who contribute code or documentation knowledge to the project. People may also help through offering comments, reporting issues, and taking part in debates.
  4. Users: are individuals or organizational units who utilize the InterpretML program for their own interests. Users can also provide feedback, bug reporting, and other sorts of input responses to the project.
  5. Community Managers: are in charge of creating a good and welcoming strong sense of community all around project. They may participate in outreach, social media, and other methods of interaction to connect with the public and establish connections with users and contributors.
  6. The Steering Committee: is in charge of establishing the project's overarching strategy and ultimate goal. They advise the Project Lead and Maintainers and are in charge of settling any disagreements that emerge within the community.

Decision-making process:

The InterpretML governance model specifies a decision-making process centered on developing consensus that includes discussions surrounding proposals and changes with Maintainers, the Steering Committee, and the community. This procedure guarantees that decisions are reached transparently and collaboratively, with participation from a wide spectrum of community members. This entails recognizing a choice that must be made, soliciting feedback from community members, debating the issue and alternative solutions, and finally making a conclusion. Maintainers often make decisions on small issues, whereas the Steering Committee makes decisions on larger issues that require more participation.

In some cases, the core development team may opt to decide through a vote procedure. This is usually done when conversation alone fails to produce an agreement. In these circumstances, the main development team and any additional stakeholders participating in the decision-making procedure vote. A simple majority vote is used to make the decision, and each stakeholder has an equal vote. The following are the important steps found in the decision-making process in InterpretML: Proposal: Everyone can suggest for a modification or new feature in InterpretML through opening an issue on the project's issue log. A thorough description of the planned change, its advantages, and any possible disadvantages should be included in the proposal. The decision making process can be broken down into the following steps:

  1. Discussion: Once a plan is published, it is available for community feedback. Other participants could provide comments, ask any questions, and make alternative ideas. The author of the proposal is expected to respond to comments and participate in the conversation.
  2. Consensus: The plan and the comments obtained during the discussion time are evaluated by the core development team. The plan can be authorized if there is wide agreement among the team and the society that it is useful and well-designed.
  3. Implementation: Once a proposal is approved, the implementation procedure starts. The proposal's creator or some other contributor can make a pull request that contains the codebase modifications. The main development team and other authors evaluate the pull request and provide comments and suggestions.
  4. Merge: If the pull request is approved, the changes are integrated into the main codebase, and the new feature or update is included in the next InterpretML version.

The main development team makes decisions about the project's direction and significant modifications to the software in collaboration with the community. Feature proposals and problem complaints can be made via the project's issue tracker, and discussions about possible adjustments can be found within the discussion forum.

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

The governance model for InterpretML can be viewed on the project's GitHub website, which is simple to locate and, moreover, open and visible to community members. The InterpretML initiative appears to emphasize on openness and clear communication, which aids in navigating the governance model and knowing their duties and obligations. With some work and engagement, the InterpretML governance model is readily accessible and understandable. The InterpretML governance model is easily accessible and comprehensible with some effort and engagement. Overall on a scale of 1-10 I would say the governance model scores an 9 in being easily accessible and an 8 in being understandable.

Chimnwendum commented 1 year ago

Hello @PamelaRopafadzo there is no information on this issue. Please do the following:

Add the following to your issue:

  1. Your name
  2. The project you were assigned
  3. Link(s) to the project governance model
  4. A written paragraph(s) describing ... a. the governance model b. any project roles (just the names are fine) c. the decision-making process ie. voting procedures, approval process etc. d. how easy or difficult it was to find and understand the governance model
PamelaRopafadzo commented 1 year ago

@Chimnwendum Thank you so much for the guide

PamelaRopafadzo commented 1 year ago

@arliss-NF please have a look and let me know your feedback on what I can improve on

Chimnwendum commented 1 year ago

You are welcome👍

On Wed, 8 Mar 2023, 10:43 pm PamelaRopafadzo, @.***> wrote:

@Chimnwendum https://github.com/Chimnwendum Thank you so much for the guide

— Reply to this email directly, view it on GitHub https://github.com/numfocus/outreachy-contributions-2023/issues/6#issuecomment-1460915811, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3QPXKIH4B7D2U5EHDUHMITW3D4ORANCNFSM6AAAAAAVSZNJG4 . You are receiving this because you were mentioned.Message ID: @.***>

arliss-NF commented 1 year ago

@PamelaRopafadzo - this is a very thorough review of InterpretML. Adding all relevant links was much appreciated and combining information from multiple sites/links is part of the skills we are looking for. Adding a summary at the top was a good decision. Keep up the great work