Wednesday, 7 March 2012

Astronomical Software Wants To Be Free

From two articles on the reborn Astrophysics Source Code Library, which are themselves worth reading, I found myself reading a fairly bold arXiv submission from 2009 entitled Astronomical Software Wants To Be Free: A Manifesto. The initial summary cuts to the chase.

We advocate that: (1) the astronomical community consider software as an integral and fundable part of facility construction and science programs; (2) that software release be considered as integral to the open and reproducible scientific process as are publication and data release; (3) that we adopt technologies and repositories for releasing and collaboration on software that have worked for open-source software; (4) that we seek structural incentives to make the release of software and related publications easier for scientist-authors; (5) that we consider new ways of funding the development of grass-roots software; (6) and that we rethink our values to acknowledge that astronomical software development is not just a technical endeavor, but a fundamental part of our scientific practice.
All these points are expanded somewhat in the conclusions. Paraphrasing only the lead sentence of each point, the authors write eight suggestions for moving forward.
  1. We should create an open central repository location at which authors can release software and documentation.
  2. Software release should be an integral and funded part of astronomical projects.
  3. Software release should become an integral part of the publication process.
  4. The barriers to publication of methods and descriptive papers should be lower.
  5. Astronomical programming, statistics and data analysis should be an integral part of the curriculum for undergrad and grad students.
  6. We should encourage interdisciplinary cooperation with like-minded and algorithmically sophisticated members of the computer science community.
  7. We should create more opportunities to fund grass-roots software projects of use to the wider community. 
  8. We should develop institutional support for science programs that attract and support talented scientists who generate software for public release.
Do you agree? Do you adopting these recommendations would help to improve astronomical (or generally scientific) software?

In my own humble opinion, the real hurdles are release and documentation. If you can find a code, good luck installing it, learning how it works or finding out how the code is structured. But these are hurdles because it still isn't in a scientist's interest to do commit time to what are ultimately support tasks. So I think the most important point, of the eight above, is 2: software development should be fundable and funded. There are big gains to be made with solid attempts to get some real software engineering into scientific problems and it costs a lot less than building a telescope.

1 comment:

  1. Nice post...Like all the info..Thanks for sharing.
    Church Software

    Hank Hendricks is a sports man and has played for the University of New Hampshire Foot ball team.