Discussion I
============

CVS alternatives:
-----------------

- perforce.com
  proprietary, but free licence for OpenSource projects
  Paul Dubois: better branching model than CVS

- aegis (at SourceForge)
  free software
  Georg Greve: has been used successfully for big projects

- bitkeeper
  proprietary

- subversion
  free software, "pre-alpha"


Make alternatives:
------------------

- scons.org (written in Python)

- cons (written in Perl)

- jam

- cook (find via brave-gnu-world.org)

- Python's distutils


Parallelization:
----------------

- Charm++
  parallelization library

- Zoltan (from Sandia)
  load balancing

- P++ (parallel version of A++ for C++)

- PETSCI (from Argonne)
  partial differential equations and linear algebra

- Bulk Synchronous Parallel (BSP) model
  www.bsp-worldwide.org
  Konrad Hinsen: simpler than message passing


Python:
-------

- almost C speed for array operations

- often good enough, no need for optimization

- isolated time-critical sections can be moved to C
  with relatively little effort

- steering by Python is addictive: you never go back

- automatic interface generation: SWIG (swig.org) for C/C++,
  PyFort and f2py for Fortran

- Problems with interfacing to legacy code:
  - memory management conflicts

- Interfacing with C++: Boost (boost.org)

Visualization:
--------------

- VTK (C++ visualization library with Python interface)
  Karsten Jacobsen: powerful, not perfectly stable, installation difficult

- VPython (Visualization library for Python)
  Paul Dubois: very easy to use

- OpenDX (formerly IBM Data Explorer)
  free software, www.opendx.org

- VMD (from UIUC)

- RasMol

- CDAT (at SourceForge)
  climate modelling package, but a lot of it is more general,
  including visualization of data in netCDF files

- POVRay (Raytracing software)


GUI:
----

- wxWindows (C++) / wxPython (Python interface)
  nice, but difficult to install

- PMW (Python MegaWidgets)


Citing software:
----------------

- citing Web sites is risky: they tend to disappear

- better: publish a paper on the code and ask users to cite it

- a permanent archive would be useful



Discussion II
=============

Software patents:
-----------------

Georg Greve: Software patents are against the spirit of patent law,
which is to protect individual inventors. The patenting procedure is
expensive, only big companies can afford them. Software evolutions
happens in many small steps, patenting one step can block progress.

Free software is concerned as well: Patent holders can attack any
author or distributor for patent violations, and ruin them just
via the legal costs, even if their claim does not hold up.


Licences:
---------

Georg Greve: "Vaccination" by GPL is often an advantage, but it's
the author who decides. LGPL has less vaccination then GPL.

Relicensing: A new version of some code can use a more restrictive
licence than previous versions, but the old versions remain under
the old licence.


New technologies:
-----------------

Paul Dubois: Wait at least a year before adopting some new
technology, it may be shortlived.


Discussion III
==============

Data exchange, common file formats:
-----------------------------------

XML: David van der Spoel gives an introduction.

Paul Dubois presents conventions for data sharing used in the climate
modelling community: Metadata describes actual data files that can be
in different formats and in different locations. Different file
formats are used, but a Python library provides uniform access to the
data.  More information at www-pcmdi.llnl.gov

Testing:
--------

Each community should have a set of standard test cases with
reference results.


Discussion IV
=============

Role of CECAM: Michel Mareschal explains what is possible: tutorials,
short meetings, communication support (Web site, mailing list)

Role of FSF: Georg Greve says that FSF is interested in supporting
anyone developping free software, including of course scientists.

EU: Michel Mareschal recommends the "large infrastructure" section
of the 6th framework.


To do:
------

- Mailinglist
- Web site
- Steering committee

- Standards:
  - Interfaces
  - Files
- Testing accuracy

- Tutorial on tools


A steering committee was chosen consisting of:

Xavier Gonze (chairman)

David Ceperley
Konrad Hinsen
Karsten Jacobsen
Laxmikant Kale
Miguel Marques
Glen Martyna
David van der Spoel
Gilles Zerah


We will try to reserve the domain wwww.fsatom.org and put up a
Web site under the title "Free software project for atomic scale
simulation"

Specific topic workgroups will be coordinated by:

Testing (DFT)           Gilles Zerah
Testing (MD)            David van der Spoel
Pseupotentials          Karsten Jacobsen
Files                   Mark Tuckerman
Interfaces/Middleware   Konrad Hinsen

Organization of events:

Tutorial                Xavier Gonze
Workshop "Component architecture for atomic-scale simulations"
                        Glenn Martyna, Jakob Schiotz
