Hey there
I’m the author of the article, and also a maintainer (one of many!) of both SciPy and conda-forge. I had actually come here to share the blog post I had written, and was pleasantly surprised it was there already!
To make this more explicit: all the difficulties that I was concerned with were about the lack of usable Fortran compilers on windows, which is a platform we simply cannot afford to neglect.
I know that you have interacted a lot with key SciPy maintainers on this, so I’m not telling you anything new, but for the benefit of more casual readers:
The problems of Fortran in SciPy development (as opposed to distribution) are of a different kind: we have loads of ancient Fortran spaghetti code that’s almost impossible to change, because there are still bugs even in that old code, but touching it is iffy, especially since none of the remaining regular maintainers is an expert in Fortran.
For relatively easy functions, it’s much more natural for us to have these things (re)written in Cython, which has a much lower barrier to entry in terms of maintenance. It’s IMO quite unrealistic that this will be done in a year though, the speed depends entirely on people putting in the work to rewrite things; the lowest energy state is “no change”.
Based on the discussions that I’m aware of (though I’m only speaking for myself!), I believe that “modern” Fortran with knowledgeable and active maintainers (e.g. replacing MINPACK with its modern version or cobyla with PRIMA) would definitely still have a shot. The maintenance bit is the key aspect here – someone that maintains the Fortran code. The chances are probably way higher if it’s a separate project (and ideally there’s someone who helps us to wrap it correctly), than trying to have the code live in the SciPy repo[1].
For Fortran code beyond what’s currently in SciPy, it’s likely that the above model would have to prove itself for a while before inclusion of new functionality based on Fortran would be considered. Still, the context is not so much about Fortran itself (quoting from the issue you linked):
I have to repeat this very often, this is not a crusade against fortran, but dormant and unmaintained F77 code.
So in summary, having the windows side of dealing with Fortran become unstuck is great news. It removes a huge pain point for SciPy and opens the door to new opportunities in the future. Just bear in mind that people involved might need some time to turn the scars from the problems of the past into the joy of using modern Fortran[2].
even if you became a very active SciPy maintainer knowledgeable in Fortran today, that would still be a bus factor of ~1 to us. So rehabilitating Fortran directly in SciPy would probably need 2-3 maintainers that are knowledgeable in Fortran and willing to actively help maintain any aspect related to that. ↩︎
You can probably accelerate things a bit by contributing yourself and showing us how it’s done. ↩︎