Roadmap for OTB 9.0
Introduction
During the OTB User Days, we had the opportunity to talk about the future for OTB. This helped us make some plan regarding the coming months. This issue is a story aiming at providing a single place to discuss everything that we (as a community) want to do in the scope of 9.0. Please, feel free to comment this issue to enhance the following propositions.
Scope of OTB 9.0
The purpose of OTB 9.0 will be to improve packaging and maintainability.
Remove Qt, the GUI app and Monteverdi
The dependency to Qt makes the OTB package quite heavy, and requires much maintenance. The purpose of this dependency is to provide some nice GUI so user don't have to use the command line. QGIS with the OTB plugin allows one to run OTB applications without command line, and even more (display images, save result in memory, etc). So we wondered if the GUI provided with OTB were still relevant. The survey organized on November 2020 pointed out that very few people used it anyway.
Qt is also required to build Monteverdi. Monteverdi is a tool used for very specific applications, and does it's job very well. However, it hasn't evolved for years. So we decided to stop it's development. It will still be available for download with older version of OTB, but will be removed from OTB's main repository.
Of course, if anyone wants to take over the maintenance of the GUI or Monteverdi, they will be welcome to create a remote module.
Remove MacOS support
As MacOs is used by very few people, and Apple is moving to an ARM architecture, it is becoming more difficult to maintain OTB on this platform. Docker is fuly supported on MacOs, so we decided to concentrate on a Linux docker image that people can use on any MacOs.
Enhance the DEMHandler to manage huge directory
With OTB 8, when one provides a directory to the DEMHandler, it loads all the content of the directory into memory. If this directory contains a lot of DEM tiles, it can take a long time or even crash. We propose to improve the DEMHandler so it only loads the tiles needed by the process.
Postponed to OTB 10
Re-organize the packaging in modules
OTB should be modular, installable via light packages
Re-organize the tests
Many unit test relies on heavy data, and should be made a lot simpler.
Upgrade to ITK 5.x
ITK is one of OTB's the main dependencies. It's last major version, 5.0, was release on May 2019, and the latest version is 5.2.1 released on August 2021. But OTB still relies on ITK 4.x. The time has come for OTB to catch up. It requires some adjustments, but some preliminary work was already done (!194 (closed), !528).