Skip to content

Add an official Governance structure #31

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

Merged
merged 14 commits into from
Oct 26, 2020
Merged

Add an official Governance structure #31

merged 14 commits into from
Oct 26, 2020

Conversation

odow
Copy link
Member

@odow odow commented Oct 13, 2020

This PR adds a formal governance structure for the JuMP project.

A related document is the SciML governance page: https://sciml.ai/governance/

Before merging, this PR requires approval from:

Copy link
Member

@mlubin mlubin left a comment

Choose a reason for hiding this comment

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

It's good that we have a starting point now. But this is missing a discussion about how decisions (technical and otherwise) are ultimately made. BDFL or majority vote or consensus? May need to discuss in a call.

@odow
Copy link
Member Author

odow commented Oct 13, 2020

But this is missing a discussion about how decisions (technical and otherwise) are ultimately made. BDFL or majority vote or consensus?

Consensus discussion on Github or a monthly developer calls. But we nominate you as BDFL with sole veto power? Agree probably needs to be discussed on call.

@mlubin
Copy link
Member

mlubin commented Oct 13, 2020

(Not yet commenting on the BDFL nomination.) Another important issue is allocation of commit bits and having a clear pathway for community members to become either part of the core team or an effective owner of a JuMP-dev repository (e.g., wrappers).

Copy link
Member

@mlubin mlubin left a comment

Choose a reason for hiding this comment

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

I would suggest a bit of a restructuring to clarify the roles of the core developers and steering council. Right now, core developers are a level 3 heading under "commit rights" while the steering council is a level 2 heading, which doesn't seem right. The distinction between what's a technical decision that falls to core developers and what's "other" that falls to the steering council is also ambiguous.

In my view, the steering council should be secondary to the core developers. In terms of decision making, the core developers have ultimate authority on the direction of the project (nothing can really happen without their agreement). The steering council is there to support the core developers, e.g., by handling finances and representing JuMP with NumFOCUS. The steering council can gain additional decision-making power if the core developers decide to delegate, e.g., choosing a chair for the JuMP-dev workshop.

What do you think?

@odow
Copy link
Member Author

odow commented Oct 18, 2020

What do you think?

Agree. How's this now?

Copy link
Member

@mlubin mlubin left a comment

Choose a reason for hiding this comment

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

I have more comments on the text, but first a larger refactoring suggestion. The decision-making process discussion is smeared across different sections, e.g., "Core contributors are the ultimate authority on the direction of the JuMP project." in the definition of core contributors.

What about:

  1. Basic definition of the various entities, i.e., core contributors, emeritus core contributors, repository maintainers, steering council (interface with NumFOCUS), BDFL, and how membership in each group is determined.
  2. The decision-making process
  3. GitHub permissions for each group (if applicable). The GitHub permissions are there to enable people to carry out the decision-making process, so they're secondary in that respect.
  4. Channels of community involvement

@mlubin
Copy link
Member

mlubin commented Oct 20, 2020

Now's a good time to get feedback from the other core developers. @blegat @joaquimg


Community members may be maintainers of multiple repositories at the same time.

Each repository should list the current maintainers in their corresponding
Copy link
Member

Choose a reason for hiding this comment

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

This might create an artificial barrier. Some people might be good repository maintainers but not want to have their name on the README, which potentially invites attention and demands from users. We could use a separate and less user-facing page to list repository maintainers.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fair point. I've removed for now. We can revisit if/how to give maintainers recognition in future. Are you thinking a MAINTAINERS.md in each repo? Or a page on jump.dev?

Copy link
Member

Choose a reason for hiding this comment

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

I was thinking a page on jump.dev.

@odow odow force-pushed the od/gov branch 2 times, most recently from a345fa1 to cdf32db Compare October 20, 2020 04:16
@odow odow marked this pull request as ready for review October 20, 2020 04:46
@odow odow changed the title Draft of an official Governance structure Add an official Governance structure Oct 20, 2020
Copy link
Member

@joaquimg joaquimg left a comment

Choose a reason for hiding this comment

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

Great work!
Left some comments.

the [NumFOCUS Code of Conduct](https://numfocus.org/code-of-conduct) and the
[Julia Community Standards](https://julialang.org/community/standards/), which
reflect the values of our community. Both these links have information on how to
confidentially report a violation.
Copy link
Member

Choose a reason for hiding this comment

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

should we link this:
https://github.com/jump-dev/JuMP.jl/blob/master/CODE_OF_CONDUCT.md
or maybe simplify 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.

Once this governance document is finalized, I propose we replace the CODE_OF_CONDUCT.md with a link here instead.

Copy link
Member

@blegat blegat left a comment

Choose a reason for hiding this comment

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

Looks good!

Copy link

@chkwon chkwon left a comment

Choose a reason for hiding this comment

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

Looks good to me.

Copy link

@joehuchette joehuchette left a comment

Choose a reason for hiding this comment

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

LGTM

@juan-pablo-vielma
Copy link

LGTM

@IainNZ
Copy link

IainNZ commented Oct 21, 2020

LGTM

@odow
Copy link
Member Author

odow commented Oct 23, 2020

I'll leave this open for the weekend if anyone has additional comments, particularly the new wording of the mission. If there are no issues raised, I will merge Sunday evening US Eastern time.

@joaquimg
Copy link
Member

One minor, non-blocking, comment.
Did we put the governance tab as the second tab on the webpage on purpose?

In https://sciml.ai/governance/ it is close to the end...
In https://scikit-learn.org/stable/about.html is it even a bit hidden in "about us".
A bit hidden in https://docs.scipy.org/doc/scipy/reference/index.html also...

Not suggesting it should be hidden, but I would move it to the end.

@odow
Copy link
Member Author

odow commented Oct 23, 2020

We now have:
image
I moved the forum, chatroom, and Code/Ecosystem page under "Community", and renamed "News" to "Blog"

@odow odow merged commit c616615 into master Oct 26, 2020
@odow odow deleted the od/gov branch October 26, 2020 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

8 participants