Software is science, in the sense that when developed in the course
of computational science research, it can't be classified as
"infrastructure" or "support". If a telescope is infrastructure for
astronomy, then its equivalent or computational mathematics is a
supercomputer. On the other hand, code produced to prove a theorem,
simulate an explosion or study an image denoising algorithm is the
subject-matter of the science being investigated.
We need this work to be recognized and time and effort invested in it
must be rewarded by scholarship standards. On the other hand,
when science is based on software foundations, the computational part
of the research should be subject to validation by the scientific
method. This implies that every program used in the elaboration of a
research paper should, at least, be usable by referees, and if
possible be publicly available is source form. Open Source software is
part of the equation, but it is not sufficient to answer the questions
raised here.
During this talk, we will present the rationale for the "Software as
Science" approach, in relation with other ideas, chiefly Reproducible
Research and Open Science, and we will mention recent workshops and
conferences, as well as groups, projects and institutions involved in
these dynamics. We will list and detail numerous obstacles to the
recognition of software in the scientific method and open questions on
that matter: identification and citation, standard APIs and languages,
verification and validation, copyright and patents, limits to
reproducibility, etc.
Finally, we will present our own project, IPOL, a research journal
on image processing, in which every algorithm is published (Open
Access license) and reviewed with the source code of its
implementation (Open Source license) and a web interface to test it
and browse archived experiments.