How to contribute to Geant4

There are different ways to contribute to Geant4.

Reporting bugs in Bugzilla, providing suggestions on how to improve the Documentation, helping other users in the Forum, are all appreciated and visible ways to contribute to Geant4.

Comparing Geant4 simulations against published experimental data (e.g. thin-target data, test-beam data, collider data, etc.), and/or against other well known Monte Carlo transportation codes - to emphasize strengths and weaknesses of the various Geant4 physics models - is another important way to contribute to Geant4.

A step further would be to collaborate with Geant4 developers to integrate the validation set-up in the Geant4 validation testing suite, geant-val. This would offer the advantage to be used regularly during the development of Geant4, with the likely result of getting closer agreement between simulation and experimental data with newer versions of Geant4.

Applications developed by users may sometimes become Geant4 examples (i.e. distributed with Geant4, in the subdirectory examples/), if they provide useful guidance for other users, in particular for showing new features or use-cases of Geant4.

If you would like to contribute to the Geant4 code, for instance by improving an existing physics model, or by introducing a new physics model, then there are three ways to do it.

First, as an external user of Geant4, you can propose a Pull Request (PR) in the public GitHub repository of Geant4. There you can find only the public releases of Geant4 - the development version is not accessible to prevent inexperienced users from using snapshots of the project that were not properly tested and validated, and therefore unsuitable for any serious application. These PRs are then evaluated by Geant4 developers and then eventually integrated in Geant4. This way to contribute to Geant4 appears appropriate for sporadic, occasional contributions, without any engagement regarding the long-term maintenance of the code as Geant4 evolves.

Second, as a motivated user, who would like to contribute to Geant4 in the long term, even for a small average amount every year (e.g. of a few percent of full-time-equivalent), and willing also to share some of the collaboration-related common duties. In this case, you are encouraged and welcome to join the Geant4 collaboration!

Third, as a Geant4 contributor, a new role, introduced in 2022, as an intermediate status between a full Geant4 member and an external user, to facilitate in particular the contributions of people interested in the R&D simulation activities. Contributors have access to the Geant4 development GitLab repository, exactly as the Geant4 members, but without the duties of sharing the collaborative effort needed to maintain Geant4. This could be of interest especially for young scientists, with temporary positions and therefore unwilling to commit in the long term. Anyhow, the hope and wish of the Collaboration is that contributors will become, sometimes in the future, full members.