[QGIS-Developer] LTR management [was Re: Delaying 3.10.1?]
Even Rouault
even.rouault at spatialys.com
Fri Nov 22 14:20:49 PST 2019
> QGIS LTR in Windows has also switched from proj 5.x and gdal 2.x to
> proj 6.x and gdal 3.x which has resulted in some new bugs.
I see 2 different situations:
- 3.10 was intended to work with GDAL 3 & PROJ 6 (work started with 3.8 if I
remember). OSGeo4W received a late upgrade to them because GRASS 7.8 wasn't
ready yet for them (no offense to the GRASS team !), but devs have been able
to work against GDAL 3 & PROJ 6, so that wasn't unknown territory. Probably
that 3.10.0 could have been delayed while OSGeo4W hadn't switched to GDAL 3/
PROJ 6, but it wasn't clear when GRASS would be out. So overall how the
situation was handled doesn't seem that bad for a release exercising new major
dependencies.
- I do agree that the switch to GDAL 3 & PROJ 6 for a near end-of-life 3.4 LTR
was unfortunate (but more than the timing, that does not seem appropriate for
a release which was not designed originally to work with them) and I felt -0
on that.
> It will be additional work for package managers and more resources, but it
> will be good to have some guidelines on LTR and PRs dependencies for
> packaging.
Each LTR should ideally have its own set of dependencies, allowing controlled
changes of them when needed (adopting a new bugfix version might be OK), and
allowing the current version to use more aggressively new versions of the
dependencies. That said, I'm not a packager, and don't know the effort & cost
associated, but that's clearly an area where the project could/should invest.
Similar situation is likely to happen again in the future.
I'm also wondering if there shouldn't be a vote, from developers, PSC, bug
triagers, testers or probably a mix of them forming a representative body, to
adjudicate:
- dependency upgrades
- decision of releasing a new version (most other OSGeo projects I'm familiar
with rely on a PSC formal vote to issue releases (*)).
Or one might consider a mixed approach to have a good compromise of agility vs
tighter control:
- use time-based approach, as done currently, for non-LTR versions.
- formally approve the release of LTR versions, and important engineering
decisions that affect them, as there are the ones with the most user exposure.
Sometime ago I also suggested to possibly consider 2 phases in a LTR life-
cycle: first half where quite "aggressive" backporting is accepted (if it
doesn't break API, etc..), second half where a much more conservative approach
is taken. It is rather obvious that a .0, .1 needs more stabilization than a .
12 or a .13
Just food for thought :-)
Even
(*) even bugfix ones, which is admidetly sometimes a bit overkill
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the QGIS-Developer
mailing list