Analysis of the Julia Ecosystem (license and package status)

I am working on a project which requires me to build a catalog of OSS projects including the Julia ecosystem. I am currently working with a snapshot of METADATA from a few days back. I basically obtained the repositories and ran a series of protocols to obtain some metadata. The most crucial ones are license and package status. The preliminary analysis for package status is here. Please let me know if there are errors on it.

Definitions:

  • License type: SPDX Identifier
  • Package Status
    • deprecated
    • unmaintained (no product-ready release for Julia 0.6 and some version before it)
    • production-ready (some release worked at sometime with Julia 0.6 / according to PkgEvaluator or Travis C.I.)
    • development (0.7 packages, some branch has pass Travis C.I., but no release for 0.6)
4 Likes

DiffEqCallbacks, DiffEqNoiseProcess, and Sundials are all packages which are used by packages that are OK but somehow got labeled as UNMAINTAINED. IMO using PkgEval is a bad idea since a lot of packages cannot be tested properly on it (I generally just ignore it since it’s kind of a false flag far too often).

Also, PoissonRandom.jl is labeled as DEVELOPMENT but it’s v0.6 only, has a v0.6 release, and passed PkgEval IIRC.

corrections for packages from JeffreySarnoff:

OK: SortingNetworks
DEVELOPMENT: ArbNumerics, TimesDates, CompoundPeriods, MarkableIntegers
UNMAINTAINED: NanoTimes (replaced by TimesDates)

1 Like

Corrections for my single package, Samantha: OK status. Maybe PkgEval doesn’t work on GitLab? I haven’t ever used PkgEval, so that’s just a guess.

Coorection for GMT.jl

It’s maintained. Has branch for 0.7. Has no relation whatsoever with Gnuplot.

Looking at DiffEqCallbacks, I first checked if PkgEval had a record for 0.6, which it didn’t. However, the repository does have releases for 0.6 and the Travis C.I. log for latest version has 0.6 supported. I guess I should verify Travis C.I. regardless of whether PkgEval didn’t have a record for 0.6.

As for PoissonRandom, it wasn’t in PkgEval, so it looked at a branch in Travis C.I., but there wasn’t a branch with the latest release (log only shows jobs for Master) that is why it got recorded as dev.

That is correct. This will not be accurate for non Github repositories… there were like three cases.

This is wrong:

mbaz 	GaussianDistributions 	https://github.com/mbaz/Gaston.jl 	OK

The name of the package is Gaston, not GaussianDistributions.

1 Like

Thanks for pointing that out. That is puzzling. I will check the code again and see what caused that.

Cxx is maintained and sometimes works, it’s just hard to properly CI test :wink:

Spark.jl is actually OK. But thanks for bringing my attention to failing tests.

Erdos is OK

LCIO should be marked “OK”.

FinEtools
License MIT
Package status: maintained, updated to 0.7

Just to confirm it is getting it somewhat right:

1 Like

I think the JuliaGeo/GeoIP repo link is wrong.

rdeits/MeshCat.jl is labeled as UNMAINTAINED but is in fact under active development, and all of its releases work on v0.6. It’s just not something PkgEvaluator can properly test because I need xvfb.

Edit: likewise JuliaRobotics/MeshCatMechanisms.jl and JuliaRobotics/RigidBodySim.jl are both actively maintained and have working releases.

@oxinabox I wouldn’t say that LazyJSON.jl is unmaintained. You are correct that it is 0.7-only. When 1.0 comes along I’ll do whatever is needed to make it 1.0 compatible.

https://github.com/Nemocas/AbstractAlgebra.jl and https://github.com/Nemocas/Nemo.jl are labeled as UNMAINTAINED but are under active development.

Status of https://github.com/traktofon/FortranFiles.jl is correct but the “name” column in your table is “ForwardDiff” while it should (obviously) be “FortranFiles”.