It is arguable that
when using proprietary
software it is a
question of faith to rely
on the results, because
it is not possible
to check the code.
the same program can make the same
computation in different ways, that is,
by using different algorithms, some of
which will yield results with different
degrees of precision or accuracy. It is
generally the case that people are simply too willing to believe the results of
computations, especially in view of the
frequency with which bugs are present
in most commonly used programs. Indeed, it is arguable that when using proprietary software it is a question of faith
to rely on the results, because it is not
possible to check the code (see http://
www.gnu.org/philosophy/categories.
html#ProprietarySoftware).
In light of the foregoing, we may well
ask whether we should call for software
specifications and code reviewers in sci-
entific publishing. In fact, publishing
the software specifications should be
a requirement for authors and journal
editors. The author’s own source code
should be published, at least on the In-
ternet, along with the research results,
and that source code should be acces-
sible to referees. This does not mean
that reviewers should be required to
study the code in detail before accept-
ing a paper, because this would require
too much work to be viable. However,
having the source code available to
those who are interested would be a big
step forward. In fact, a relatively quick
check of the software code by an expert
would be beneficial and would encour-
age authors to place greater emphasis
on the reliability of the software they
use. This principle should clearly apply
to code that one writes oneself. In ad-
dition, prepackaged software (whether
commercial or not) should be tested,
verified, and certified with its code filed
and accessible, and checked in detail
by independent programmers or agen-
cies. If such certification were available,
it would suffice when submitting a pa-
per for publication to indicate that cer-
tified software had been used.
acknowledgments
The author would like to thank Richard M. Stallman from the Free Software
Foundation, Michael McIntyre from
the Department of Applied Mathematics and Theoretical Physics at the University of Cambridge, Gerald J. Sussman from the Computer Science and
Artificial Intelligence Laboratory at
MIT, and Brian Gough and José E. Mar-chesi from the GNU Project for their
useful comments and suggestions.
Juan Antonio Añel ( j.anhel@uvigo.es) is Ángeles alvariño
researcher in the environmental Physics laboratory at
the universidade de Vigo at ourense, Spain.
This Viewpoint was accepted for publication in February
2010; in the intervening time prior to publication
other material addressing this topic has appeared in
Communications.
Copyright held by author.
Calendar
of Events
May 16–20
International Parallel and
Distributed Processing
symposium,
anchorage, ak,
Contact: alan sussman,
email: als@cs.umd.edu
May 16–20
5th International ICst
Conference on Performance
evaluation Methodologies and
tools Communications,
Paris, france,
Contact: Lasaulce samson,
email: samson.lasaulce@lss.
supelec.fr
May 16–20
the twelfth aCM International
symposium on Mobile ad hoc
networking and Computing,
Paris, france,
sponsored: sIGMoBILe,
Contact: Philippe Jacquet,
email: philippe.jackquet@
inria.fr
May 19–21
Computer Personnel research
Conference,
san antonio, tX,
sponsored: sIGMIs,
Contact: Cindy k.
riemenschneider,
email: c_riemenschneider@
baylor.edu
May 21–28
International Conference on
software engineering,
Waikiki, honululu,
sponsored: sIGsoft,
Contact: richard n. taylor,
email: taylor@uci.edu
May 23–25
International symposium on
technology and society,
Chicago, IL,
Contact: keith Miller,
email: miller.keith@uis.edu
May 23–26
5th International Conference
on Pervasive Computing
technologies
for healthcare,
Dublin, Ireland,
Contact: John o’Donoghue,
email: john.odonoghue@ucc.ie