We can look at the model of Computer Fluid Dynamics (CFD), another
analytical and simulation based scientific field. Many CFD codes are
available and open source while commercial CFD applications are
The CFD codes are simply different implementations of different
algorithms developed through academic research and supported by papers
explaining and demonstrating the results. Anyone is free to adopt and
adapt these codes for whatever purpose as the codes by themselves don't
make up a software. Most of these are libraries for open source
platforms favoured by academics written in C, C++ or Fortran, with a
simple command line interface, restricted in terms of inputs/outputs and
installation is elaborate.
In recent years some open source application projects have been started
and we can look how they are doing. But some are not live yet after
several years or have stopped activity...
The commercial CFD applications add an enormous range of features and
functionality that is of no interest for researchers to develop, but is
essential for users who want to apply the CFD analysis to their
projects. These developments make the bulk of the software development
and aren't open source as they are "accessory" to the science itself.
We're talking about importing and exporting a variety of file formats,
displaying and editing the base models, displaying results in richly
visual and interactive ways, providing technical support, training and
Furthermore, because we're dealing with analytical and simulation
software, the providers expect a certain level of expertise and
understanding of the science by end users, and training using the
software is mandatory. As Alan mentions, the results of these
applications may not be immediately obvious and the preparation of the
models is extremely delicate. Just because the user doesn't understand
the results it doesn't mean the calculations are wrong, and if the user
blindly accepts the results as correct it can have serious consequences
of which the software developers don't want to be liable for.
Associate, Research & Development
D +44 (0) 20 7422 7611
[log in to unmask]
From: Alan Penn
Sent: 26 June 2007 09:31
To: [log in to unmask]
Subject: Re: Syntax2D Licensing
> As I understand it, as a user of open source software (such as Firefox
> and OpenOffice), this is not a problem because there is version
> control and measures are taken to ensure to code does not "fork" into
> different and potentially incompatible versions.
> Anzir Boodoo
I think that this is the point. To maintain consistency and ease of use
of the user-interface as well as to maintain the validity of the code
requires investment of time and effort. Commercial organisations put
this investment in because by making use of a large number of unpaid
enthusiasts they get benefit of the occasional good idea and innovation.
I suspect that the lion's share of hacker code is just thrown away. In
addition they take advantage of a kind of 'ideological' brand - the open
source movement - which is a powerful loyalty marketing device and
against which their most powerful competition (eg. Microsoft) cannot
The point is that there is no such thing as a free lunch.
Now this is fine for a web-browser, or a wordprocessor, or even for a
These are applications which work or don't work in a very obvious way. I
type a weblink into Firefox and either I get to the webpage and it
displays, or I don't. The mess the hacker makes of the code will be
pretty obvious if it matters. But take Sheep's example of analytic
software. Here the whole point of opening up the source is to allow
people to try out entirely new things where by definition one doesn't
know what a 'correct' result will look like. Certainly the individual
with the new idea might, but if they get it wrong would it be possible
for a centralised 'version control' vetting group to know? I suspect not
without a serious layer of meta data associated with code stating what
the intention was in very precise terms, and then a large investment of
time and effort on the part of that group to validate the code and - a
point I have made before - the empirical usefulness of the idea itself
in helping to explain anything about the way the world works.
Taken all in all, I wonder whether the open source model works for this
kind of analytic software development - there must be examples from
other fields of science. Does anyone know of them?