[J3] [EXTERNAL] Re: [BULK] Re: Niklaus Wirth

Jeff Hammond jehammond at nvidia.com
Tue Jan 9 15:19:12 UTC 2024


The failure of software funding is not a cost problem but an expense administration problem, as Tom describes.

The problems with supporting GCC specifically are:

  1.  The license.  Some companies, including most of the HPC vendors I know, really do not like the GPL.  This is why they all support LLVM.  Yes, vendors make exceptions for Linux and GCC C/C++ because they have no choice, but GCC Fortran is not life-and-death for HPC vendors.  Even then, you’ll see interesting arrangements for GPL software, such as paying subcontractors to do the work, rather than doing it directly.
  2.  There is no mechanism for paying for GCC Fortran.  If you want to spend $1M, sure, go to Linaro or RedHat or Mentor Graphics and get some real work done, but if I want to bypass all the administrative overhead and donate my personal funds to the project, where do I send the money?  I don’t see a button to GitHub sponsor<https://github.com/sponsors> on https://github.com/gcc-mirror/gcc.  I could donate to FSF but (1) that money won’t go exclusively to GCC development and (2) I refuse to support FSF for reasons unrelated to GCC Fortran.
  3.  It’s not clear that the GCC Fortran developers want money.  Some of them have full time jobs doing other things at universities and may not even be able to take outside funding without creating their own administrative problems, because universities need that juicy overhead on every dollar.
  4.  If GCC Fortran licenses existed, they’d be likely be, like Intel Fortran licenses used to be, in the awkward price range between the cost of an expensive dinner ($100) and a capital expenditure ($5000) that is the hardest to charge at most institutions.

I’d love to be proven wrong.  Have the GCC Fortran folks setup a bug bounty.  Give me a dollar amount for adding support for Do Concurrent locality specifiers and I’ll figure out how much I can afford to contribute personally.

Jeff


From: J3 <j3-bounces at mailman.j3-fortran.org> on behalf of Clune, Thomas L. (GSFC-6101) via J3 <j3 at mailman.j3-fortran.org>
Date: Tuesday, 9. January 2024 at 17.04
To: General J3 interest list <j3 at mailman.j3-fortran.org>
Cc: Clune, Thomas L. (GSFC-6101) <thomas.l.clune at nasa.gov>
Subject: Re: [J3] [EXTERNAL] Re: [BULK] Re: Niklaus Wirth
External email: Use caution opening links or attachments

I should also add, that I routinely pay for (currently) 4 NAG licenses for my group, and used to pay for several more Intel licenses for my group.    Most people in my org work on one of the NASA computing clusters which provide a variety of compilers for the entire user base.

The $$ amounts we are discussing here are really a non-issue for most government researchers.   It is the pain of handling small contracts.

Perhaps someone could monetize gfortran?  Offer a license that includes support.   They’d still need to register with the US gov’t as an entity, but I would then happily pay for 3-4 such licenses each year from my budget.   (And I’m thinking more like $300/year than $100, but maybe there could be multiple tiers.)


  *   Tom

From: J3 <j3-bounces at mailman.j3-fortran.org> on behalf of j3 <j3 at mailman.j3-fortran.org>
Reply-To: j3 <j3 at mailman.j3-fortran.org>
Date: Tuesday, January 9, 2024 at 9:57 AM
To: j3 <j3 at mailman.j3-fortran.org>
Cc: "Holcomb, Katherine A (kah3f)" <kah3f at virginia.edu>
Subject: [EXTERNAL] Re: [J3] [BULK] Re: Niklaus Wirth

CAUTION: This email originated from outside of NASA.  Please take care when clicking links or opening attachments.  Use the "Report Message" button to report suspicious messages to the NASA SOC.




My husband was a faculty member and served for nearly a decade as an associate dean for the sciences.  He always said that faculty are among the biggest cheapskates in the world.  They *might* have been willing to pay around $100, if they absolutely couldn't get away with being free riders, but software licensing more typically runs from a few thousand to many thousands of dollars a year, depending on the package and the number of seats. If it's not on annual maintenance so they have to buy it outright and then buy it again if they want to upgrade, they'll cling to ancient versions for years.  They always have better uses for that amount (their first priority is their own summer salary, followed by graduate students/postdocs, followed by other expenses like travel).   It's also a factor that in the US, grants typically last 3, maybe 5 years, and if software requires annual licensing, they'd lose access when the grant expires unless they have a new one immediately lined up and the program allows them to fund software.

Remember my anecdote about my husband's colleague who wouldn't pay for a Fortran compiler because he could get a C compiler for free.  At that time (late 90s or thereabouts), there were several modestly-priced compiler suites that supported at least many of the immediately useful features of Fortran 90.

I worked managing some of our software licensing for several years and still do some of that (happily very little anymore).  It may be partly because my university had a long history of funding a lot of infrastructure centrally, which is not universally the case, but when we attempted to do cost recovery even from departments or schools, much less individual faculty, the whining and complaining were epic.  They would also constantly put in requests for central funding for some commercial software package they wanted to use.

I just saw Tom's response and the problem with academia is sort of the opposite to what he describes in (US) government.  Faculty might be able to pay a few hundred a year, or perhaps a one-time charge of a few thousand, but won't pay several thousand a year.

Funding is a generic problem for open-source software.  I use a lot of it since I work on Linux as much as I can.  Lately I've been trying to throw some money at it, but I haven't been all that good about it myself.

-----Original Message-----
From: J3 <j3-bounces at mailman.j3-fortran.org<mailto:j3-bounces at mailman.j3-fortran.org>> On Behalf Of ian.chivers--- via J3
Sent: Tuesday, January 9, 2024 9:08 AM
To: 'General J3 interest list' <j3 at mailman.j3-fortran.org<mailto:j3 at mailman.j3-fortran.org>>; 'Long, Bill F' <william.long at hpe.com<mailto:william.long at hpe.com>>
Cc: ian.chivers at chiversandbryan.co.uk<mailto:ian.chivers at chiversandbryan.co.uk>
Subject: Re: [J3] [BULK] Re: Niklaus Wirth

I find it strange that people don't budget for software As part of their research.

When Jane Sleightholme and I worked in the university sector we Had site licences with both Salford Software and Nag.

We would then 'cost recover' by selling a licence For the Salford compile, Nag compiler and Nag library For typically £25 per annum.

With the devolvement of budgets to departments The site licencing disappeared, and research groups were Looking at massive costs increases.

Why researchers can't budget for $100 a year for a contribution For the development of the gfortran compiler beats me.

Just my 2 cents worth.

Ian Chivers

-----Original Message-----
From: J3 <j3-bounces at mailman.j3-fortran.org<mailto:j3-bounces at mailman.j3-fortran.org>> On Behalf Of Damian Rouson via J3
Sent: Tuesday, January 9, 2024 2:43 AM
To: Long, Bill F <william.long at hpe.com<mailto:william.long at hpe.com>>
Cc: Damian Rouson <rouson at lbl.gov<mailto:rouson at lbl.gov>>; General J3 interest list <j3 at mailman.j3-fortran.org<mailto:j3 at mailman.j3-fortran.org>>
Subject: Re: [J3] [BULK] Re: Niklaus Wirth

On Mon, Jan 8, 2024 at 12:33 PM Long, Bill F <william.long at hpe.com<mailto:william.long at hpe.com>> wrote:

Hi Damian,

Those F2018 features are now available as F2023 features.  Since the publication of F2023, F2018 was deleted.


The gfortran developers have status pages grouped according to when a feature first entered the language.  These pages show

- 2003 support completed: https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fwiki%2FFortran2003Status&data=05%7C02%7Cthomas.l.clune%40nasa.gov%7C72595341de554d49b66608dc11235580%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638404090662508727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o5tdbgKa9lhDkGfl2k95x5S2D3D87iBlUtjbKfeXyCg%3D&reserved=0<https://gcc.gnu.org/wiki/Fortran2003Status>
- 2008 support very nearly completed: https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fwiki%2FFortran2008Status&data=05%7C02%7Cthomas.l.clune%40nasa.gov%7C72595341de554d49b66608dc11235580%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638404090662508727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aZTXMv32%2BXTdekhfWmdUzbGils%2FVK8KBdeXQGgoMXM4%3D&reserved=0<https://gcc.gnu.org/wiki/Fortran2008Status>
- 2018 support still far from complete but with all of C-interop and a lot of parallel features there:
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fwiki%2FFortran2018Status&data=05%7C02%7Cthomas.l.clune%40nasa.gov%7C72595341de554d49b66608dc11235580%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C638404090662508727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PEcAOQWVRLgGpunXL3J3%2Fzu9Uzvw2f5uiyH7TDt9qzM%3D&reserved=0<https://gcc.gnu.org/wiki/Fortran2018Status>

The thing I've never quite understood is how to get the Fortran community to support gfortran more.  Most of the developers are volunteers but some accept contracts for work on features or bug fixes.  I started funding gfortran work when I was at Sandia and then funded a lot more via Sourcery Institute and Archaeologic with some help from sponsors, clients, and donors.  (Thanks, Tom!)  In every case, I found that a little goes a very long way: we couldn't afford much and the developers could likely have charged a lot more for the work if bigger organizations stepped up to contribute.  We paid for big chunks of the work on type finalization, parameterized derived types, teams, submodules, coarrays, events, collective subroutines, user-defined derived type I/O, atomic subroutines, and I think possibly failed images but that work didn't make it into a release.
In many cases, the feature support is partial because we couldn't afford to pay for more than what we need, but if I made a very rough guess from memory, I'm reasonably confident that all of the named features cost less than $100K over the span of roughly a decade so that's what less than $10K per year buys.  If a 100 users contributed $100/year, it would have been more than enough to cover every feature mentioned at least to a point of being useful even if not complete.
There's a bit more about this in the Sourcery Institute 5-year report from 2020 that I can forward to anyone interested.


We need Tobias back working on gfortran....

Tobias has been contributing to gfortran regularly for several years now as part of his current job.  He mostly works on OpenMP and OpenACC support.  I really wish we could get him back onto working on the parallel features.

Damian


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20240109/7a0432be/attachment-0001.htm>


More information about the J3 mailing list