Just a few random general notes and some comments on specific things.
First generally I think this ticket is more a Picard v4 scoping discussion. The scope for Picard v3 that we had decided last year is pretty much the Qt6 transition with hopefully some improvements around configuration management and plugin structure (needs to be discussed in detail) [1]. The major version bump is required as Qt6 both requires updates to existing plugins (even though it should be just replacing Qt5 with Qt6 in the imports for most cases) and raises the min. system requirements as discussed above. All the plugins in the picard-plugins repository will be ported over.
Since the release of Picard 2.0 we have done frequent releases, and I'd like to continue this. Version 2.9 is a bit overdue currently, but we'll do it soon. Afterwards I'll want to get the Qt6 branch merged and focus on Picard 3 features. Again, it's not the plan to go into a 2 years hiatus, but I'd like to get a pre-release out timely. Also it is definitely the plan to provide a stable release updated to a newer technology stack. Limiting the scope enables this.
I definitely don't see the multi-process work in v3 (this is a pretty vague thing anyway), and I definitely would like to see any major UI changes being done after a stable release ported to Qt6. Everything else requires someone to commit doing the work in time. We include features we take in if they get ready, as always. There are always some contributions happening from people just getting interested in a specific thing.
So if someone wants to see X in Picard and says they will work on X that's great.
Always keep in mind that this release is not the end. Things discussed above can be done in future releases.
So v3 is the opportunity for bigger changes that may (temporarily) reduce the stability or which may need more than one iteration to get optimally right.
The idea was to provide a stable version on an updated technology stack, not an experimental one.
I think we need these to understand just how important it will be to be able to back-port improvements from v3 to v2.9, which will potentially be much more difficult if the code base changes in a major way due to rearchitecture.
We will do patch 2.9.x releases as necessary. The plan is definitely not to keep the 2.x branch of Picard on feature parity with 3.x. But if we do 2.x releases and patches are easy to take over there is nothing speaking against doing this. We don't need to or even can decide this now. We will see when we are doing the releases.
The only thing I can say for sure is that we will get requests about users asking about running Picard on Windows 7 or macOS 10.x. And the only thing decided (because I have agreed to do the work) is that we will maintain the 2.9 release for a while if we can continue to support the build infrastructure. At some point this will not be feasible anymore. E.g. once Python 3.8 runs out of support.
Invite participants for Picard v3 as part of GSoC.
We had GSoC contribution last year. This year we also had project ideas, but were not quite convinced by the applications. Also keep in mind that this always also requires time for mentorship. This year I couldn't fully commit to this (but would have co-mentored with zas).
–
[1] See also https://tickets.metabrainz.org/projects/PICARD/versions/12322
@phw
I cannot disagree with any of the points you make.
In the end, open source projects like Picard only get the improvements that can be resourced, and that certainly seems to be a limiting factor. Without MeB committing some of its resources to Picard, we are as ever reliant on volunteers and thus only the things that volunteers are keen to work on are likely to get done. And as you say GSoC soaks up mentorship time, so a bit swings and roundabouts.
The V3 release page (which I hadn't previously been aware of - so thanks for pointing it out) already seems to have more things on it than can currently be resourced, and so @aerozol 's UX desired improvements seem to be at best long-long-term.
So on this basis, it would seem that we should (as Philipp suggests) move new items to a V4 release.
The security point I made above is already kinda included in V3 because the new Plugin Management System in PICARD-1861 already has these points covered in the Wiki page it refers to, though I have enhanced my contribution in the Wiki page to give a little more detail.
If there is now consensus on this, we can change the title of this ticket to refer to v4.