Skip to content
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

Revise SEP 2: A New Governance Structure for SunPy #62

Closed
wants to merge 37 commits into from

Conversation

Cadair
Copy link
Member

@Cadair Cadair commented Oct 13, 2022

Rendered Markdown

This is rewrite of SEP 2 (The SunPy governance document), currently I have added it as a new file for ease of review, but I think ultimately it may replace SEP 2.


Remaining Discussions

This PR is getting unwieldy so here is (as of the 14th June 2023) the main points of discussion:

There are some other unresolved conversations, but hopefully they are all clarifications / minor corrections.


I have been thinking about the current issues with our governance over the last few years, and was also involved in the Astropy governance work which lead to the drafting of APE 0. This rework of the governance was discussed at a session of the 2022 coordination meeting, and I hope that I have taken on board the key points raised in that discussion.


Reviewing this document

For this new governance structure to be accepted there needs to be community discussion and hopefully consensus. Then the board will approve the SEP and the new structure will come into effect.

I am sure there will be lots of word smithing to be done and tweaking to be had, but I would hope that we can maintain a lightweight governance. To that end I am very open to suggestions of where to strip things out of here.

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
Co-authored-by: Nabil Freij <nabil.freij@gmail.com>
Copy link
Member

@dstansby dstansby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've only got halfway down, but here's some comments so far. Overall it looks 👍

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
@tiagopereira
Copy link
Member

Apologies for those changes coming as a hard commit. I didn't know how to make suggestions in code. Since there were just spell checking, I though they would be non controversial.

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
Copy link
Member

@mbobra mbobra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for taking the time to draft this! It looks really good.

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Show resolved Hide resolved
Cadair and others added 2 commits October 25, 2022 16:39
Co-authored-by: David Stansby <dstansby@gmail.com>
Copy link
Member

@dstansby dstansby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from where I've commented, this looks 👍 to me - thanks a lot @Cadair for putting in the work to get this far!

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
1. The candidate is then put to the Project Members.
The name and nomination statement of the candidate will be shared with the Project Members.
The candidate can become a Project member if five existing Project members approve the candidate and no Project Members call for an election within two weeks of the candidate being put to the Project Members.
1. Project Members can call for an election either by posting in the discussion of the candidate or reaching out privately to the Steering Committee or the Ombudsperson.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"discussion of the candidate" is really weird - I certainly wouldn't put myself forward if I was going to be "discussed"!!! If anyone wants to object I think they should do it by getting directly in touch with the steering comittee.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Point taken, I wouldn't mind making this "inform the steering committee".

The thinking behind putting this here is because of how I expect this process to practically work (again largely stolen from astropy).

  1. Steering committe gets nomination and verifies it
  2. Steering committee posts to a private section of the Discourse for the project members, saying "hey this person has been nominated, do you approve or desire a vote"
  3. Someone decides they want a vote and just says "vote on this one please".

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
Cadair and others added 2 commits October 26, 2022 10:26
Co-authored-by: David Stansby <dstansby@gmail.com>
Copy link
Member

@ehsteve ehsteve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall I think this is a good thing. I like the idea of giving more power to the project members. I'm not a fan of the current steering committee structure. They should be equally strong. I do worry that this adds more formalism and bureaucracy that may not actually lead to any visible change to how the project is run and by whom given that our community is rather small.

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Show resolved Hide resolved
* **The deputy lead developer** in the absence of the lead developer, the deputy shall perform all the duties of the lead developer.
* **The financial officer** the financial officer is primarily responsible for ensuring the health of the project finances and setting up processes for managing expenses and reporting to the board on financial matters.

The steering committee is elected by the **project members**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must the steering committee members originally be project members? I don't see that written anywhere but i may have missed it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not stated that either way. Astropy did not make that a requirement, I am open to opinions either way.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we would enforce it, you never know but I would be very surprised if they were not project memebers beforehand.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have for the moment added a comment saying they do not need to be project members. I am happy to discuss that though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ehsteve says elsewhere

I disagree with this. I feel like they should have to have been Project Members before being elected to the Steering Committee. The Project Members will elect them and it is best if they know them and have worked with them before than some external person that Project Members may not know at all.

SEP-0002-revised.md Outdated Show resolved Hide resolved
@Cadair
Copy link
Member Author

Cadair commented Oct 26, 2022

I do worry that this adds more formalism and bureaucracy that may not actually lead to any visible change to how the project is run and by whom given that our community is rather small.

I have tried to keep this to a minimum while achieving the objective of getting more people involved in the governance.

I think all the extra complexity here is inescapable when you choose to have the executive be elected rather than appointed by a self-electing board. I have tried to reduce the administration required in the adding new Project Members, and the election of the committee is an objective for me so hard to avoid!

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
* The Advisory Board shall consist of at least 3 members and no more than 5 members. The Advisory Board selects how many members within this range are needed.
* All members shall serve a maximum of a two-year term, and may be re-appointed at the end of their term.
* Membership terms should be staggered so that approximately half the number of members will end their terms in any given year.
* The Advisory Board may appoint members to its number up to the maximum number of members.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The Advisory Board may appoint members to its number up to the maximum number of members.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without this there isn't wording which states how people are appointed to the board?

SEP-0002-revised.md Outdated Show resolved Hide resolved
The name of a candidate should not be shared outside of the Project Members until they become a Project Member.
A public list of Project Members will be kept on the SunPy website.

Nominations, approvals and any elections of Project Members should take place before the initial election of the Steering Committee.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean? Can't elections of Project Members occur at any time?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is specifically about the first set of elections. To phrase it a slightly different way it is saying "the initial set of project members must hold an election for more project members before electing the first steering committee".

SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
SEP-0002-revised.md Outdated Show resolved Hide resolved
@ehsteve
Copy link
Member

ehsteve commented Apr 21, 2023

@Cadair do we need another board meeting to discuss further?

@Cadair
Copy link
Member Author

Cadair commented Jun 13, 2023

@ehsteve I suggest we schedule one with the objective of approving and merging this.

@ehsteve
Copy link
Member

ehsteve commented Jun 13, 2023

@Cadair looks like this is still a draft. How much time is needed to clean this up and have it ready for a vote?

@Cadair
Copy link
Member Author

Cadair commented Jun 13, 2023

Not much. I shall try and do it tomorrow. Certainly less than it takes to schedule a board meeting 😝

Co-authored-by: Steven Christe <ehsteve@users.noreply.github.com>
@ehsteve
Copy link
Member

ehsteve commented Oct 23, 2023

@Cadair hope you have some time to clean this up so we can't get this behind us finally!

@Cadair
Copy link
Member Author

Cadair commented Apr 9, 2024

This PR is now replaced by #80

@Cadair Cadair closed this Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.