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

Generalizing AC Appeals and using this procedure for recall. #888

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

frivoal
Copy link
Collaborator

@frivoal frivoal commented Jun 18, 2024

This PR is a first draft attempting to address #886 and #882. Neither haveIt has not been resolved on at this point, but this shows what adopting themit could look like.

It can be reviewed as a whole, or commit by commit, to distinguish the effects of #886 from those of #882.

update: #886 has been handled separately, removing discussion of it from this pull request.


Preview | Diff

@frivoal frivoal added the Agenda+ Marks issues that are ready for discussion on the call label Jun 18, 2024
index.bs Outdated Show resolved Hide resolved
index.bs Outdated
Comment on lines 1329 to 1340
A single [=Member=] or group of [=related Members=] cannot re-invoke this process
sooner than 6-month since their previous invocation,
Copy link
Member

Choose a reason for hiding this comment

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

It's unclear when the six-month timer begins. So, this —

Suggested change
A single [=Member=] or group of [=related Members=] cannot re-invoke this process
sooner than 6-month since their previous invocation,
A single [=Member=] or group of [=related Members=] cannot re-invoke the [=recall=] process
less than six months following the conclusion of their previous invocation,

Copy link
Member

Choose a reason for hiding this comment

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

— or this —

Suggested change
A single [=Member=] or group of [=related Members=] cannot re-invoke this process
sooner than 6-month since their previous invocation,
A single [=Member=] or group of [=related Members=] cannot re-invoke the [=recall=] process
less than six months following the initiation of their previous invocation,

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I meant the second one, but it seems to me that the existing phrasing already is unambiguous (and shorter). Can you help me understand why you think it's not clear?

Copy link
Member

Choose a reason for hiding this comment

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

why you think it's not clear

Uh... because it wasn't clear to me, after reading several times. Hence my comment, and alternate suggestions.

It matters, because if the process initiated on 2025-06-01 takes 2025-09-15, re-invocation request might not be accepted until 2025-12-01 or until 2026-03-15. It's important to be able to calculate which date applies.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think the key to me is that "invoking" is a point in time, at the start, not a period, just the same way "initiating is" (with the nuance that invoking is more specific: it's initiating by saying something).

So, your second phrasing matches what I meant, but to me it feels redundant: at the since the start of the beginning of the initiation of the invocation… ;)

Copy link
Member

Choose a reason for hiding this comment

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

I think that your phrasing is ambiguous enough that it could be read as starting the six month timer at conclusion of the previous invocation, which would be certain to prevent overlapping recall process runs, which seems a likely reason for this timer.

Starting the timer at "invocation time" leaves the potential of overlap, if an early run takes longer than 6 months (which seems possible if unlikely).

It might help to include a reason for this required time lapse?

Suggested change
A single [=Member=] or group of [=related Members=] cannot re-invoke this process
sooner than 6-month since their previous invocation,
A single [=Member=] or group of [=related Members=] cannot re-invoke the [=recall=] process
less than six months following the start of the process based on their previous invocation,

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It might help to include a reason for this required time lapse?

Generally, if you ask for a recall and the motion does not pass, being able to ask again and again has more to do with harassment than with accountability, even if you target different subsets of the elected body every time, so we should try to prevent it. However, if new facts come to light, asking for another recall might be appropriate.

if an early run takes longer than 6 months (which seems possible if unlikely).

I don't think it is or should be possible:

  • first someone invokes the recall
  • Within one week, the Team must open a poll to see if there's support
  • Withing one week of that, if we don't reach 5%, it's over, and if we do, we launch the full recall vote
  • after the vote, the procedure ends, and there's no recourse

It is true that the Process doesn't specify how long the vote should stay open, but a 6 month balloting period is unheard of and would be unreasonable. Maybe we should encode into the Process that the ballot stay open for 28 days, which is a typical duration for that sort of things (e.g., that's what was used for the EME AC Appeal)

index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
@frivoal frivoal force-pushed the w3c-vote branch 2 times, most recently from 4866220 to d6b102a Compare June 29, 2024 06:07
@chaals
Copy link
Contributor

chaals commented Jul 2, 2024 via email

@frivoal
Copy link
Collaborator Author

frivoal commented Jul 3, 2024

@chaals, I'd rather not phrase it this way, because when you just say "supermajority of 2/3" or some such phrasing, it's ambiguous how you treat abstain ballots. You can make it clear, but that usually make the phrasing longer and clunkier, which is why I think "x times as many ballots for as against" or that sort of phrasing is better.

@frivoal frivoal force-pushed the w3c-vote branch 2 times, most recently from d77299a to e2edd24 Compare July 16, 2024 14:38
index.bs Outdated
@@ -1318,6 +1350,9 @@ Elected Groups Vacated Seats</h5>
<li>
the participant resigns, or

<li>
the participant is [=recalled=], or
Copy link
Member

Choose a reason for hiding this comment

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

These "or" list items should be rewritten, with a new lead-in —
An [=Advisory Board=] or [=TAG=] participant's seat is vacated when any of the following occurs:
— and all of the , or should be removed from the <li> that follow. GitHub won't let me make a suggestion that reaches so far above and below the lines changed by this PR. If need be, I'll submit a PR for this, but I'm hoping this comment will be sufficient for you to adjust #888.

index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
index.bs Outdated Show resolved Hide resolved
frivoal and others added 3 commits December 6, 2024 17:20
This extracts the 5% confirmation vote, followed by the actual vote into a
separate procedure, invoked by the AC Appeal, making it reusable.

Co-authored-by: Ted Thibodeau Jr <[email protected]>
Also enable individual removal of problematic participants by the body
itself

w3c#882
@frivoal
Copy link
Collaborator Author

frivoal commented Dec 6, 2024

I've updated this draft PR to reflect my current take on this issue, as expressed in https://github.com/w3c/AB-memberonly/issues/237#issuecomment-2354297741.

@frivoal frivoal removed the Agenda+ Marks issues that are ready for discussion on the call label Jan 20, 2025
@frivoal
Copy link
Collaborator Author

frivoal commented Jan 20, 2025

The AB has not reached a conclusion on this topic. Temporarily removing agenda+

Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

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

I don't spend a lot of time with this part of the process and there are a few comments here that reflect that. Feel free to defer those to issues if you would prefer not to engage with them.

Comment on lines +1330 to +1333
If at least three quarters of the participants in the group,
excluding the individual who is the subject of such vote,
then vote in favor of the proposal,
the individual's seat on [=AB=] or [=TAG=] is [=vacated=] immediately.
Copy link
Member

Choose a reason for hiding this comment

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

I would say that a lower threshold is sufficient. A simple majority might suffice in this case.

Consider this: if there are three people who are willing to raise this, then that alone is indicative of dysfunction in need of remediation. Removal should not be the first option there, but if you need it, then there is a chance that some people will be forced to recuse or some will be absent, making it quite difficult to reach 3/4.

all seats on [=AB=] or [=TAG=] are [=vacated=] immediately;
if it fails, it cannot be invoked on the same body
sooner than 6-month since their previous invocation.

Copy link
Member

Choose a reason for hiding this comment

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

I think that in both cases, you want to include some sort of reporting responsibility. That is, there is an announcement that the seat is vacated.

There is no way to hide what is happened here and you don't want to have people learn via rumor mills. Information should be publicly communicated to the AC by the chairs or Team as promptly as possible.

Comment on lines +1342 to +1345
An [=Advisory Committee representative=] initiates a [=vote of no confidence=]
by sending a request to the Team, and <em class=rfc2119>should</em> also share this request with the Advisory Committee.
The request <em class=rfc2119>must</em> identify which of the [=AB=] or [=TAG=] is targeted,
and <em class=rfc2119>should</em> also include the rationale.
Copy link
Member

Choose a reason for hiding this comment

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

I think that you want a three member threshold for this too. Otherwise, this is open to trolling and DoS.

I'd be OK with a higher threshold than three, but not a lower one.

If that takes the form of one AC member initiating an override that has to be seconded by two other members in all cases, that would be ideal. I know that this mechanism hasn't been activated, but it's an organizational vulnerability.

@@ -1368,6 +1419,12 @@ Elected Groups Vacated Seats</h5>
and the maximum number corresponds to all unoccupied seats.
Except for the number of available seats and the length of the terms,
the <a href="#AB-TAG-elections">usual rules for Advisory Board and Technical Architecture Group Elections</a> apply.

<li>
If seats are vacated due to a successful [=vote of no confidence=],
Copy link
Member

Choose a reason for hiding this comment

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

I think that you want to set a threshold for triggering an election, not just have this for the no confidence vote. The bodies will likely function with a few gaps, but there is a critical point at which the groups are non-viable. I might suggest 2/3 of the target size as that threshold.

Suggested change
If seats are vacated due to a successful [=vote of no confidence=],
If vacancies reduce
the number of [=AB=] participants to 6 or fewer
or the number of [=TAG=] participants to 7 or fewer,

Comment on lines +1425 to +1426
the [=Team=] <em class=rfc2119>must</em> organize an election,
under the same condition as for individually vacated seats,
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 [=Team=] <em class=rfc2119>must</em> organize an election,
under the same condition as for individually vacated seats,
the [=Team=] <em class=rfc2119>must</em> organize an election.
Vacated seats are filled for the remainder of the term of the vacancy,

If seats are vacated due to a successful [=vote of no confidence=],
the [=Team=] <em class=rfc2119>must</em> organize an election,
under the same condition as for individually vacated seats,
unless the next regularly scheduled election is fewer than three months away.
Copy link
Member

Choose a reason for hiding this comment

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

I'm not clear on the three month choice. That means that you might win an election for a 3 month and a day term. That's pretty pointless, I'd go with six.

Suggested change
unless the next regularly scheduled election is fewer than three months away.
unless the next regularly scheduled election for the vacancy is less than six months away,
in which case the remainder of the term is extended by two years.

If, within <span class="time-interval">one week</span> of the Team's announcement,
5% or more of the [=Advisory Committee=] support the appeal request,
the Team <em class="rfc2119">must</em> organize an appeal vote
5% or more of the [=Advisory Committee=] support holding the vote,
Copy link
Member

Choose a reason for hiding this comment

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

This is basically like having a vote to have a vote. I don't see the point.

It reduces some of my concerns about DoS, engaging this mechanism is exactly the sort of thing I'd like to avoid, but it also makes it nearly infeasible to use this process. Even though 5% seems small, that's a pretty significant movement given the activity levels in a pretty large consortium. I suggested one objector and two seconds, but you could make the two into five or something like that.

@@ -2917,24 +3000,19 @@ Appeal by Advisory Committee Representatives</h3>
(including explicit “abstain” ballots)
by [=Advisory Committee Representatives=]:
* if fewer than 5% participate,
the vote fails.
the proposal is rejected.
* if at least 5% but no more than 15% participate,
and the number of “Approve” ballots exceeds three times (3x) the number of “Reject” ballots,
Copy link
Member

Choose a reason for hiding this comment

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

This seems pretty silly. I understand the goal, but it encourages tactical voting due to it being non-contiguous. Opponents can withhold participation to get a better outcome.

Copy link
Member

Choose a reason for hiding this comment

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

It might be worth an example. For simplicity, let's assume 100 members.

At the 3x to 2x threshold (15%), four "reject" votes blocks any number of "approve" votes up to 11, but one more "reject" vote causes the motion to pass. This is because at 16 participating, five "reject" votes is overridden by 11 "approve" votes.

Worse, prior to the 2x to 1x threshold (20%), a motion is blocked by seven "reject" votes at 13:7 in favor. Up to six more "reject" votes causes the motion to pass. If opponents want to have their say and retain the same outcome, they need to find seven more "reject" votes (with no more "approve" votes).

There are ways to address this, but it involves math. I wonder if this goal is worth that.

index.bs Outdated Show resolved Hide resolved
Co-authored-by: Ted Thibodeau Jr <[email protected]>
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.

6 participants