-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add governance model #3153
base: RELEASE_next_minor
Are you sure you want to change the base?
Add governance model #3153
Conversation
This is a great idea! It seems like we might need to clarify the different positions a little bit. It seems like this proposal includes the roles:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the document reasonable. From my slightly outside-perspective, I agree with the view that the model is a formalization of how the project is lead currently.
Commented on a few typos.
doc/governance.md
Outdated
and recant their commit until they become active again. | ||
The list of core developers, active and emeritus is public. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and recant their commit until they become active again. | |
The list of core developers, active and emeritus is public. | |
and recant their commit rights until they become active again. | |
The list of core developers, active and emeritus, is public. |
doc/governance.md
Outdated
|
||
## BDFL | ||
|
||
The Project’s Benevolent dictator for life (BDFL) is Francisco De La Peña. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Project’s Benevolent dictator for life (BDFL) is Francisco De La Peña. | |
The Project’s Benevolent dictator for life (BDFL) is Francisco de la Peña. |
doc/governance.md
Outdated
sole metric on which council membership will be evaluated. | ||
|
||
If a Council member becomes inactive in the project for a period of one year, | ||
they will be considered for removal from the Council. Before removal, inactive |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they will be considered for removal from the Council. Before removal, inactive | |
they will be considered for removal from the Council. Before removal, the inactive |
doc/governance.md
Outdated
- An issue where the person privately gains an advantage from The Project resources, | ||
but The Project has no gain or suffers a disadvantage. | ||
|
||
All members of the Steering Council, shall disclose to the rest of the Council |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All members of the Steering Council, shall disclose to the rest of the Council | |
All members of the Steering Council shall disclose to the rest of the Council |
doc/governance.md
Outdated
any conflict of interest they may have. Members with a conflict of interest in | ||
a particular issue may participate in Council discussions on that issue, | ||
but must recuse themselves from voting on the issue. If the Project Lead has recused | ||
themself for a particular decision, they will appoint a substitute BDFL for that decision. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
themself for a particular decision, they will appoint a substitute BDFL for that decision. | |
themselves for a particular decision, they will appoint a substitute BDFL for that decision. |
doc/governance.md
Outdated
Decisions should be made in accordance with the [mission and values](MISSION_AND_VALUES.md) | ||
of the HyperSpy project. | ||
|
||
The HyperSpy uses a “consensus seeking” process for making decisions. The group |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The HyperSpy uses a “consensus seeking” process for making decisions. The group | |
The HyperSpy project uses a “consensus seeking” process for making decisions. The group |
Thank you @CSSFrancis and @hakonanes for your comments. @CSSFrancis, your summary is correct except that there is no project lead role - sorry this is left over from adding element/removing from the matplotlib governance... 🤦♂️ I will clean this up! |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## RELEASE_next_major #3153 +/- ##
===================================================
Coverage 80.79% 80.79%
===================================================
Files 176 176
Lines 24479 24479
Branches 5707 5707
===================================================
Hits 19777 19777
Misses 3382 3382
Partials 1320 1320 ☔ View full report in Codecov by Sentry. |
developer guide. | ||
|
||
Core developers that have not contributed to the project (commits or GitHub comments) | ||
in the past 12 months will be asked if they want to become emeritus core developers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really want to check that so frequently, maybe 24 months?
- Make decisions about strategic collaborations with other organizations or individuals. | ||
- Make decisions about specific technical issues, features, bugs and pull requests. | ||
They are the primary mechanism of guiding the code review process and merging pull requests. | ||
- Make decisions when regular community discussion doesn’t produce consensus on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Make decisions when regular community discussion doesn’t produce consensus on | |
- Make decisions when a regular community discussion does not produce consensus on |
To become eligible for being a Steering Council Member an individual must be a | ||
Project Contributor who has produced contributions that are substantial in quality | ||
and quantity, and sustained over at least one year. Potential Council Members are |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
duplication from above (lines 92-94)
|
||
It is expected that the SC Members will be employed at a wide range of companies, | ||
universities and non-profit organizations. Because of this, it is possible that | ||
Members will have conflict of interests. Such conflict of interests include, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Members will have conflict of interests. Such conflict of interests include, | |
Members will have conflicts of interests. Such conflicts of interests include, |
# Decision Making Process | ||
|
||
Decisions about the future of the project are made through discussion with all | ||
members of the community. All non-sensitive project management discussion takes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
members of the community. All non-sensitive project management discussion takes | |
members of the community. All non-sensitive project management discussions take |
Decisions about the future of the project are made through discussion with all | ||
members of the community. All non-sensitive project management discussion takes | ||
place on the [issue tracker](https://github.com/hyperspy/hyperspy/issues). Occasionally, | ||
sensitive discussion may occur on a private communication channel. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sensitive discussion may occur on a private communication channel. | |
sensitive discussions may occur on a private communication channel. |
Decisions (in addition to adding core developers and SC membership as above) | ||
are made according to the following rules: | ||
|
||
- **Minor documentation changes**, such as typo fixes, or addition / correction of a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not notably relaxed compared with major documentation changes. Except that "reasonable time" might be shorter here.
place on the [issue tracker](https://github.com/hyperspy/hyperspy/issues). Occasionally, | ||
sensitive discussion may occur on a private communication channel. | ||
|
||
Decisions should be made in accordance with the [mission and values](MISSION_AND_VALUES.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you plan to add this document?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I do! 😃
Thanks for the proposal. Indeed, looks like a good formalization of how we operate so far and does seem to be appropriate considering the scope the project has reached. I left a few minor comments, corrections and thoughts. What we might want to discuss in addition is how to handle RosettaSciIO (and the planned future split-offs). For the moment, I would see it appropriate not to duplicate efforts and run it by the same teams (given that it is part of the same organization). But we should maybe mention that somewhere here and on the Rosetta-Docs. That said, RosettaSciIO is a project that has the potential to grow to a point where it could make sense to have a (partially) separate governance (e.g. by enacting the project specific roles that you leave out for the moment). |
Yes, this is a very good point and it makes to me. Once this governance is approved, I think that we should create additional core-developer team (also for other newly split packaged) and RosettaSciIO should have its own core-developer team. Then we can follow the process defined in this document to add core-developers. When you say specific roles, is there anything in particular you have in mind? |
activities. Core developers appear as organization members on the HyperSpy | ||
[GitHub organization](https://github.com/orgs/hyperspy/people) and are on our | ||
[@hyperspy/developers](https://github.com/orgs/hyperspy/teams/developers) GitHub | ||
team. Core developers are expected to review code contributions while adhering to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that https://github.com/orgs/hyperspy/teams/developers is not visible when not logged into GitHub and even this was case, it could be misleading. Maybe we should remove if for now and simply say that different library of the HyperSpy organisation can have their own core-developer team.
Edit: I realize I might have misread the point above but I think the comment still is valid to the entire discussion if not directly relevant. It might be good to have a single point of contact for things like workshops, training materials and community development. We should be a little better about advertising on hyperspy when tutorials etc are happening and sometimes there should be more information on how to set one of those up. I also think things like in person user meetups at conferences etc would be fun and help to drive a larger sense of community.
|
I was thinking that However, we should also take care that we do not overdo the administration part for the moment. Therefore, I would also be happy to start with a single core developer team for all HyperSpy-projects, but leave the splitting up as an option. Anyway, we might want to mention the sub-projects somewhere in the document to make clear that it also applies to them? |
Re-opening because this has been closed automatically by mistake! |
This is a first draft of the governance model that Francisco and I have drafted and it is mainly an adaptation from the original jupyter project governance document.
It is finished, for example, a few points need work but it would be useful to get input from the community in order to get the ball rolling with the adoption of a formal governance model.
Please comment on the pull request. 😃
Below are links to other relevant governance documents: