I would like to add some opinions to the discussion about software
distribution.
Fisrt af all, programs are more than just an implementation of an
algorithm and writting programs is more than implementing algorithms. I say
this for I spent three months last summer on our last project mainly due to
the need of developing software tools and generic libraries of code not
directly devoted to the algorithm I was testing. Much of this code already
exists out there, but I hadn't it.
I won't propose to submit some generic tools (like LEX, YACC, MAKE,
debuggers, compilers, and so on), but it would be interesting to have a
closer contact with some servers that provide them and a good way of knowing
which and where are available. This could be something like a catalogue file
or a database: SIMTEL20's directories are a goos example.
However it is true that there are lots of functions that are desibable
and do not, by themselves, have a general interest, but are only useful for
biologists (how about writting a 1000 times by a 1000 programmers the same
EMBL, GenBank, ... format reader routines?). Not only programs and algorithms
do we need, also we need libraries of routines. And surely, soon we'll have
tools specific for biologists, (a sequence parser?, a database manipulator?,
who knows...?)
Please do consider also this "pieces" of software.
Secondly, we may need a reviewer. But, only one?. I have some skills
with say 10 diffrent computer languages, but surely would be able to judge
sources written in no more than 4. Also, I am good at low level programming,
but for high level some areas fall far appart of me (like database management)
and SERIOUSLY DOUBT that anyone can say he or she knows EVERYTHING needed
about biological computing. So what I think is needed is a series of people
who can delimit their own areas of knowledge and judge what they are good
for. Some for Fortran, Pascal, C, ADA, Lisp,..., some for image analysis,
sequence analysis, evolution, database management, ... & so on.
Third, as a programmer one can test the code of a program or even
correct bugs or enhance some areas. But, can I tell it is useful? The only
way is to beta-test it with a number of users. Most developers test their
programs with colleagues at the lab (not too many). It would be good to know
that one can send a partial program, an algorithm... to the net and that
some people are ready to test it (even if they do not know of comp. sci.)
All this reminds me more of Trickle tham Simtel20. I mean, having
all software distributed does not overload a particular server, programs
can be send to an address that submits them to any destination where they
are best stored (perhaps near the reviewer), and when requested they won't
direct network communications to a unique address (have tried to use PUCC
to FTP from Europe???). So, soft could get sent to a list (say Bio-Soft),
that could be peered (but not by only one person, but some -there are
resources to do this at listservers) then reviewed and stored in a temporary
directory (say BETA-RELEASES or so) and users would then submit comments
to a distributed list. After some time of use soft could be deleted or
moved to a stable directory. Users' list could -as BioNews does- send its
subscribers periodically a catalogue of available software, and there could
also be periodical digests about tools, libraries, programs... of general
interest that could be get from other servers.
Is this an ideal dream?
J. R. Valverde
School of medicine
Univ. Autonoma, Madrid. SPAIN
----------------------------------------------
Above ideas are mine and do not represent any
institutionalpolitics.