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

Governance Finalization #51

Merged
merged 23 commits into from
Jul 21, 2022
Merged

Governance Finalization #51

merged 23 commits into from
Jul 21, 2022

Conversation

tnabtaf
Copy link
Contributor

@tnabtaf tnabtaf commented Jun 15, 2022

Hello all,

This pull requests implements the proposals described in Issue 47.

There are three major updates in this PR:

  • Steering Council Membership restrictions based on shared funding
  • Provisional Steering Council Memberships for organizations starting to fund work in the conda ecosystem.
  • Trademark policy

This update basically reiterates the earlier proposals, but in the actual governance document.

What next?

Steering Council Review and Feedback

Please add your feedback here, or on the next coda conference call. We will adjust the proposal accordingly.

Determine who will be on the updated Steering Council

Item # 4 in the proposed transition plan is:

4. Set up transition from current Steering Council

Our current Steering Council membership exceeds the shared funding thresholds in this proposal.

A proposal:

  1. To comply with the new limits, the vote to approve the new voting and membership model should also be a vote on what the initial membership of the revised council should be, once the new limits are applied. The new rules, and the revised council membership will happen simultaneously.
  2. We will need to know the funders of every candidate for the revised council before we vote on the proposal
  3. Currently, Anaconda, Quansight, and Voltron Data each fund more than the proposed maximum number of allowed council members (max: 2). We suggest that each block of members with common funding decide amongst themselves who will be on the revised Steering Council. We strongly suggest that anyone who drops from the Steering Council continue to be actively involved in community discussions and calls, and if you aren't already, join any conda or conda-incubator teams you are interested in.

To be clear, everyone on the current council will be eligible to vote on the rules change and the suggested revised Council membership.

These three groups will need to determine who their 2 representatives will be.

Remaining members document their significant funders

This should go into a new column in the steering.csv file.

Vote!

The Steering Council votes on the revised proposal.

Deploy

If the changes are approved, the governance document will be moved from the conda-incubator GitHub organization to the conda GitHub organization. Files in conda-incubator will be updated to point to conda.

This a first attempt at describing the updated proposals for governance.
The two big changes are
* Restricting the number of Steering Council members with common funding
* Adding Provisional members. Hoping to get commercial entities quickly involved.
Copy link
Contributor

@beckermr beckermr left a comment

Choose a reason for hiding this comment

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

I'd like a chance to suggest changes to this before it is put to a vote. There are a few other changes in structure I think we should couple together to minimize a high-threshold vote.

@beckermr
Copy link
Contributor

beckermr commented Jun 18, 2022

Ok @tnabtaf @conda-incubator/steering I have pushed some additional changes to the PR as commit e7a35ce.

These changes do a few things:

  1. They add specific policies for various appeals, membership removal, etc. actions.
  2. Emeritus members can no longer vote.
  3. Community projects can remove contributors via a simple majority vote.
  4. Specification projects have been removed in favor of CEPS.
  5. Steering council members no longer have commit rights to all community projects. They instead have to apply like everyone else.

The change in the status of emeritus members was motivated by the new specific council maximum membership size. This size was made to constrain voting powers and having emeritus members vote breaks that.

@beckermr
Copy link
Contributor

Looking at this more I may want to reconsider allowing the steering council to remove emeritus members.

@beckermr
Copy link
Contributor

Definitely looking for comments on this.

@ocefpaf
Copy link
Contributor

ocefpaf commented Jun 20, 2022

Definitely looking for comments on this.

You mean on #51 (comment)? If so, I'm not OK with us removing folks just b/c they are emeritus and some x amount of time passed. I'm OK with us asking them, from time to time, if they still want to remain emeritus or if they want to be removed.

@beckermr
Copy link
Contributor

Sounds good @ocefpaf. I'll push a change to remove that. Thanks for the feedback!

@beckermr
Copy link
Contributor

done @ocefpaf!

@jezdez
Copy link
Member

jezdez commented Jun 20, 2022

@beckermr @ocefpaf That makes me wonder if it'd be worthwhile to define an annual review cycle for emeritus members in the policy, so it doesn't become a task nobody actually feels responsible for doing? I think so far @beckermr has done this and I'd like to remove the number of uncomfortable things he has on his plate.

@tnabtaf
Copy link
Contributor Author

tnabtaf commented Jun 22, 2022

@beckermr Thanks for the policy (and typo - sorry!) updates.

@tnabtaf
Copy link
Contributor Author

tnabtaf commented Jun 22, 2022

All, I think this might be ready for discussion on today's call...

README.md Outdated Show resolved Hide resolved
@jezdez
Copy link
Member

jezdez commented Jul 6, 2022

@conda-incubator/steering

This PR falls under the "Modifying the governance document" policy of the conda governance policy, please vote and/or comment on this PR.

This PR needs 75% of the Steering Council to vote yea to pass.

Note: The vote is for TWO items at once to reduce voting overhead.

The following two proposals are voted on:

  1. This pull request to implement an update to the conda & conda-incubator governance policy as described in conda Organization Steering Council Membership & Voting Proposal #47 (see this pull request's content for more details).

  2. The "Fiscal Sponsorship Proposal" documented in Fiscal Sponsorship Proposal #54.

To vote for both, please leave Approve (yea) or Request Changes (nay) pull request reviews.

If you would like changes to the current language, please leave a comment (in the governance policy PR or fiscal sponsorship issue) or push to this branch.

This vote will end on 2022-07-20.

@jezdez jezdez requested a review from a team July 6, 2022 18:32
@jezdez jezdez added the vote Voting following governance policy label Jul 6, 2022
Copy link
Contributor

@CJ-Wright CJ-Wright left a comment

Choose a reason for hiding this comment

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

In my opinion this document lacks the requisite specificity in some areas, enforcement mechanisms on some of its rules and generally seems to be missing a consideration of the complex economic incentive structures that it will create. While I appreciate the motivating situation driving this radical restructure of our governance I think this will only make matters more difficult to track. I am concerned that this will actively push away would be contributors as their actions could have vast implications for their organizations.

I am making this comment solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties.

README.md Outdated

The minimum of 9 works well with the [minimum quorum size of 5](#quorum) specified below. The maximum of 21 allows for a diversity of members, including as many as 7 Provisional Members (see below), and representation from 11 to 21 different participating organizations (see below).

If the Steering Council falls below its minimum, then all other Council business is suspended until this requirements is met. The requirement can be met by adding Provisional members, adding new contributing members, or members coming back from Emeritus status.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think all other Council business is a bit vague. This most likely needs to call out explicitly what business can be performed, eg the election of new members. I'll also note that the quorum size would imply that elections of members to the Council would not be possible and so would effectively grind operations to a halt permanently.

I am making this comment solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think all other Council business is a bit vague. This most likely needs to call out explicitly what business can be performed, eg the election of new members.

Hmmm. Every way I came up with to rewrite this statement:

If the Steering Council falls below its minimum, then all other Council business is suspended until this requirements is met.

actually made things less clear. The best I came up with was:

If the Steering Council falls below its minimum, then the Steering Council's first priority is to meet this requirement.

Which actually says something slightly different. :-(

@CJ-Wright (or anyone), any suggestions would be most welcome.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll also note that the quorum size would imply that elections of members to the Council would not be possible and so would effectively grind operations to a halt permanently.

I had not thought about the possibility of dropping below 5 Steering Council members. That would require first dropping to 9 members, and then the mass simultaneous resignation of at least 5 members (a majority of the remaining council).

Unfortunately there are good reasons for that minimum quorum size of 5. If we modify that requirement it would take a paragraph of text and more rules to explain an equivalent policy for minimum quorum size.

@CJ-Wright, can I talk you into dealing with this situation if and when we get close to it? If we ever get close to just 9 members, then that implies that we need to reconsider a lot more than just minimum quorum size. If we get close to 9 members then this whole approach needs to be revamped.

Copy link
Contributor

Choose a reason for hiding this comment

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

We should not leave things to be resolved. They should be explicit and decided now. We have to let the minimum quorum rule be overrides by the vote timeout rules. If after a total of 3 emails, 3 chat messages, and a discussion at a community meeting over two weeks not more than five people respond to a vote then I think it should be fine for people to go ahead.

Copy link
Contributor

Choose a reason for hiding this comment

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

In the topic of collaboration council business allowed if we do not meet membership requirements, clearly the only actions allowed should be votes related to changing the council membership. These are enumerated in the new doc already so we should simply list them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CJ-Wright We dropped the maximum number of council members from the proposal. This will help address the concern about when someone leaves a company, but not the council.

README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Outdated

Council members need to keep their funding documentation up to date, and notify the council whenever it changes. Should a change in funding state create a shared funding situation, the council members should decide who among themselves should move to emeritus status. If no agreement can be reached, the Steering Council will hold a simple vote to determine which member is moved to emeritus status under the [Resolve Overlapping Funding](#resolve-overlapping-funding) voting provision below.

In cases where people have absolutely no funding related to conda, we still document this funding state, but we do not require people to list their (irrelevant) funding. The "no funding" state can be held by an unlimited number of Steering Council members.
Copy link
Contributor

Choose a reason for hiding this comment

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

How is this "no funding" determined? If someone works on Conda to patch bugs found in the pursuit of a particular grant were they funded to work on Conda?

I am making this comment solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties.

Copy link
Contributor

Choose a reason for hiding this comment

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

I suppose it would be up to a vote? The described scenario sounds like its answer is no, but more info could change that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CJ-Wright It's clear to me (in my brain!) that the answer to this specific question is "No," the person is not funded to work on conda. However, my brain is not part of this document.

What about:

In cases where people have absolutely no funding related to conda, we still document this funding state, but we do not require people to list their (irrelevant) funding. The "no funding" state can be held by an unlimited number of Steering Council members.

What about cases where someone works on conda for work they are doing, but improving/directing the conda ecosystem is not a specific component of any of their funding? Generally, such cases should be considered as "no funding."

(And then we will thank these people! Volunteers are a big part of the conda community and many components of the ecosystem would not exist without their contributions. The conda community absolutely wants these contributors involved in the community.

Ok, that gets a little preachy towards the end. We could not include that last paragraph.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think that improving/directing the conda ecosystem is not a specific component of any of their funding can reasonably be argued to cover most folks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CJ-Wright & @awwad: More descriptive text has been added.

@beckermr
Copy link
Contributor

@conda-incubator/steering today is the last day to vote on this proposal

@marcelotrevisani marcelotrevisani self-requested a review July 20, 2022 15:26
@teoliphant
Copy link
Contributor

I don't see how to approve this, but I approve. I would like to see the steering council size change to min of 3 and max of 9 but that can be discussed later. I generally believe steering councils should be smaller and sub-committees and participation larger. I could also see changing the max of 2 from each funder to a percentage maximum that the steering council can be composed of from a single funding source (i.e. 1/3 is the maximum or something like that) -- rather than a hard limit on the number of people.

Copy link
Contributor

@teoliphant teoliphant left a comment

Choose a reason for hiding this comment

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

I approve the initial documents. I would like further discussion and potential updates to the documents around two issues:

  1. Steering council max and min size (my suggestion is min of 3 and max of 9)
  2. Steering council members from the same funding source is a max of 33% rather than a number of individuals (so the number of individuals depends on the steering council size).

@teoliphant
Copy link
Contributor

This is very exciting to see the tremendous amount of work that has gone into this process. This is very promising for the future of the conda organization.

Copy link
Member

@jakirkham jakirkham left a comment

Choose a reason for hiding this comment

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

Generally this seems fine from my perspective. Had a couple questions and suggestions below


### Shared Funding: Proximate, Ultimate, and In Between

Generally, people have shared funding if they are an employee, officer, or member of the Board of Directors of the same entity; if they have a significant consulting relationship with the same entity; or if they own at least 1% of the equity or debt, or derivatives thereof, of the same entity.
Copy link
Member

Choose a reason for hiding this comment

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

Curious how we came to the 1% equity or debt provision. Think 5% is typically when one needs to make filings about involvement. Also debt doesn't usually give voting rights (except for some peculiar circumstances like restructuring, in which case it is converted to equity). Mentioning this as I'm wondering if this is unnecessarily restrictive on say entrepreneurs for example

Copy link
Member

Choose a reason for hiding this comment

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

Good point, @tnabtaf may be able to shed more light on where this came from.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jakirkham I copied this number straight from the PSF governance PEP. That paragraph was written by Van Lindberg. I don't have a strong opinion.

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
beckermr and others added 2 commits July 20, 2022 14:26
Co-authored-by: jakirkham <jakirkham@gmail.com>
Co-authored-by: jakirkham <jakirkham@gmail.com>

In cases where people have absolutely no funding related to conda, we still document this funding state, but we do not require people to list their irrelevant funding. The "no funding" state can be held by an unlimited number of Steering Council members.

What about cases where someone works on conda for work they are doing, but improving/directing the conda ecosystem is not a specific component of any of their funding? Generally, such cases should be considered as "no funding."
Copy link
Contributor

Choose a reason for hiding this comment

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

Am I right to interpret this that employees of a corporation who happen to work on the conda ecosystem but it isn't their direct job function should be considered "no funding"?

If so, is there anything stopping a malicious organization from having a bunch of people indirectly work and end up as "no funding" in order to seize control?

Copy link
Contributor

Choose a reason for hiding this comment

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

My understanding is that if someone pays you to work on conda, direct or indirect, then you are funded. If you only work on conda on unpaid time, then you are not funded. A grad student doing conda in their free time is thus unfunded, but folks at Voltron data working on conda as part of their job are funded.

Copy link
Contributor

Choose a reason for hiding this comment

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

Presumably, if you are doing something on company time, the company knows about it, and thus you are funded.

Copy link
Member

Choose a reason for hiding this comment

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

Developers working on something on the weekend may be "not funded" in the same way as a grad student is. Think this is Keith's point.

If that work became important for the day job, that individual would then become funded. They would then be obligated to report their change in status per the governance document.

Since there is a limitation of 2 funded people per company, if there were others that were funded, the company would need to update who they want to keep in the council when this change occurred.

So no I don't think a company could takeover the steering council in this way, but they could mess up on process steps here and there could be consequences for those errors.

Copy link
Contributor

Choose a reason for hiding this comment

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

Right. These things can be put to a vote should something happen.

Copy link
Member

Choose a reason for hiding this comment

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

@beckermr Since it was not explicitly specified I assumed we're using the good old Anywhere on Earth (AoE) "timezone", to be as inclusive as possible. This has worked well in other Open Source communities that I've participated in the past.

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree that this is the start, not the endpoint. Should we have the energy to pursue more governance modifications in the future, I'd be happy to help drive those along as well within reason.

Anywhere on earth is excellent and I will be using that a lot from now on!

Copy link
Contributor

Choose a reason for hiding this comment

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

The point around recruitment of talent by companies being hindered by this rule is an interesting point (Idk if that particular concern came up)

It's actually the opposite I am more concerned about. If an individual is on the steering council and wishes to continue to be, it potentially hinders their ability to change companies and grow their career as other companies may already have 2 members on the steering council.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah sorry Keith I may not have articulated that point well, but my intended meaning was the same as yours.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kkraus14: Yes. :-(

Weighted voting could help address this, while preserving limits on any one organization.

We need to find a cadence for making significant (requiring a vote) changes to governance. We could reconsider weighting the next time we do this.

Copy link
Contributor

@kkraus14 kkraus14 left a comment

Choose a reason for hiding this comment

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

Based on recent comments about companies and being "nonfunded" I am -1

@jezdez
Copy link
Member

jezdez commented Jul 21, 2022

Voting results

The vote is over on this governance update proposal.

Among Steering Council members there are 20 "yes", 1 "no", and no abstentions.

This vote has reached quorum (21 is at least 75% of 22).

It has also passed since it recorded 20 "yes" votes and 1 "no" vote giving 20/21 which is greater than 75% of 21.

@tnabtaf
Copy link
Contributor Author

tnabtaf commented Jul 22, 2022

Hi All,

I will be back at work next week, and I will start haranguing current members to document their funding, and for certain blocks to decide on who will stay on the steering council when a funder has too many representatives.

After that I will create PRs to move the governance documents from conda-incubator to conda.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vote Voting following governance policy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet