OpenFOAM Development

OpenFOAM Development

OpenFOAM is a very large piece of software in a complex area of scientific application. Many thousands of people from industry, government laboratories, academic institutions, etc., download OpenFOAM and use it for free. With such a large user base, working potentially in safety-critical applications, the management and distribution of OpenFOAM is a major responsibility.

Management and Maintenance of OpenFOAM

The OpenFOAM Foundation licenses, packages and distributes OpenFOAM, so has responsibility for the content of the software. In particular:

  • it manages the current development line of OpenFOAM, available to the general public under the name OpenFOAM-dev;
  • it manages maintenance of current release versions of OpenFOAM, with small changes and bug fixes being made available to the general public in the so-called ‘x’ repositories at GitHub; for example, bug fixes for OpenFOAM v2.3.1 are available in the OpenFOAM-2.3.x repository.

The Git Repository Release page contains instructions on the download and compilation of source code from these repositories.

The Directors of the OpenFOAM Foundation contributing to the management of OpenFOAM are: Henry Weller (code’s creator and OpenFOAM project co-founder); and, Chris Greenshields (OpenFOAM project co-founder).

Contributors to the OpenFOAM Code

Development of OpenFOAM is undertaken almost exclusively by a long-term core group that currently includes: Henry Weller (code architect and lead developer); Mattijs Janssens, (lead developer and OpenFOAM project co-founder); Andy Heather; Will Bainbridge; and, Sergio Ferraris.

Maintenance of OpenFOAM, including code testing, is supported by some main developers and a number of other contributors through the bug reporting system.

Getting Involved

The OpenFOAM Foundation manages the development of OpenFOAM as a meritocracy. Roles in the project are granted by the actions of an individual in the community as well as the ability and experience to contribute to a sufficiently high standard. Once in a role, the individual needs to continue to demonstrate a commitment to maintaining standards.

It is acknowledged that in software engineering, assessment of quality can often be quite subjective, so the ability of an individual is often open to debate. However, one way to assess whether a new development meets existing standards is simply to examine whether it conforms to architecture, style, correctness, etc of existing OpenFOAM code. For more detailed information on contributing code, see the Contributing OpenFOAM Code article and associated pages. In particular in areas such as code style, which can be clearly specified (and thus assessed more objectively), we have provided some guidelines.