@corbet who use it: the reviewers or the person posting the patch for review?
@corbet Any specific example that triggered this?
@corbet fwiw, I tend to not use it unless the message really isn't getting across.
@corbet yeah same, it just tends to be a signal for communication breakdown. usually because people are fixated on the specific patch and there's no discussions about the higher levels, like whether there's an actual problem, what the problem exactly is and isn't, then eventually what the design and architectural options are and which are good tradeoff choices, to finally maybe reach an actual patch.
still one of the best guides imo to do better https://sage.thesharps.us/2014/09/01/the-gentle-art-of-patch-review/
@corbet the other case tends to be overloaded maintainers who failed to write documentation they could point at, and instead continue to just NAK patches because that's less typing. in the short term only, it's definitely a lot more typing long term
@jani @corbet @brauner I've sent mails (perhaps privately, I can't remember), stating any use of NAKs is not productive, and that I would cease pulling stuff from NAK senders unless the next set of patches they submitted were documentation on the area they NAK'ed patches in. We have gotten some documentation as a result.
@corbet (For a moment I convinced myself that in Monty Python and The Holy Grail there was a scene about the "Knights who say Nak" and that this was in reference to that)
@corbet Trying to follow, but I'm out of the loop on the meaning of the acronym. Can anyone fill me in? Thanks!
@corbet I got my first ever NAK today from one subsystem, that ended up causing a rewrite based on that, and the actual subsystem I'm fixing doesn't like that solution, so I'm going back to the first ever version :)
@corbet oh, and it was merely exposing a symbol but I guess they didn't like it "for some reason"
@june @corbet If it’s similar to Wayland protocol discussion terminology, then it means “not acknowledge”. I think it’s basically a veto vote, but I could be wrong, as I haven’t looked at either the LKML (Linux kernel mailing list) or the Wayland protocol discussions a lot, so take it with a grain of salt.
@sima @airlied @jani @corbet @brauner This is also something I'm simmered about in other areas. It seems like "NAK" gets easily abused (not just in Linux, but in other projects that have a similar process), and almost every example I've seen of it has resulted in a sour ending for all parties involved.
I find myself wondering if the NAK power should be actively eliminated in projects where it has resulted in an overly negative view of engaging with the project.
@Conan_Kudo @airlied @jani @corbet @brauner for me that generalizes to one of the most important lessons I've learned as a leader of some project or area
the more power you have, whether formal or informal doesn't really matter, the harder it is to actually use it. a big hammer is a very blunt instrument, and so the longer I do this, the more I just drop suggestions and help dig through tricky corners and get the consensus engineering started, but rarely ever finish to a solid conclusion
@sima @airlied @jani @corbet @brauner This makes sense to me. There are many areas where I have tremendous "power" (or at least the appearance of it), so I take great pains to demonstratively *not* use it. Contributors seem to appreciate that a lot, because the end result is that they feel valued across the board.
@Conan_Kudo @sima @airlied @jani @corbet @brauner Personally, the notion of using a "NAK" only makes sense if you see the project as your own property you want to protect from allegedly "wrong ideas".
So once you start to treat a project as a collaborative space with equal footing for everybody, it makes no sense to "NAK" anymore, because you recognized that you are not the owner, you are merely a manager of various contributors and make sure that people get their stuff done and to provide help
@karolherbst @Conan_Kudo @sima @airlied @corbet @brauner
Also, gatekeeper vs. guide.
@jani @karolherbst @Conan_Kudo @airlied @corbet @brauner yeah ...
and right at this moment I'm pondering whether I should type up a comment, or not, as subsystem maintainer
deleted a draft twice already
@karolherbst @jani @Conan_Kudo @airlied @corbet @brauner oh sure
the question I'm pondering is how much should I talk about what has happened the past years in private discussions, or whether that's going to cause more damage than good
@karolherbst @jani @Conan_Kudo @airlied @corbet @brauner nah like either as an lwn comment or maybe I should warm up the blog engine and draft some proper text
put the energy into commenting on a related rfc patch instead for now, felt more useful
I do think NAK has a strong negative connotations which one need to beware of. Guiding contributors in a more gentle way is a better way.
At the same time, NAK can be a needed failsafe which may need to be used when the contributor's, should we dare say, arrogance, is in the way for an improved and better change. Some times a maintainer will need to draw a clear line of what is an acceptable change and not.
It's also needed to be careful to not be too gentle when rejecting a proposed change. Wrapping a rejection into too many soft words and phrases can do equal damage - that the contributor gets uncertain what's wrong and without a clear path forward. Contributors do deserve better than that too.
I often think coding itself is the easy part. It's handling people and expectations which is the biggest challenge in collaboration.
@corbet Proposing NAKs-per-day as a core community health metric