Break up LALSuite monorepo into one project per (sub)package
I would like to propose the idea of breaking up the LALSuite monorepo into separate projects, one per subpackage.
While the transition would be painful, I believe that it would ultimately reduce the maintenance burden on the LALSuite maintainers by forcing developers for each subpackage to rely only on the released version of any upstream components, which would in turn encourage smaller releases with greater thought put into backwards incompatibilities.
This would also mean that failures in the CI for one subpackage have no impact on the development cycle for any of the others. Currently @adam-mercer spends too much time chasing up failures in one corner of LALSuite to free up building and releasing something completely unrelated.
My plan would be to start from the end of the chain (lalapps
) and work backwards, slowly stripping each subpackage out into its own gitlab project, eventually deprecating this project entirely in favour of the new smaller projects. At the same time I would then encourage the working groups to take greater ownership and maintenance of the relevant component projects (e.g. the Burst group and LALBurst, the CBC group for LALSimulation, LALInspiral, and LALinference, and the CW group for LALPulsar), while the Computing working group would retain the burden for maintaining LAL, LALMetaIO and LALFrame (at least).