Is adding new Fortran to SciPy generally allowed?

To summarise points of apparent consensus so far:

  • we do not want to accept any new F77 code
  • replacing F77 with a modern implementation is welcome, particularly if it is actively maintained
  • There has been a huge effort to translate existing F77 code, mostly to C, and that has been worthwhile

The main point of disagreement is:

  • for new algorithms, should we accept any Fortran at all, even if it is actively maintained modern Fortran?

Arguments against accepting it:

  • it works against the goal of “no Fortran in SciPy”, an idea which was explored in Releasing (or not) 32-bit Windows wheels. This is compelling because of the build challenges which Fortran brings, and the lack of maintainers for existing Fortran in SciPy. (EDIT: see also the next comment)
  • actively maintained code can always become unmaintained in the future. At that point the responsibility would fall to SciPy to maintain or translate it. So there is risk involved.
  • Some new modern Fortran implementations are not mature and we should be careful to not start depending on projects in the “honeymoon phase”

Arguments for accepting it:

I don’t really have any opinions of my own to throw into the conversation yet, but perhaps others can expand on these points below.

1 Like