Boost logo

Boost :

From: John Maddock (jz.maddock_at_[hidden])
Date: 2022-04-17 18:08:12


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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk