External Contributions - ISISComputingGroup/ibex_developers_manual GitHub Wiki

Wiki > Processes > External Contributions

The majority of IBEX code is open source, it uses code from the EPICS community and contributes code towards it, it is also used by a number of scientists that have good software development skills. Therefore it's expected that code will be contributed from outside the core ISIS developers and this should be encouraged as much as possible as it allows the project to move more quickly and react to people's requirements. To encourage this we should expedite any contributions with the following process:

  • When a contribution comes in a ticket should be created for the work, if it has not been already. The code should then be put into a PR linked to the ticket in the usual way. If possible encourage the contributor to do this themselves.
  • This ticket is a support ticket as we're supporting someone in getting their code into IBEX
  • The ticket goes straight into review and is reviewed by one of us in the usual process. Points are added to the ticket based on how much time it took to do this review. Remember during review that the contributor will not necessarily be aware of the wider ramifications to other IBEX users, be sure to be mindful of this!
  • If we're happy then it's merged, if not we put it as rework, explaining our reasoning behind the rework. We then ask the contributor if they are happy to do this work themselves and explain that if they are not we will propose it as usual for one of us to look at in the next sprint, but cannot promise it will get done
  • Propose it if the contributor is not happy with the rework or if they do not respond in a reasonable amount of time (~2 weeks?)

This process worked well for https://github.com/ISISComputingGroup/IBEX/issues/5776