Boost logo

Boost :

From: John Maddock (jz.maddock_at_[hidden])
Date: 2024-10-06 08:47:53


> I have no opinions yet, currently this is just an information gathering
> expedition.
>
> One idea which just came to me while typing this: we remove the library
> from the release but keep the repository on GitHub. Users who need the
> obsolete library can obtain it using this "modular boost" system, or using
> a package manager (or maybe these are both the same thing?) I'm not sure
> how the testing would work. Who would test the obsolete library? Maybe that
> responsibility passes to the author or maintainer. Do obsolete libraries
> receive version tags? All good questions, and I'm happy to hear everyone's
> thoughts.

I've been meaning to raise this.  How about a procedure something like this:

Status 1:  Library is maintained and current.  No change

Status 2: Library is a "candidate for deprecation": this is where we ask
the question on the mailing list (and perhaps elsewhere), should this
library be marked as deprecated?  In order to reach this point then the
library must:

a) Have no meaningful recent maintenance.  b) Not be a major dependency
of other Boost libraries.  c) Not be a major dependency of other active
FOSS projects (ie google search shows up nothing).  If the answer comes
back as "no" then we should at least try and have a bit of a bug sprint
on the library (remember those?) and at least get CI back up to current
standards and relevance.  In fact this step alone may be useful in
focusing minds on what needs to be done to keep useful but unmaintained
libraries alive.  If "yes" to deprecate, then move to status 3...

Status 3: Library is deprecated: it should not be used in new code, it's
documentation contains a clear admonishment to indicate it's status, and
the library is moved into a separate index on the website for deprecated
libraries.  It is still shipped as part of the release.

Status 4: Former Boost libraries.  After a suitable amount of time
deprecated, a library may be formally removed from Boost. This means
that: a) we no longer include the library in our release tarballs, b)
the library is moved to a new index category for "former boost
libraries"  c) we do one final github-only release of the libraries
source, users may download and extract over the top of the rest of Boost
at their own risk.

And finally... There is no such thing as a dead library: any library can
be resurrected back up to status 1 by some meaningful maintenance and/or
an indication that it is still relevant.

Hoping this helps yours, John.


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