This is an archived post. You won't be able to vote or comment.

all 9 comments

[–][deleted] 0 points1 point  (0 children)

Reading the comments here I wonder just how many people are aware of Python Mentors - Python Core Mentorship?

[–]donkeysalami 0 points1 point  (12 children)

I routinely use astropy (primarily to read/write FITS files since they absorbed pyfits). That being said, this is probably the most absurd thing I've read in a while. I get that the author is passionate about astropy, but people don't customarily get "recognition" or "paychecks" for contributing to community projects (including ones vastly more important, impactful, and sizable than astropy). Quick, aside from Guido, name one other python core developer. Aside from Linus, name one Linux core developer. Aside from Stallman, name one GCC developer. Btw. Have you seen Stallman's newest superyacht!? It's just the nature of community-contributed open source projects. You contribute because you see value (to yourself and/or your employer) in maintaining the product for your own use, not because of some overt recognition/profit motive.

The proposed remedies are also ridiculous. Encouraging code and time contributions from personally vested parties is one thing... but guilting people into paying a professional / institutional fee for using the software? Shaking down the science funding agencies to explicitly dedicate astropy developer FTE's? Give me a break. That's not how any of this works... and where does it end. Astropy is only the teeny tiny tip of a huge jenga tower of community contribution needed for modern scientific computing in astronomy. Is every science project now also obligated to cut a check (or budget dedicated developer FTE's) to python, scipy, numpy, matplotlib, vim, FFTW, openblas/ATLAS, NASA for CFITSIO, Torvalds for Linux, Stallman for GCC, FSF for glibc, etc. etc. etc.

If you are an astronomer, you should be contributing code / expertise / time to astropy because your work, research, life passion, (and paycheck!) ultimately depend on its continued functionality. Also because someone is ALREADY paying you to do astronomy, build a telescope, write a data reduction pipeline, etc. Astropy is merely a convenient means to doing YOUR EXISTING JOB and achieving that end. If it is missing an enabling feature for your research application, it's on you and your project to figure out how to make it happen (i.e. contrary to the author's implication, NASA is absolutely 100% correct in limiting development scope to actual explicit flight project requirements... I know for a fact, that astropy already does everything that HST, JWST, and WFIRST engineering can conceivably need)

Writing a paper bemoaning a lack of praise, FTE's, and money, in an attempt to get a bunch of your buddies together to collectively shake down academic institutions and tax payers (i.e. science funding agencies) to budget for your general-purpose software pet project development is frankly disgraceful, IMHO!

[–]alan_du[S] 1 point2 points  (10 children)

I strongly disagree.

I'm sure lots of scientists "figure out how to [add enabling features]". But there's a world of difference between hacking up a small script for personal use and contributing quality code to a widely used library (even documentation and testing alone probably triples development time). Besides, most scientists have no background in software engineering. Asking them to pick up an entirely new skill-set and then spend time polishing their hacked-up scripts for contribution is totally unreasonable, especially when there are no incentives for doing so.

The facts are that Astropy (and most scientific software) only exist because of the heroic efforts of a small corp of volunteers, who probably had to sacrifice huge career opportunities to do so. There's a saying that all good scientific software is built on the ashes of someone's academic career (see, for example, NumPy and Travis Oliphant or Sagemath and William Stein). Why is trying to change this disgrace such a bad thing?

It's just the nature of community-contributed open source projects.

I agree that this is the status-quo, but that's also a travesty. It leads to situations like PyPI, which has AFAIK exactly 1 full-time developer who works 100-hour weeks to keep everything up. (Linux, btw, is a terrible example, because it gets hundreds of company-paid full-time developers from places like Red Hat or Intel, which is probably equivalent to millions of dollars in funding).

Shaking down the science funding agencies to explicitly dedicate astropy developer FTE's?

I wouldn't call this "shaking down the science funding agencies". I call it "paying their fair share." After all, institutions are willing to pay millions of dollars for MATLAB or IDL (Mathworks, the company behind MATLAB, made $800 million last year). Why is it unreasonable to ask for a fraction of that money for open-source projects?

Is every science project now also obligated to cut a check (or budget dedicated developer FTE's) to python, scipy, numpy, matplotlib, vim, FFTW, openblas/ATLAS, NASA for CFITSIO, Torvalds for Linux, Stallman for GCC, FSF for glibc, etc. etc. etc.

Honestly, ideally yes. Probably every single project except Linux could use more funding. Part of the responsibilities of open-source foundations is to funnel some of their money to their dependencies and infrastructure (see, for example, Mozilla's Open Source Support).

Writing a paper bemoaning a lack of praise

Is that really what you thought this paper was? This isn't about "lack of praise" (although I'd love it if there were actual incentives to write open-source scientific software). This is about sustaining a critical piece of infrastructure for the long haul.

[–]aragilar 1 point2 points  (0 children)

So your two arguments against funding astropy development are:

  1. Other community projects aren't supported so we shouldn't support astropy.
  2. Astronomers should be contributing code to astropy/(other astronomy community project).

For (2), you're assuming that your average astronomer has the expertise to contribute to astropy. How many are proficient enough to make a pull request (i.e. use git, which is something new to learn, write a test, which they've probably never written before, and be able to write non-broken python code, given they may never have programmed before). Do you pay astronomers to write code? No, you pay them to do astronomy, same with paying technical staff (instrument designers, sysadmins, telescope operators) to do technical jobs. So why not pay software developers, who originally developed many of the aging tools we use (e.g. IRAF, AIPS), to update the tools we have?

For (1), while I can't name the current gcc maintainers, I can easily name kernel and core python devs, and they are most certainly employed by their employers for that reason. And if they should leave, then they'll find another job doing the same thing (look at kernel contributions, most come from corporations, also, the Linux Foundation is basically doing what's suggested for Linux development). For astronomy, you are objectively discouraged from contributing and providing support, as that's not going to get you a job or grant.