Geant4 has been designed with flexibility in mind, in order to be able to adapt to a variety of new requests and needs that could not be foreseen when the project started. Indeed, many modifications, extensions, and new features have been introduced in Geant4 over the past nearly three decades.
A fraction of these were proposed by the developers themselves, often in anticipation for future user needs; the remaining, sizable fraction of new features were introduced upon requests by Geant4 users.
Major user requests are formally addressed to the Collaboration in Geant4 Technical Forum meetings, which happen typically 3 times per year. In these meetings, developers and users gather and discuss the needs for the perceived, missing functionalities in the Geant4 toolkit, as well as the urgency of their implementations. In some cases, a request is dropped because Geant4 provides already the same - or equivalent - needed capability; in others, a request is kept on hold because of either missing expertise or available resources inside the Collaboration to start working on it; in the remaining cases, a new request is accepted and added to the list of valid “Open Requirements”, which are then reviewed in the following Technical Forum meetings, until they are fulfilled and closed.
It is the Geant4 Steering Board which decides on the priorities and time schedule to be assigned to the “Open Requirements”, according to the available resources, their expertise and interest to work on them.