Hi Christian, TL;DR: The PR is not blocked. Any of the remaining 44 committers can approve it. We simply chose not to approve it in its current state.
On 28.10.2025 06:51, Christian Grobmeier wrote: > So, I didn't see many valid reasons why the PR should not be merged. > I understand from Piotr that the PR is not complete, and other > places should be changed, and Gary volunteers to do so. > > The question now is: who decides what is merged? > Rejecting a PR is an effective -1. > > At the ASF, we rarely vote -1 on code changes. Doing so usually has > strong reasons. It always leads to problems (or almost), because it > leads to the question of who owns the codebase. You raise a good point and this is something worth clarifying. The branch protection rules we currently use are intentionally very lightweight. A pull request can be merged when: - It receives one approval from any of the 47 people with write access. Reviews requesting changes do not count toward approvals nor increase the required number. Authors cannot approve their own PRs. Approvals don't expire, when new commits are pushed to the PR. - All review conversations are resolved. This can be done by any committer, including the author. Resolving a conversation requires no additional actions, although it is generally courteous to either apply the suggestion or briefly explain why it was not. Regarding the use of `-1`: within the PMC, some members use it both informally to express disapproval and strictly as a technical veto. Volkan and I do not use `-1` as shorthand; when we use it, we mean it as a formal veto, which has happened only a few times over the years. Gary’s PR is not such a case. We are simply not satisfied with its current content and therefore are not willing to approve it. That still leaves 44 others who can approve it. :-) > This question arose in earlier versions of Log4j and led to a > technical deadlock. > > What would you do if I merged this PR? > Would it be acceptable for you? > > I previously said it was fine to merge it (ignoring Piotr's new > information for now). Why do you think I didn't do it right away? > > What would you say if Matt had merged it, even when Piotr and you > had concerns? Both you and Matt can approve the PR, after which any committer may merge it. We’re all adults, we won’t throw a tantrum if things don’t go our way. However, it would understandably leave a bitter aftertaste, because it would force us to either accept the PR as-is or hope for a follow-up that may never come. Ironically, we tend to have smoother collaboration with external contributors, even when we ask them to follow conventions (like preferring “setters“ over ”withers”) that none of us feels strongly about. Using Jarek’s metaphor, Log4j is like a puppy: fun to play with, but someone still has to do the less *enjoyable* chores. Over the past two years, most of those (answering user issues, doing code reviews, handling recurring questions like “PatternLayout suffers from CRLF injection”) have fallen mostly on Volkan and me. Some of you know I hit a motivational low in April–May when Volkan wasn’t available to review my PRs and we were stuck releasing 2.25.0. Since then, he and I have worked out a sort of shared custody plan, which helps. Piotr
