On Tue, 13 May 2025 at 11:13, Alejandro Colomar <a...@kernel.org> wrote:
>
> Hi Jonathan,
>
> On Tue, May 13, 2025 at 10:39:21AM +0100, Jonathan Wakely wrote:
> > On Mon, 12 May 2025 at 23:15, Alejandro Colomar <a...@kernel.org> wrote:
> > > <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by>
> > >
> > >         Acked-by: may also be used by other stakeholders, such as people
> > >         with domain knowledge (e.g. the original author of the code
> > >         being modified), userspace-side reviewers for a kernel uAPI
> > >         patch or key users of a feature.
> > >
> > >         [...]
> > >
> > >         Acked-by: is also less formal than Reviewed-by:.  For instance,
> > >         maintainers may use it to signify that they are OK with a patch
> > >         landing, but they may not have reviewed it as thoroughly as if a
> > >         Reviewed-by: was provided.  Similarly, a key user may not have
> > >         carried out a technical review of the patch, yet they may be
> > >         satisfied with the general approach, the feature or the
> > >         user-facing interface.
> > >
> > > > My guess would be that it indicates approval for the patch, but Jim is
> > > > not an approver for the C front end, so he can't approve this patch.
> > >
> > > That would be a Reviewed-by:.
> >
> > In GCC I've been using Reviewed-by: for anybody who reviews a patch,
> > not necessarily approval from a maintainer.
> > There are only seven occurrences of Acked-by on the gcc master branch.
> > Four of them are duplicating a Reviewed-by: trailer in the same commit
> > which seems unnecessary.
> >
> >
> > >  Acked-by: can be used by a reviewer when
> > > they like the patch but haven't reviewed as seriously as a Reviewed-by:
> > > tag would imply.  It can also be used --like in this case-- for when
> > > someone who can't approve it, still wants to express approval.
> > >
> > > > Does Acked-by: indicate something other than approval?
> > >
> > > There are degrees of approval.  The formal one would be Reviewed-by:.
> > > The informal one would be Acked-by:.
> >
> > Should we agree on
> >
> > > >  When it's
> > > > somebody who can't approve the patch, how is it different to
> > > > Reviewed-by:?
> > >
> > > Someone who can't aapprove the patch wouldn't usually emit a
> > > Reviewed-by:.  Unless they feel so strongly qualified as an exception to
> > > review the patch (e.g., if you review a patch for the man pages about
> > > _Atomic, you could say you've Reviewed-by, because even when you don't
> > > have commit rights, I'm going to trust your review more than my own).
> > >
> > > > I'm not overjoyed by the idea of trailers that mean something in some
> > > > other project (e.g. the kernel) but are just co-opted to mean
> > > > something slightly (or completely) different in the GCC repo without
> > > > some kind of agreement from the community about what they mean *here*.
> > >
> > > I use them with the exact meaning of
> > > <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by>.
> >
> > Yes, I read that, and "maintainer" seems to have a different meaning
> > to how we use it in GCC.
> >
> > "Acked-by: is meant to be used by those responsible for or involved
> > with the affected code in one way or another. Most commonly, the
> > maintainer when that maintainer neither contributed to nor forwarded
> > the patch."
> > That sounds like approval from a maintainer (in GCC we don't "forward"
> > patches because we only have one tree, there are no subsystem trees
> > where work is collected then forwarded to Linus).
> >
> > And the description of Reviewed-by: doesn't imply approval from a
> > maintainer, it implies a thorough review by somebody knowledgeable
> > about the area:
> > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#reviewer-s-statement-of-oversight
>
> Yes.  That means for example it would be appropriate for you to emit
> Reviewed-by: in the Linux man-pages project for a patch that changes
> _Atomic stuff (as we have something about that pending).  Or glibc
> maintainers can emit them for manual pages about APIs that they work
> with.
>
> Maintainer isn't a black-or-white thing, at least in some projects, like
> the kernel or the man-pages.  It's up to judgement of someone reading a
> trailer to know what relation it has with the project or the specific
> subsystem.

It is black-or-white for GCC, which is why I think deferring to the
kernel docs is misleading for GCC.


> The actual maintainer that does this, usually is the one that takes the
> patch and commits it (adding its Signed-off-by).  The one that signs
> is supposed to know the reviewers, and what value brings each review.
> So for example, if Joseph will be taking these patches from me, then
> it's up to him to evaluate what an Acked-by: from James means.
>
> > I think the kernel's uses of Reviewed-by: and Acked-by: don't really
> > map to GCC's development/review/approval model.
> >
> > For GCC, I think it would make more sense to use Reviewed-by: to mean
> > somebody competent reviewed the patch,
>
> That's already acceptable by the kernel.  It depends on what you
> interpret by *competent* and by *reviewed*, but it can be acceptable.
>
> > and (if we feel it's needed)
> > something like Approved-by: to mean formal approval by a maintainer
> > who is able to approve patches in that area.
>
> I don't think this is necessary, because committers already know which
> review means approval (by who emmitted it) and which don't.  So you can
> use Reviewed-by: for both formal approval for commit, and for strong
> reviews.
>
> > If we do want to use Acked-by: for review (possibly informal, or not a
> > thorough review) and Reviewed-by: for formal approval by a maintainer,
>
> I think Acked-by: is still useful for documenting other people doing
> light reviews, or simply saying they like the idea of a patch, even if
> they didn't thoroughly review it.
>
> > I'd be OK with that but I'd like to see it documented for GCC. The
> > kernel docs don't really answer my questions about what it means for
> > GCC, and it seems you and I are already using the trailers
> > differently.
>
> Okay, that's up to you GCC maintainers to decide and document.  Let me
> know if I should change anything in my patches, and feel free to remove
> tags when committing my patches if my tags don't match your expectations
> of a commit trailer.
>
>
> Cheers,
> Alex
>
> --
> <https://www.alejandro-colomar.es/>

Reply via email to