Hi all, Jarek,

Thanks for the proposal.

I would favor the idea - I was opting in in the past for areas where I
assume I have a certain level of expertise and will take care for PRs.
But I also saw a couple of "feeling like orphaned" entries.

I would even propose to see it stricter: I would expect that persons
signing-in for CODEOWNER should take care that PRs are not stalled.
Maybe an ETA of response of 1 week should be the target (with exceptions
of vacation/sick-leave)

Jens

On 08.02.25 18:26, Jarek Potiuk wrote:
Hello here,

For quite some time I thought that we should make a slightly better
use of our CODEOWNERS file and feature and agree on some kind of
"social contract" we have around it.

With providers (almost) moved, we have simplified a lot the CODEOWNERS
file recently and now it's going to be far simpler to set some of the
rules up - especially for providers. We are also approaching some
further package splits so our monorepo will become far better
modularised, also a number of refactorings - for example dag processor
ones done by Jed and Daniel recently - made the code related to single
feature to "live" closer together. And possibly we will do more of
that.

So far our "social contract" on what it means to be in CODEOWNERS was
not really clear. But maybe - with airflow 3 and all the refactorings,
it will be much easier and cleaner to actually draw a bit easier and
better boundaries between different areas of Airflow - we will have
better "internal" splits - for example 'task_sdk" , "apis" etc. and we
have quite significant number of maintainers (only maintainers can be
added as CODEOWNERS) to cover quite a lot of our code with "experts"
kind of notion for each area (including some bigger and smaller
providers).

CODEOWNERS is a bad name though - because CODEOWNERS does not reflect
the basic assumption that ASF has - that all committers and PMC
members are stewards (not owners) of all the code that belongs to the
PMC, but in essence CODEOWNER means two things:

* you will get notified when someone opens a PR that touches area you
are a CODEOWNER of
* people opening the PR will see that you are assigned as reviewer in such case

Which might actually correlate well with being an "expert" in this
area and someone who should "likely" review PRs there.

Proposal:

So I think maybe this is a chance to make a bit of order in CODEOWNERS
(currently it's a bit of a mess and random entries). With the notion
that;

1) any of the maintainers can sign-up to be CODEOWNER of certain area
when they think they are expert there

but:

2) this also means that there is an expectations that they will be
reviewing code in this area when they are defined as CODEOWNER (of
course taking into account all volunteer limitations, no expectations
on specific timelines, and taking into account all vacations and such.

3) we communicate that in our README and contributor's guide so that
contributors who contribute a PR understand that and eventually might
also (after some time) ping the right people - also other maintainers
will have a clear information who of the maintainers thinks of
themselves as "expert" in the area - which might make it easier to
know whom to reach out when there are doubts/questions.


Ideally we should have 2/3 people at least in all important areas and
possibly in big/important providers - to avoid SPOF.

Also we could see where we are lacking "expertise" and that might
guide other maintainers who would like to learn a certain area -
signing up as CODEOWNER there might also be a good way to learn by
more frequent reviews of the area you are signed up to.

And of course at any time any of the maintainers can sign-out by a PR
and/or we can make some periodic reviews of the areas and see if we
need some more "bringing an expert" in certain areas.

I wonder what your thoughts are about it. There are certain things
here that might be problematic - when we do it this way and agree to
this "social contract" it is some kind of "commitment" - yeah I am
going to look at those PRs coming in a reasonable time, and people who
are volunteers might not want it, but - then they might simply
sign-out to signal they have no time/focus/free cycles to be looking
at those, so this is something that any maintainer can manage and
signal their "readiness" to help in different areas.

BTW. You might not know that the word "committer" that we use in ASF
comes from "commitment" not from "commit permission".  So "committing"
to certain areas, sounds pretty appropriate :)

Looking forward to feedback on that.

J.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
For additional commands, e-mail: dev-h...@airflow.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
For additional commands, e-mail: dev-h...@airflow.apache.org

Reply via email to