[CPMD-list] current and future CPMD maintenance and development
Axel Kohlmeyer
akohlmey at cmm.chem.upenn.edu
Sun Nov 25 21:28:38 UTC 2007
hello everybody,
this mail is - for a change - not some attempt at
answering some questions but raises a few new questions.
if you do have an interest in the future of CPMD _please_
read on and _reply_ (either to the list or to me personally).
as many of you may have noticed, the development and
support of CPMD has slowed down significantly and many
people that were active CPMD developers and/or supporters
have moved on, either to other projects or to jobs where
they have less time to continue working on CPMD.
this means that CPMD needs "fresh blood" to survive
and new people that are willing to spend some time at
finding and fixing bugs and maintaining and improving
the code and its documentation.
with the availability of the CPMD source code through
www.cpmd.org, the number of users has increased a lot,
but we are still lacking a "community" that is backing
it up. this was hidden for several years by a small
number of people that spent significant time on merging
all kinds of developments into the released code base
and fixing the problems related to this. however this
number of people has dwindled to only a few.
at the same time, the distribution through www.cpmd.org
has created a problem in transferring the knowledge of
how to run CPMD correctly. previously, people would join
a group that was working on/with CPMD for a while and
would have some contact person to help. however, for many
of you this is not viable, so we need to find ways to
capture this knowledge before it vanishes completely.
finally, all those trends document that CPMD has changed
from a research platform where people would test and
implement new methods into a commodity code (i.e. some
sort of "Gaussian-ification"). which means, that typical
users are mostly interested to _use_ the code instead of
implementing new features and thus are often at a loss
when some features are not implemented completely or
consistently in all modules or only documented in the
source code, if at all.
ok. now what should be done to improve the situation?
this is where you (yes, _you_ _all_) come in. in life
nothing is free, so after getting the code for free,
your part of the bargain is to make sure it will still
be usable in the future and that - ideally - the next
person will be better off than you were.
to that effect it would first of all be important to get
some feedback on how many people are actively using CPMD
as the primary tool, how many are working on implementing
new features, how many are using it occasionally, how many
have tried and failed, how many got discouraged when trying
to use or even compile it. while the number of CPMD licenses
and downloads is very high, i suspect that a lot of people
are not using the code actively.
a second step would be start working on a _complete_ tutorial
and a library of commented input examples. given the large
number of subscribers on this list, it should be a simple thing
for many of you to try out a couple of keywords for which we
don't have any input examples. as a consequence we would gain
not only documentation, but i am convinced this will uncover
bugs and incomplete implementations of features (which desperately
need to be documented, too). also, people who do have contributed
code to CPMD for which no documentation exists are encouraged
to send in input examples and some notes on how to use their feature(s).
contrary to popular belief, developers write usually lousy
documentation. it is users and particularly those with little
experience, that ask the right questions and should write
documentation while trying out some feature. developers and/or
experienced users can then go ahead and correct mistakes and edit
the resulting documentation to be consistent and accurate.
so this is _the_ chance for people with little experience to
learn CPMD well (that is how i learned it) and understand its
implementation and use it _much_ better.
finally, we need people who are not afraid to dig into the
source code and help maintaining it. there are (still) a lot
of open issues and many of them don't need you to be an
expert and thus are another opportunity to learn.
to get the process started, it might be a good idea to organize
a meeting or a workshop of (seriously) interested people at which
1-2 experienced people would give a review of the implementation
(_not_ the theory) of CPMD and how to work on the code to
correct bugs or implement new features and generally on software
management. given the fact that CPMD users are now scattered all
around the globe, perhaps even a couple of these meetings at
different locations might be advisable to give more people a
chance to get involved. as you may know, there _are_ the regular
CPMD conferences, but from what i learned about the next one,
this would _not_ be a good place (its preliminary program looks
more like the meeting of the "CPMD club and friends" and not
like a serious attempt to keep CPMD alive).
if you have any additional ideas, comments, suggestions,
want to volunteer a venue for the proposed meeting etc.,
want to get involved, please don't hesitate to reply.
i'd appreciate it most, if you'd reply in public to the
mailing list, but i'd rather have you reply to me personally
than not at all. _every_ reply is important, even if you'd
just write that i am completely wrong or you would not want
to touch CPMD again with a 10 foot pole.
thanks in advance and best regards,
axel.
--
=======================================================================
Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu http://www.cmm.upenn.edu
Center for Molecular Modeling -- University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.
More information about the CPMD-list
mailing list