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

First Contribution by Rashid Leonard #23

Closed rashidleonard closed 1 year ago

rashidleonard commented 1 year ago

My name is Rashid Leonard. I was assigned the CVXPY project. Here is the link to the project's governance model.

CVXPY is an open source Python-embedded modeling language for convex optimization problems. It lets you express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers. Convex Optimization is a subfield of Mathematical Optimization that studies the problem of minimizing convex functions to linear and nonlinear constraints. Convex optimization problems can take many forms including linear programming, quadratic programming, second-order clone programming and semi definite programming. CVXPY is a versatile optimization tool that can be used to solve these problems in a wide range of disciplines including Engineering, Finance, Operations Research, Statistics, Economics, and Data Science among others.

Governance Structure The governance document for the CVXPY project outlines the entities and their respective obligations, the decision making process (including how to deal with conflict of interest situations), GitHub permissions and channels through which the community can contribute or participate in the CVXPY project. The governance document can be found publicly in the GitHub repository of the project. A small team, currently about five people, is in charge and is also the final arbiter or authority of the technical decisions and development of the project. The governance document also contains the Code of Conduct and Mission statements of the project. The CVXPY project is both made for the community and by the community. As an open-source project, CVXPY highly values community contributions to maintain and improve the CVXPY repository.

Project Roles Here are some roles under the CVXPY project:

  1. Project Maintainers
  2. Benevolent Dictator For Life(BDFL)
  3. Emeritus Project Maintainers
  4. Steering Committee

Decision Making Process Financial Decisions are made with a majority approval by the Steering Committee whereas the non-financial decisions are made by the project maintainers and sometimes the BDFL is invited to make a non-financial decision on rare occasions. Non-financial decisions include code-related decisions, changes to public API, and, long-term strategic planning for the project. The governance model document of the CVXPY project also describes steps to address Conflict of Interest situations when it arises.

Finding and Understanding the Governance Model It was not difficult to find the governance document. I clicked on about three repositories until I located the governance.md file.

If access to the governance model easily by all kinds of users is really a big deal, I suggest it be kept in a separate repository with the repository name being “governance-model”.

rashidleonard commented 1 year ago

Hi @arliss-NF, here is my first contribution. Thanks.

arliss-NF commented 1 year ago

@rashidleonard - great first task. Closing this issue - feedback is given on the second contribution by this applicant.