W0438
There is No Such Thing as Free Software. J.W.
Pflugrath, Rigaku/MSC, Inc. 9009 New Trails Dr., The Woodlands, TX
77381.
From a perspective of 25 years of writing scientific software
while employed in both academic and commercial endeavors, I can state that there
is very little difference between the two camps. Both academic and commercial
software initiatives need to employ qualified developers and interact with
scientists. Both must write, test, maintain, and distribute code. Both are
essentially funded through the same sources: either directly from grants or by
selling products (such as software) that is paid for from grants. I have found
that commercial developers more often (but not always) employ standard industry
practices such as source control, style adherence, memory leak testing, and
validation than do academic developers which are often more ad hoc in their
efforts.
Users have evolved to where they no longer know any
programming language or even what (3I5, 2F10.2) means. Access to source code is
of little use to a scientist who has no programming skills and no knowledge of
the scientific principles embodied in the code. A result of this is that the
programmers (for ANY type of scientific programming) are usually scientists
themselves who work hand-in-hand with other scientists and who may be either
academic or commercially employed. Both commercial and academic software
developers must be equally responsive to user concerns and must rely on customer
feedback. With little meaningful distinction between the two camps,
industry-academic collaboration is vital to the success of our field.
For the future, a concern is who will do the programming
required in our field? How are we training software developers who will write
the programs used in 2005, 2010 and beyond? At Rigaku/MSC we have addressed this
by employing scientists who can not only write code, but also teach programmers
in the science of crystallography. After all, there is more to software than
‘push a button’.