Re: [Development] (To what extent) Should we start the API change review earlier ?

2023-05-10 Thread Edward Welbourne via Development
Volker Hilsheimer (9 May 2023 17:01) wrote:
> The primary purpose of the header review is to catch *technical*
> mistakes - BC or SC breakages - rather than to discuss API design,
> naming, or style.

Some technical errors are future-readiness: as long as we have BC and SC
commitments, we have to think about whether what we design today will
leave us with a BC or SC constraint preventing us from improving on
today's design later, when new requirements surface or we discover any
limitations of the initial design.  Consequently, discussions of API
design, naming and even style can be relevant to determining whether we
have made a technical error in the present design.

> So starting the header review process when we still expect changes
> might not be useful. I think starting it when we are in beta makes
> sense.

We certainly can't close a review until after FF, even if we do start
one before.  The advantage of starting early is to give more time for
the conversations to happen and the consequent fixes to be sorted out.

> But the reality is that the header review got rather conflated with
> API review (and, as far as template code in headers is concerned, even
> implementation review) in the last iterations. And while that is
> sometimes ok, the header review isn’t the right process to discuss the
> design of more complex frameworks.

Obviously the best time to review a new API or a change to API is when
it is first introduced, long before FF or the API change review.  All
the same, the latter can bring more eyes to the change and more insights
into potential problems with the change.  The initial change was
typically reviewed by folk working closely with the particular part of
the code-base; the API change review is apt to bring the change to the
attention of potential clients of the new API, or to folk who've
previously designed similar-shaped APIs for other purposes, who may have
valuable insights into the new design.

OTOH, when we're all rushing headlong towards the deadline of FF, an
early start to the API change review might be of limited value, simply
because relevant folk are too busy to have those conversations.  And the
part of the process which has been slow at recent releases has been
getting all the modules signed off by their respective Maintainers; it's
not really clear to me that an earlier start would help with that.

Eddy.
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] (To what extent) Should we start the API change review earlier ?

2023-05-09 Thread Volker Hilsheimer via Development
> On 2 May 2023, at 11:36, Edward Welbourne  wrote:
>> This email is the anchor for various topics. I’ll start with a few
>> threads with things that I remember and feel could be improved. If you
>> have something new, please start a new thread in reply to this email, ...
> 
> OK, then (see Subject):
> 
> We could simply start the review earlier.  The only real significance of
> the feature-freeze is that it's the cut-off for changes to API, aside
> from the changes to changed API that get prompted by the review.  So we
> could perfectly well start that earlier, and maybe get some of the fixed
> changes in before feature-freeze.  OTOH, that would be more work for the
> release team, having to update the reviews more times.
> 
> Another approach would be for Maintainers to run the scripts [0] on
> their modules locally and have a look for anything in the result that
> looks like it needs more eye-balls on it.  They can either dig up the
> original gerrit reviews of the changes and drag relevant eye-balls to
> take a look at that, or fake up a commit based on the one the
> api-review-gen script produced, that captures the particular piece(s)
> they want reviewed and push that to gerrit.
> 
> [0] they're in qtqa/scripts/api-review/, stick that in your PATH and run
>api-review-gen --help
>for details.  You'll need the dulwich python package installed.
> 
> Incidentally, if anyone does run these scripts for themselves and finds
> difficulties with that, I'd love to hear from you, via Jira if you think
> it's worth it.  The "break up git modules by Qt module" feature request
> already exists, QTQAINFRA-4763.
> 
> What (else) could we do to make the review run more smoothly and quickly ?


The primary purpose of the header review is to catch *technical* mistakes - BC 
or SC breakages - rather than to discuss API design, naming, or style.

So starting the header review process when we still expect changes might not be 
useful. I think starting it when we are in beta makes sense.

But the reality is that the header review got rather conflated with API review 
(and, as far as template code in headers is concerned, even implementation 
review) in the last iterations. And while that is sometimes ok, the header 
review isn’t the right process to discuss the design of more complex frameworks.

Instead of relying on the header review for that, it would be great if we could 
have more API reviews. For anything non-trivial it helps a lot to have the 
maintainer of the module and/or author of the new stuff walk through the 
changes. The diff that the tools for the header review generate might help 
facilitating that of course. IRC as the lowest common denominator is … not 
great for that; within TQtC we have MS Teams which the build system team used a 
while ago to discuss the new cmake APIs, also inviting contributors outside.

Was that acceptable and useful? Can we do that more? For people outside TQtC 
that have some new API to discuss, someone inside can always help with 
organising, so that we don’t get blocked by some paralysing discussion about 
what platform we should use for this.


Volker

-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] (To what extent) Should we start the API change review earlier ?

2023-05-02 Thread Edward Welbourne via Development
Volker Hilsheimer (2 May 2023 10:57) wrote:
> With Qt 6.5 out for a while already, and roughly a month to go until
> Qt 6.6 feature freeze and the start of the various activities that
> lead up to the release, it’s perhaps not too early to review some of
> the pain points we experienced with 6.5, and discuss how we can
> improve.

One pain point that came up at the time was that the reviews don't get
enough attention; another that we maybe need more time.  I think the
first of those is somewhat covered by one of your other sub-threads.

> In particular, the header review was particularly laborious this time
> around, and I would like to see what we can do to make it less so next
> time around.

I like that plan.

> This email is the anchor for various topics. I’ll start with a few
> threads with things that I remember and feel could be improved. If you
> have something new, please start a new thread in reply to this email, ...

OK, then (see Subject):

We could simply start the review earlier.  The only real significance of
the feature-freeze is that it's the cut-off for changes to API, aside
from the changes to changed API that get prompted by the review.  So we
could perfectly well start that earlier, and maybe get some of the fixed
changes in before feature-freeze.  OTOH, that would be more work for the
release team, having to update the reviews more times.

Another approach would be for Maintainers to run the scripts [0] on
their modules locally and have a look for anything in the result that
looks like it needs more eye-balls on it.  They can either dig up the
original gerrit reviews of the changes and drag relevant eye-balls to
take a look at that, or fake up a commit based on the one the
api-review-gen script produced, that captures the particular piece(s)
they want reviewed and push that to gerrit.

[0] they're in qtqa/scripts/api-review/, stick that in your PATH and run
api-review-gen --help
for details.  You'll need the dulwich python package installed.

Incidentally, if anyone does run these scripts for themselves and finds
difficulties with that, I'd love to hear from you, via Jira if you think
it's worth it.  The "break up git modules by Qt module" feature request
already exists, QTQAINFRA-4763.

What (else) could we do to make the review run more smoothly and quickly ?

Eddy.
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development