I would be curious if there are a lot of libraries which are currently are outdated, but where the original authors had planned to restart post 1.0 (when they expect API stability and the general number of users to rapidly increase). Even if not, there may be people willing to take over the older libraries at that point. So having easy ways to find potentially outdated libraries is useful.
On another note, I spent a bunch of time over the last few weeks getting a sense of the ecosystem, and found it very hard to find functionality as opposed to just packages.
- One example I can think of is when I was looking for a
Kalman Filter which I expect has been re-implemented a million times - mostly poorly - and with incompatible state-space model specifications. There were a few obvious places which I had a strong prior might have the functionality, but it much harder than it had to be.
- Another was looking for chebyshev polynomial nodes and quadrature weights. I had some guesses of repositories to look in, but consider how hard it is to look through something like https://pkg.julialang.org/ to guess which packages to look closer in.
To aid in this for the post-Pkg3 infrastructure, consider whether it is possible to have indexing of functionality below the level of package and its keywords? Maybe it is possible to have a bot to index docstrings in the repository, which could be used by a general package search engine from within the “curated” list? That way, if someone writes: "Algorithm taken from: Laub, “A Schur Method for Solving Algebraic Riccati Equations”, as in https://github.com/JuliaControl/ControlSystems.jl/blob/0ecafbcc8c05a87c98f7d5b55cb4368d9ecbd10e/src/matrix_comps.jl, someone searching would finding it for “Riccati” or Laub.
Nothing too elaborate is necessary, but would help make reusable code easier to find, and encourage loosely coupled packages rather than monolithic ones with repetition.