The density functional theory (DFT) computation of electronic structure, total energy and other properties of materials, is a field in constant progress. In order to stay at the forefront of knowledge, a DFT software project can benefit enormously from widespread collaboration, if handled properly. Also, modern software engineering concepts can considerably ease its development. The ABINIT project relies upon these ideas: freedom of sources, reliability, portability, and self-documentation are emphasised, in the development of a sophisticated plane-wave pseudopotential code.
We describe ABINITv3.0, distributed under the GNU General Public License. The list of ABINITv3.0 capabilities is presented, as well as the different software techniques that have been used until now: PERL scripts and CPP directives treat a unique set of FORTRAN90 source files to generate sequential (or parallel) object code for many different platforms; more than 200 automated tests secure existing capabilities; strict coding rules are followed; the documentation is extensive, including online help files, tutorials, and HTML-formatted sources.