Now that the Fortran-Lang family is growing with projects that need continuous development (stdlib, fpm, vscode-fortran-support), plus we as a community are actively thinking of ways to improve the Language Marketing, I think it is a good time to consider how to fund the development of these projects.
My idea was to start by including funding links in the GitHub repositories, much like NumPy, SciPy, etc… However, as @milancurcic pointed out fortran-lang is currently missing the legal structure that would allow it to receive money.
Three options were suggested:
Using LFortran’s NumFOCUS account (if possible) to receive donations. NumFOCUS takes a 15% service fee from each donation.
Forming a nonprofit to receive donations, which potentially would require a substantial amount of work.
Having an individual receive and handle the donations (which can be potentially very complicated and highly problematic).
Are there any options that I have not listed?
Also, what do you think of opening donations to the public for individuals, companies and organisations to be able to support the development of projects they deem important?
I think it is a good idea. It would mean an independent body.
If legal process takes time, we should invest time in it, I think. As to money for this process we could donate to the leader of this whole project. Few individuals could be chosen to look after this whole process with regular updates in a monthly meeting.
I wonder whether it is feasible for us to get the Fortran-lang community supported by NumFOCUS as a whole. Looking at the criteria for getting support via NumFOCUS at Overview: NumFOCUS Projects - NumFOCUS it seems like an actual possibility for us.
That is certainly another option, I was looking at it myself for fortran-lang (and also fortls) but I found the submission stages a bit too far away. I recall stage 1 being sometime in January. Definitely worth considering for long term though.
So I had a quick chat today with a friend who is a lawyer, and if we were to go down the NGO/nonprofit route there would be some fixed costs associated with the upkeep of the company, like reserving a physical address and (periodically) paying an accountant for bookkeeping and yearly financial reports.
I believe there are numerous other issues such as, where the company will be based, some upfront costs, and finally the appointment of officers. With the last one requiring people to allocate time throughout the month to deal with any potential problems the organisation has (because it would be a company after all).
Personally, this sounds unjustifiably complicated. AFAIK, fortran-lang has no sponsors, hence it can not possibly justify setting up a company structure that will require continuous cash spending just so it to be law-abiding. That’s why I think if fortran-lang were to pursue setting up funding routes NumFOCUS would be an excellent choice.
That sounds very reasonable. Do you think it would be a good idea to start the application process now? As always, I am happy to help bring fortran-lang up to spec for the NumFOCUS application, although I think it already is in a very good state!
Setting up a legal structure to receive money (NumFOCUS or otherwise) is a formality and a matter of doing the chores.
True challenges with funding IMO and not discussed so far, are how to spend the money and remain neutral and without a financially incentivized agenda. Examples:
What to do if a vendor wants to pay for a feature that is not aligned with the community? An option is to refuse such funds, but there may be a solution from somebody with more experience from larger community projects.
How to decide whom to accept funds from? Again, with the goal of staying vendor-neutral and maintaining a positive image of the Fortran brand. For example, a large corporation that could be widely known as having unethical work practices or using dark patterns in software could offer a free-and-clear donation to Fortran-lang. It is not clear where to draw the line.
How to prioritize spending on services, e.g. Discourse, server costs for web playgrounds and package registries and similar?
It’s possible that these have been solved and documented (I haven’t done the research), as many open source community projects went through the same journey. But these are important questions that we should be discussing sooner rather than later.
Yes, what @milancurcic says is exactly why I am hesitant to pursue this at this time.
We have made great progress since last year, but I feel we might need another year. These things do iron themselves out over time, as we get more GSoC years behind us, more track record with students, more time to align ourselves with the goals, etc.
To give an example of the challenges: I would of course like to use such funds for LFortran. But what about GFortran and Flang, and what about the commercial compilers? They would all want to use such funds as well. We currently don’t have agreements in the community what tools we should use and prioritize. But as I said above, we have made great progress since last year, and have better answers than we did, but we need to make more progress on this.
Here is one idea out of this: we can encourage each “sub-project” to accept funding, then people can decide what they want to fund. And we already do. Here is how you can donate to the main three open source compilers:
Concerning this point, I chuckled a bit when I saw the JuliaCon sponsors:
Sponsorship:JuliaCon sponsorships are available at the Platinum ($30,000), Gold ($15,000) and Silver ($5,000) level. Current and recent JuliaCon sponsors include Julia Computing, Julius Technologies, RelationalAI, Beacon Biosignals, PumasAI, QuEra,Conning, Invenia, Metalenz, NumFOCUS, DataChef, Jeffrey Sarnoff, Amazon, Facebook, Google, Microsoft, Intel, Nvidia, JP Morgan, Capital One, BlackRock, Invenia, Gordon and Betty Moore Foundation, Juspay, Zapata, University of Maryland School of Pharmacy, Alfred P. Sloan Foundation, Replit, Maven, Gambit, Tangent Works, Alan Turing Institute, EVN and Voxel8.
That said, I’m pretty sure many of these financial companies are using Fortran somewhere in their software stacks. I’m also sure that all military institutions across the world use or have used Fortran in some form. If you search for “guidance and control of tactical missiles”, you are bound to find some Fortran codes sooner or later.