On 17/04/2022 17:13, Vinnie Falco via Boost wrote:
The C++ Alliance is receiving many applications with qualified C++ candidates, but we are having a hard time matching them up with long-term projects which are aligned with our organization's goals.
Is there a list of libraries that need help or does anyone know of one or more particular libraries that are in need of improvement and work?
I would guess that the larger domain-specific libraries can always find stuff for people to do: Math and Multiprecision could, I'm sure Asio and Beast can too - that doesn't mean that that should be our absolute priority though. There are plenty of libraries in need of a bit of a make-over due to lack of maintenance, for example: I've tried to keep the Graph lib reasonably usable through a bit of community maintenance, but, knowing that I am most definitely not an expert - nor ever likely to be one - in that domain, the maintenance has been of the "do as little as you can and try not to break stuff" variety. There is still stuff you can do in terms of improving CI, modernizing tests, and fixing obvious issues caused by changes to the std. I've often thought, that what Boost really needs is a "janitor". The Janitor is someone who's qualified to mend just about anything that breaks, doesn't mind doing the boring jobs that no one else what's to do (at least not in their free time), and is willing to be told by others what jobs are the next priority. In the context of Boost that would mean something like: 1) Determine which libraries are being actively maintained. 2) Make sure all libraries have decent tests and CI running (yes, even the maintained ones, though they would be lower priority). 3) Make sure all libraries are still fit for purpose, and propose libraries that should be deprecated and removed from Boost, then Sheppard them through the procedure. 4) Where general purpose libraries need maintenance, work through the PR's and issues, plus any issues shown up during the addition of enhanced CI. The priority for which libraries to work on next should be decided by feedback on the mailing list (ideally it should be possible to vote on it, but we don't have the infra-structure for that yet). 5) Report back to the mailing list at regular intervals so folks know what's happening, and can help identify the next target for maintenance. 6) Be prepared to engage in some "emergency maintenance" when required, as in "library X has a showstopping issue and the maintainer is out on contract in Ulaanbaatar". 7) Where highly domain specific libraries need work (Graph!), agitate and cause general mayhem until someone with the right experience steps up to the plate and at least gives them a bit of modernization. Of course the "janitor" need not be one person, and no one person need be the designated janitor for life! :) Best, John.