Funding for Fortran community

If someone donated 10 million USD to the Fortran community, what would happen?

Or, how much money does the Fortran community need so that the popularity of Fortran can achieve the next level?

Blockquote
How much money does Fortran community need so that the popularity of Fortran can achieve the next level?

I guess we need to define what we mean by “popular.” I don’t see Fortran becoming an everyday application language, like Python, C#, nor a systems language like C/C++. But it doesn’t need to.

Those things should be possible, but not optimized for. As long as making it easy for scientists, engineers, or others to implement correct, verifiable and resource efficient numerical computations that can be easily used in other languages, Fortran will have done its job. A side effect – Fortran becomes a good initial language to learn imperative programming.

With 10 million, we could fund:

  1. A comprehensive test suite for compilers, maybe even support a few existing compilers.
  2. Implement and document stdlib, and make it easy to use from various languages (Node, Python, etc).
  3. Incorporate modern Fortran into open source math and science curricula for high school and undergrad level.
2 Likes

Big funding doesn’t necessarily have to be hypothetical. NumFOCUS projects got a load of funding from NASA grants for open source software last year: NumFOCUS Projects Receive NASA Grants | by NumFOCUS | Medium. If we think we need (more) money, we could start looking for opportunities like that! (If we didn’t already)

2 Likes

I like to start small. I paid students out of my own pocket to help with LFortran and it goes really far, we made excellent progress. Leveraging GSoC. All three of LFortran GSoC students are still contributing. If anybody here is willing to contribute financially, please get in touch with me, I am happy to brainstorm what features we can deliver. I am estimating $50K for a year is all we would need to fully deliver on everything for LFortran to compile production codes. Consequently, even just $1000 gets really far. That assumes the work gets done by hiring students.

The $10M figure is when you want to hire employees at big corporations or national labs, there is typically a large overhead, large salaries etc. That kind of money is not possible to fundraise via crowdfunding. We can discuss that too, but the 1000x smaller figures that we are dealing with in LFortran is something we can do today.

Regarding how to even spend the money on the wider Fortran-lang projects, I don’t think we have an agreement. And that is something we should discuss, and that is why I started the other thread at Fortran goals for 2022, from which this was spun off.

Each of us have a different vision, there are multiple compilers under development, etc. Right now we don’t have a unified vision, and we have a lot of competing interests. That is all right. We already made progress in pulling by the same rope for Fortran-lang. If we can also focus on having a community compiler that we all contribute to, things will go fast very quickly. I personally think the biggest priority is compilers and fpm.

14 Likes

If I were going to decide how to spend money on fortran-lang, here’s my list:

  • Finish features we’ve (mostly) decided are needed for fpm beta/1.0. I’d guess something in the $10k range would do it if spent judiciously.
  • Set up and fund an official fpm package registry/hosting service; e.g. published releases of packages are hosted as tarballs on some service to remove the necessity of using git repositories. You could easily do this for a few $1k.
  • Set up and fund an online, browser based programming environment with Jupyter notebooks. This is something else that could be set up for a few $1k, and could be self-funding after that.
  • Implement a lot more of the functionality of stdlib. There is a lot of work to be done here, but most of it is stuff that could be done by students. So again, a few tens of thousands would make a huge difference.
  • A full test suite for determining the standards compliance of compilers. This might be one of the more expensive projects, but would possibly be the best return on investment, as we could finally get more compilers to be more consistently capable of using the newer features of the language. This is where I’d say spending a few hundred thousand would be worth it.

As you can see, the good news is I don’t think even a million dollars is needed to basically guarantee Fortran’s future for the next several decades. The even better news is that each the points above are either being worked on already, or are highly likely to be started in the near future, either by volunteers or from already available funding sources.

Don’t get me wrong, if somebody was willing to provide that kind of donation I’d love to help start a foundation and start paying the absolutely awesome contributors to fortran-lang for their work. I’ve floated the idea out a few times before, but we had decided the community wasn’t quite established enough and we didn’t have any leads on the kind of funding we’d want. You asking the question suggests maybe we’ve reached that point, but I still haven’t seen somebody actually ready to offer the money. Here’s hoping.

6 Likes

The Engineering and Physical Sciences Research Council are supporting the development of the Camfort tools in the UK. They love leveraged funding, so a quite small donation to the Camfort team in Cambridge and Kent would help secure further EPSRC funding. I am sure there would be other opportunities to leverage funding like this.

1 Like

fpm and std definitely should be funded by NumFOCUS. Just curious, how much funding do Fortran developers get from NASA and DOE? I know people who regularly get funding from DOE with various projects. DOE seems to have a lot of money.

I have so far not seen any avenues to get funding from DOE or NASA specifically to work on fpm or stdlib. Funding Opportunity Announcements (FOA) generally have specific goals/topics listed and I haven’t seen one where these would fit. I’ve also recently gotten the impression that DOE only wishes to fund projects that they developed or have funded previously or that rely directly on such projects (I.e. they’ve institutionalized the sunk cost fallacy). In fact I was told that a proposal I and @rouson were interested in writing - with one aim being to benefit fpm - would likely not be funded because it did not depend directly and solely on a DOE (ASCR specifically) funded project.

There has also been some bias (implicitly if not explicitly) against Fortran, so I don’t foresee those organizations wasting (in their opinion) money trying to support a (in their eyes) dying language. I’m hopeful that the fortran-lang efforts will be able to change minds and reverse these opinions, but I fear there is still work to do before that happens.

You can get funding to move away from Fortran to C++. But that was probably not what you had in mind. :wink:

2 Likes

The US National Science Foundation supports general purpose software development under “Cyberinfratructure” (e.g. this call). One big drawback is that NSF funds can’t usually be sent outside the US.

My personal experience is that hiring someone who knows C++ well can be very expensive. In the finance industry, the jobs that require C++ typically pay much higher than those that require R and Python. I am not sure how the institutions like NASA and DOE can afford to maintain C++ talents in the long run.

1 Like

I’m not sure Fortran isn’t any better there. It has a relatively limited number of programmers (especially younger and cheaper ones). It is probably easier to train someone for Fortran than C++ since it is a simpler language, but it isn’t faster, and currently is missing a lot of features necessary for non numeric parts of the problem, and doesn’t really have many advantages over C++/Julia.

The Fortran funding picture is made of tea leaves that can be read in multiple contradicting ways. On the plus side, several government agencies invest what surely is tens of millions of dollars in Fortran software development annually, but the vast majority of that funding stays in-house at federal laboratories and most of it is targets domain science rather than some broader service to the Fortran community. The U.S. Nuclear Regulatory Commission and the National Center for Atmospheric Research, for example, remain very committed to developing Fortran software and the same is true for at least some parts of NASA and the Department of Energy (DoE) national laboratories. But these are not funding agencies. They don’t offer unrestricted grants but they do offer contracts for training, consulting, and research software engineering.

As one service to the Fortran community, the DoE Office of Science has provided millions of dollars of funding over the last several years for national labs and industry (e.g., NVIDIA and Arm) to develop the LLVM/flang Fortran compiler. That’s a commitment well in excess $5 million dollars. One caveat is that DoE seems to see a future for Fortran largely centered around Fortran 95 kernels called from C++. It’s more challenging to convince people outside the Fortran community of the role that modern Fortran can play, but I’m optimistic nonetheless. I have two funded projects at Berkeley Lab that depend critically on Fortran 2018 and the same is true of projects at Archaelogic on which @everythingfunctional works with me.

It can sometimes help to present Fortran work in ways that are not so language-specific so that people familiar with other languages can relate and can be shocked into realizing that Fortran is a modern language. That’s the role UML diagrams play in many of my presentations, for example. When I interviewed for a job at Sandia National Laboratories in 2007, I spent the whole talk on object-oriented design patterns without mentioning the implementation language. Only when someone asked a question at the end that I couldn’t answer without mentioning the language did I sheepishly admit, “Hi, I’m Damian and I write Fortran.” The room laughed and I got the job. I count at least 3 or 4 of us in this thread who are funded to work full-time in Fortran. That’s a great sign. We might not be the biggest or most influential community, but we are among the most impactful (Anyone check the weather today? If so, you were looking at the results of a Fortran code.).The rumor’s of Fortran’s demise are greatly exaggerated.

14 Likes

In the spirit of spending that ten million instead of constraining yourself to current projects
o put a bounty on all currently existing gfortran bugs, as it is open-source and has a very open bugzilla report.
o endow the standards committe with a fund for commissioning an unencumbered user manual
o commission a LAPACK library and user manual completely co-array based
o sponsor gfortran becoming completely 2018-compliant
o endow a Fortran class in Computer Science departments with currently active Fortran classes in their engineering or science programs, including fees and travel expenses for the instructor to participate in the standards committee
o create competitions including tuition grants for the development of multi-platform POSIX, graphics, and parallel regular expression libraries
… and so on. Look for projects that entice universities, ETS and computer science programs to engage young students. Encourage participation from corporations and institutions with large Fortran bases.
o Fund an annual competition, each year picking a topic like AI, Big Data, Neural Networks, Database/Sqlite, Linear Algebra, Compiler/Hardware integration (like Co-array access to GPU hardware?) …

Everyone is being way too down-to-earth here. Spending funny money begs wishful thinking.

8 Likes

3 posts were split to a new topic: Advantages of Julia over Fortran