w3c / process

W3C Process Document
https://www.w3.org/policies/process/drafts/
186 stars 124 forks source link

Closing the loop on resolving Formal Objections #755

Open plehegar opened 1 year ago

plehegar commented 1 year ago

The Team had several instances in the past 2 years during AC Reviews of charters where the lack of answer and/or engagement from the individual who raised a formal objection prevented the Team from properly closing the loop on formal objections, forcing the Team to start a Council. This is frustrating for the Team and the Chairs when an objector ignores attempt to engage in finding consensus or ignore request to declare consensus after changes were made to satisfy them. Should there be expectations on formal objectors beyond raising those?

nigelmegitt commented 1 year ago

I can confirm that this is frustrating! I think the level of expectation escalates along the scale:

It does not seem right that non-responsiveness can be used as a mechanism to force a Council to be convened.

An alternate interpretation of non-responsiveness, that we do not currently use, is that the issue is no longer valid or important, and can be discarded. This interpretation could have some duration associated with it, such as no response after 28 days (or some other figure to be agreed).

palemieux commented 1 year ago

Objectors should be required to:

This information should be provided within a specified time period.

As it stands, anyone can formally object with a single sentence and without providing any detail.

The bar should be higher so that:

marcoscaceres commented 1 year ago

It be amazing if there was a deadline by which to respond. I agree that ~28 days should be sufficient starting from when the objector gets a formal response. A council should only be needed when there is an impasse with no clear path forward. However, if the objections have been addressed by a working group in good faith, then non-response on the part of the objectors shouldn’t block progress (so long as it’s clear to the objectors that they must respond in a timely manner or their objections might not get adequately addressed).

frivoal commented 1 year ago

It does not seem right that non-responsiveness can be used as a mechanism to force a Council to be convened.

I don't think that's the case. Having raised a formal objection is what causes a Council to be convened, not responsiveness or the lack thereof. Being responsive after that helps with:

A council should only be needed when there is an impasse with no clear path forward.

A formal objection is, until proven otherwise, exactly that.

then non-response on the part of the objectors shouldn’t block progress

Agreed, but drawing (I think) a slightly different conclusion. The formal objection should still be considered, since it has been raised: that constitutes lack of consensus, and we need to resolve that. But a non responsive objector should expect that it will face a Council that is less well informed of what their position is, and less convinced that the objector is engaging constructively.

In other words, silence and non responsiveness is allowed, but it hurts your case (and does not delay it indefinitely, see below).

It be amazing if there was a deadline by which to respond.

There is, though longer than what you suggested, and though the consequence of not responding is not the objection being dismissed. Once the Formal Objection is raised, the Team is on the clock to start the Council (90 days). The deadline on the Team is longer than 28 days (it needs to ask a question before expecting a response, it not only needs to get a first response, but to have some time for multiple exchanges to try broker consensus, it needs to document the case…), but stalling indefinitely is not an option. And within its own deadline, the Team can put pressure on the various parties to respond ("unless you respond by date X, we will refer to this case to the council, whether you've expressed yourself or not"). The Council might later find that the Team has given insufficient time to the relevant parties and if so send them back for another round, but I think the current rules do empower the Team to demand timely responses or move on. Also, 90 days is not the time the Team has to wait, it's a cap on how long it may chose to wait. If it's clear within 2 weeks that the parties just won't talk to eachother, there's no requirement or expectation to way any longer.

The Guide article on Councils already speaks to that, by the way:

Within the bounds set by the Process, the Team decides how long the assignee has to attempt resolution and to write the report before the decision will be brought to a W3C Council. It is important that not too much time is spent in trying to resolve irreconcilable differences. Appropriate timing will depend on the complexity of the issue, and on the cooperation of the objector(s) and decider(s).

The same is true, by the way, of the Council itself: it it reaches out to stakeholders, either to further try to broker consensus or simply to ask questions, and they don't respond, the Council is expected to move on and adhere to its own deadlines, not stall indefinitely.

I'd be reluctant to go beyond that and to have some kind of automatic dismissal if you don't respond within a set period. What counts as responding enough is subjective: if you do get back to the Team within the allowed period, but only with "sorry I'm busy" does that count? How about with "I've made my case already and have nothing more to say"? How about "I don't want to talk to them, they're bullies and that's why we're stuck"? How about "I've made my formal objection privately, because I stand to loose revenue if the WG chairs, who happen to be my customers, hear that it's me who's raising an issue and take it personally. So no, I don't want to talk to them. But I do want my case considered, because I think they're doing it wrong."?

Note that if it is a clear cut case of somebody just trolling the system, then https://www.w3.org/Consortium/Process/Drafts/#council-short-circuit can be used to speed things. And if it is not a clear cut case, then it should be heard, even if weakened by the lack of cooperation. Most cases I am aware of, though, aren't that: instead, they are expressed in good faith, but with mediocre follow up.

I think we should try and use the tools we already have at our disposal before adding more.

marcoscaceres commented 1 year ago

What you described above doesn’t match my experience at all, tbh. It presupposes the a formal objection was made based on some previous impasse, instead of “oh, hey, we just looked at this for the first time ever and I spotted something silly; can you fix it?” (Way more common, in my experience)

until proven otherwise,

by who? (it's not an impasse at all, it's usually a request to fix things super late in the process by an AC rep... basically talking about bug fixing here)

Again, the case I’m talking about:

  1. Objector: “Hey, fix some minor things” (formal objection!)
  2. Working group: “Sure, done!” (Takes 1-2 days)… “cool with the changes?”
  3. No response from objector for months.

seems like setting up a council in the above is an waste of time and resources. If the objector doesn’t respond to the requested fixes with more objections (because they were busy or whatever) then why form a council?

The objector should have to re-object at least (i.e., “not good enough! either fix things properly or I will demand a council sort this out”)... rather than, "oops, sorry, it fell off my radar for X number of months.😬"

So, I guess put differently, if a good faith effort is made by a WG to address the objection, and the objector doesn't re-object (because they got busy, lost interest, or whatever), then the Team should have the power to move a spec forward without needing to form a council.

As with the Working Group, the objector has an equal responsibility to respond (in a timely manner), even if it's just with a 👍 or 👎. The case where one party (deliberately or not) doesn't engage in seeking a resolution isn't really handled well, which is what got us here. If someone files a formal objection, then they have to commit to seeing it through in a timely manner... and "timely manner" should be specified to be X days.

nigelmegitt commented 1 year ago

To add to @marcoscaceres point above, in the specific case that the objector specifies a proposed resolution, which is then accepted without modification, and then is unresponsive to requests to confirm their issue has been resolved, there should be a way of saying "we're considering this to be a resolved objection" and avoid invoking a Council.

frivoal commented 1 year ago

in the specific case that the objector specifies a proposed resolution, which is then accepted without modification, and then is unresponsive to requests to confirm their issue has been resolved, there should be a way of saying "we're considering this to be a resolved objection" and avoid invoking a Council.

I don't see why we'd need a Council in this case already. If we did what they said would resolve their objection, then their objection is resolved, and there's no council.

We need them to respond if we're trying to resolve the issue by doing something they didn't ask for but we think they might actually like, because in that case we cannot know for sure that they will necessarily be happy with it without their express confirmation.

But if they say "I'll be happy if you do X", and we do X, I don't believe the Team would treat this as unresolved and convene a council over it.

frivoal commented 1 year ago

@marcos

I think I might agree to a point, but it depends on some nuances:

As I said above, if the objector "I'll be happy if you do X", and we do X, we're done.

If the objector says "I need you to solve problem Y", and doesn't specify how they want problem Y solved, and the WG does solve problem Y, but we cannot get confirmation, we're in a bit of a gray zone, but I agree it may fair to just move on. I suspect we could make the Process a little clearer about that, but even without that, the Team would probably be amenable to considering the objection addressed in clear enough cases.

(There is no instance of a Council being spun up to deal with FOs that would fall in the above cases)

Now, if the objector asks for something, and the WG refuses, but proposes some compromise, I don't think it is fair to assume that the problem was resolved. In that case, I think the objector undermines their case by not following up, but I don't think it's unreasonable to move this to a Council. There's a judgement call to be made, and if we're to be a member-led consortium, it needs to be made by some scheme grounded in the membership. The scheme we've come up with is the Council.

I do agree people should be given deadlines. As I said earlier, there are some broad deadlines in the Process, and the expectation that some context specific finer grained deadlines will be enacted. The key difference is in my view (and by the current Process), if people miss a deadline, you move on the with the process and head to decision making (taking into account the lack of engagement), rather than discard the whole thing.

And yes, I know that many of the experimental councils have been unreasonably slow. But many of the factors causing these delays have been addressed since, and I would expect significantly faster turn around moving forward.

marcoscaceres commented 1 year ago

the Team would probably be amenable to considering the objection addressed in clear enough cases.

I think this is how @plehegar ended up here: It would be presumptuous for the Team to reach a resolution on behalf of the objector, irrespective of how minor the objections seems. Thus, I don't think we should put the Team in that awkward position - because if the Team makes the wrong call, it will upset the objector and would erode trust in the Team.

This is why having the explicit deadline is better, IMO: the objector takes sole responsibility for their objections and must see them through in a timely manner - without putting the Team in the (potentially awkward or wrong) position of guessing if things were adequately addressed.

The Team should absolutely still check the Working Group has made a best effort to address the objections. However, the responsibility to give the final approval should fall on the objector: by objecting, or, failing that, by the deadline lapsing.

I do agree people should be given deadlines.

Great. How can we add that to the Process?

...rather than discard the whole thing.

Just to be clear, no one suggested that. The case is always: "a best effort was made by the WG to address the formal objection, but, despite multiple attempts to get a response, we didn't hear back if the objector was satisfied or not."

I would expect significantly faster turn around moving forward.

What's reasonable though? Like, are we talking 6-12 months. Or can one be formed in like two weeks?

In the case of months, that doesn't seem great because now a spec is stuff in limbo waiting to move to REC.

If it's, "we can get this done in a weeks/days", then that works. But I don't have faith we can move that quickly (plus it adds needless overhead, IMO). Again, a deadline "automates" things.

dwsinger commented 1 year ago

so, is the hanging question this:

We think we have taken appropriate steps to resolve the FO; we ask the objector, and we don't get a reply as to whether they are satisfied. Who has the authority in that case to declare the outcome and allow us to move on, and what is the timeout to trigger that?

fantasai commented 1 year ago

The AB resolved:

RESOLUTION: No change to Process; add guidance in Council Guide to Team that when we can't confirm consensus, we spin up the Council to confirm/deny. May consider changes to the Process in the future (post-P2023) to improve this case.

dwsinger commented 1 year ago

I don't follow how the AB resolution answers the questions raised here and here

chaals commented 1 year ago

@dwsinger some partial answers (I don't think we have completely settled this):

There are timelines already in the process - they don't stop a council being spun up, but the council (unlike the team) has the authority to decide on the Objection if the objector has't replied. If the Team and the relevant group whose decision caused the objection have responded in a way that convinces the Council that the objection is resolved, to the extent that a quick survey of all the council members establishes that there is unanimity, then the process is done.

It is possible to spin up a council sooner than the 90-day deadline, and doing so can shorten the time for response. Unless we want to authorise the Team to decide on Formal Objections, and personally I don't in the general case, it's probably important to specify a minimum timeline, and then establish the practice of running things through the process.

I haven't mentally got back to this in full, but it seems that if this happens, the Council is essentially upholding the objection, but believes the group is ready to resubmit whatever the decision was. There's an implication that a subsequent objection on the same grounds is likely to be rejected, but that isn't automatic. Nor, IMHO, should it be - beyond noting that both vexatious and real objections exist, and that life interferes with achieving perfection, I think deciding on humans to work out which is which each time makes sense.

frivoal commented 1 year ago

Largely agree with @chaals , with a nuance:

it is possible to spin up a council sooner than the 90-day deadline

Not only it is possible, I'd say it's expected. That deadline is a worst case (the Process says "no later than"), not a goal.


To PLH's original question, if people aren't getting back to the Team, the Team is perfectly within its right to stop waiting and spin up the Council.

Now, for the trickier question of what to do if the WG has done something to address the FO but the objector isn't (usefully) responding:

chaals commented 1 year ago

if they did exactly something that the Objector had characterized as being an appropriate way to deal with their FO, then we're done. (Note: that the objector should have listed such things, so often no guessing is needed as to what they want: “It should […] propose changes that would remove the Formal Objection”)

Not so fast. If the WG changed something, then other reviews (including abstentions) need to be reassessed, because what was reviewed by the rest is different.

frivoal commented 1 year ago

If the WG changed something, then other reviews (including abstentions) need to be reassessed, because what was reviewed by the rest is different.

Sure. But that's covered by another part of the Process already (I find the linkage between these two parts a tad weak, and would like to make some improvements, but that's already been exercised and found not blocking, so I don't think there's a rush).

dwsinger commented 1 year ago

so, we make sure we have documented timeouts on the objector's responses, and once they are passed without response, then the objector has ceded their ability to reply to the council, which will decide instead of them. OK

chaals commented 1 year ago

the objector has ceded their ability to reply to the council

no, they can still send stuff to the council. The council is not obliged to wait for them to do so. In practice, this would play out if there were a claim (whether legal or in the "court of public opinion") that they had been unfairly treated by the council. The point of proposing a minimum timeline is to ensure there is a clear standard for fairness. (Although to be honest I think the chances are approximately zero that the team and council could coordinate to maliciously open and close a council so fast that there wasn't reasonable time for the objector to reply...)

marcoscaceres commented 1 year ago

Ok, so then it's cool for Chairs + Team to set deadlines for feedback. That will avoid convening a council for minor things.

I only want to convene a council in extreme situations, which in theory should rarely happen (ideally never!).

The above seems to assume that convening a council is the default mode of operation 🤢. That seems wrong: we (Team and Chairs) should do everything possible to never convene a council, IMO.

dwsinger commented 1 year ago

I think what we're saying is that there was an FO, perhaps with a suggested resolution; the WG tries to follow the suggestion, or proposes something that they think addresses the objection; but then we can't get the objector to reply whether they consider their concern addressed and the FO withdrawn.

In that case, I think the suggestion is that the Council meets and decides whether to uphold the objection and 'recommend' what the WG suggests as resolution, or to overrule the objection but leave the WG free to ameliorate any concerns that they perceive (perhaps, with the same fix). The opportunity for the OO (original objector) to withdraw their FO in the light of proposed changes has passed, and it's now in the hands of the Council.

Do I have it?

marcoscaceres commented 1 year ago

I think that's fine @dwsinger for the case were a council is deemed necessary.

However, I'm still interested in solving for the case where a council wouldn't be deemed necessary by the Team and the Working Group (all issues were addressed, but original objector doesn't respond in a timely manner).

Put differently: does the AC always need to convene a council if the OO is non-responsive irrespective of what the WG has done to address the FO?

chaals commented 1 year ago

The original point of a council was to have someone who wasn't the Team making the decisions.

If that seems like a bad idea (and there are cases where I suspect it's overkill), then maybe the right approach is to say something like "If the Team is convinced that the issue has been addressed, it can propose the decision for a new review based on the changes made, instead of calling a council".

dwsinger commented 1 year ago

Put differently: does the AC always need to convene a council if the OO is non-responsive irrespective of what the WG has done to address the FO?

I fear the answer is yes. Only the OO is able to withdraw their objection; if it's not withdrawn, it's a valid FO, and FOs are resolved by the Council (maybe speedily).

fantasai commented 1 year ago

Exactly. And if it's something obvious, the Team can recommend a way forward and invoke the Council’s “Unanimous Short Circuit” to confirm their recommendation. https://www.w3.org/Consortium/Process/Drafts/#council-short-circuit