OpenMAMA development is modeled extensively upon the proven Linux kernel development process, where developers modify project code by submitting patches as emails to a public mailing list. It is the OpenMAMA maintainer's responsibility to decide whether submitted code should be integrated into the mainline code, returned for revision, or rejected.
Individual developers maintain a local copy of the OpenMAMA codebase using the git revision control system. Git ensures that all participants are working with a common and up-to-date code base at all times. Each developer works to develop, debug, build, and validate their own code against the current OpenMAMA codebase, so that when the time comes to integrate into the mainline project, their changes apply cleanly and with a minimum amount of merging effort.
When a developer is confident that their code is ready for integration, they generate a patch, sign off on their code, and email it to the email@example.com
mailing list. The OpenMAMA maintainer watches the mailing list for patches, tests the code, and accepts or rejects patches accordingly.
When a patch has been accepted, it is integrated into the -dev branch, which means that other developers will now be able to see the new code when they update their local git repository. It is built, tested, and if no additional issues arise, published as part of a -stable OpenMAMA release.
After the patch has been accepted, it remains the developer's responsibility to maintain the code throughout its lifecycle, providing security and feature updates as needed.