@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
@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
@corbet Proposing NAKs-per-day as a core community health metric
@corbet NAK to people -- that's rude, NAK to machines -- that's what it was invented for ;-)
@corbet @brauner while the dma fence and scheduler stuff seems to be the core narrative of that story, it's was a sideshow to the actual problems. We've had 2-3 major refractors and reworks of dma-fence and scheduler since that by people who wanted to fix the underlying problems not just upstream a driver they'd already written and convinced themselves the problem was with the core design. There is even a new rust jobqueue design proposed to solve this properly.
Big Jon has noted that he has managed to get though life without having to ever deploy NACK.
Given his role as 'ed honcho of LWN and a tireless maintainer of some parts of that there Linux, I think his opinion is worth a little more consideration than "disagree profoundly".
Jon is advocating for the diplomatic way and I think you might need to step away from the keyboard occasionally and take a few deep breaths.
There are times to vent and we all do but there are times not to and I think that starts with when you are critiquing someone's work.
@airlied @corbet @brauner email communication is hard. The initial power play made the following emails more difficult to interpret in a good light. Like this one, which I remember as a much stronger threat than it really is on the (then) future hypothetical rust job queue: https://lwn.net/ml/all/43bbd12b-4754-92d1-4000-1ba928d2a8d4@amd.com/