Skip to content

governance: update NACK usage/restrictions

Mike Blumenkrantz requested to merge zmike/wp:nack into main

Proposal: Overhauling NACKs

Problem Statement

NACK is a tool in wayland-protocols for blocking progress. It has been misunderstood and misused as a result of its implicit, rather than explicit, definition. By defining who may use a NACK, when it may be used, and the penalties for abuse, problems which negatively affect the development of protocols can be avoided.

Definition

A NACK (or NAK) is a Negative ACKnowledgment. It is used to express disagreement, and it should convey the meaning:

It is the view of the project I represent that this idea is either fundamentally flawed or harmful to the Wayland ecosystem.

Use

A wayland-protocols NACK can and must only be used by listed points-of-contact from member projects.

No other contributors are permitted to express a NACK on a non-governance protocol issue, merge request, or mailing list thread for any reason.

There is no exception to this policy.

Result

The result of a member project's NACK has two possible outcomes:

  • If the NACK is legitimate and has a technical basis, the proposed idea cannot move forward, and a merge request cannot be landed.
  • Any other NACK may be contested by contacting a member with a link to the NACK and a formal accusation. The only requirement for such an accusation are that it must occur in writing; it may be public or private.

NACK contestation

Contesting an individual's NACK immediately begins a review period.

This review period shall last no fewer than seven days.

Eligible points-of-contact will recuse themselves if a conflict of interest is determined.

Abstention (or failure to vote) is counted as a 'no'.

At the end of the review period, a 2/3 majority 'yes' vote results in the offending point-of-contact being immediately removed. If this individual was the sole point of contact for a project, a new one may be selected by the project following the same ACK and review period for becoming a member.

There is no exception to this policy.

NACK abuse

Mention of a NACK by a non-point-of-contact, for any reason, is prohibited in non-governance wayland-protocols issues, merge requests, and mailing list threads.

A first-time violation of the rule will result in a warning, to be delivered in private when possible.

Any offending comment will be explicitly marked by members to indicate that the NACK is invalid and has no bearing.

Violation of this rule by anyone who has already received a warning will result in an immediate ban for a period of no less than 3 months (90 days).

There is no exception to this policy.

NACK revocation

A legitimate NACK may be revoked at any time by the originating member project.

NACK FAQ

Aren't these penalties harsh?

That's the point. Threats and discussions of NACKs have the ability to impede progress. A NACK should only be the final resort when all other avenues of discussion have been exhausted.

But if I'm part of a member project, I should get to get to NACK what I want. I'm a Decider!

Those NACKs better be legit, or you won't be a member for long.

How are recusals determined?

Member points-of-contact are assumed to be acting in good faith. If a point-of-contact has opted not to recuse, trust that they are considering matters impartially.

What about if I'm just joking around and happen to type 'nack'?

Prohibited.

What if my cat did it?

Your cat is not a point-of-contact. Prohibited.

I'm sorry, I didn't mean it.

That's a shame. Still prohibited.

Is there any situation--

No. Expressing NACKs should be done only as a last resort in order to avoid impeding development.

This feels like a Code of Conduct. I hate Code of Conducts.

This is not a Code of Conduct, nor does it attempt to supercede or interact with any existing Code of Conduct or enforcement thereof. There is one word that will get you, a non-point-of-contact, banned. Don't use it.

What is an example of a legitimate NACK?

This NACK from @pq constitutes legitimate use.

What is an example of NACK policy violation?

A comment saying e.g., "don't make me nack this" constitutes a violation and would result in a warning or ban.

Edited by Mike Blumenkrantz

Merge request reports