As we all know by now Rob, the lead developer, is very busy and can only dedicate so much time to Gridcoin development. There are a handful of additional developers ready to do work but Rob's lack of spare time also affects the rate at which pull requests are merged into the Gridcoin code base. I was talking to sebastian-- on IRC and he proposed this idea of an intermediate staging are which would have more developers with write access. Here is how it would work.
We would setup a github organisation called Gridcoin Community. This organisation forks the official Gridcoin wallet repository (or other GRC repositories of interest). Developers who are interested in participating fork the community repository instead of the main repository. After a community developer Pull Request (PR) is submitted and passed code review in the community repository, a new PR is opened in the official project so the community repository can be merged. This should produce fewer requests in the main repository since the community has the ability to merge similar fixes, and it lowers the review requirement since the community has done the first batch of code review.
This has some potential benefits to the overall development cycle.
- Pull requests are accepted or rejected faster since there are more people with write access.
- Developers have to spend less time maintaining fixes.
- Synchronising with the official Bitcoin repo will be faster.
- Fixes can be tested at a more rapid pace.
However, it's not without negative side effects.
- Maintenance increases. Someone has to keep everything in sync.
- If PRs sent to the official repo aren't accepted we risk having three diverging trees instead of just two.
Overall, I think this will have a positive impact on the development speed. If the community organisation can be trusted this should greatly improve the speed at which code is pushed through the funnel.
Thoughts and ideas?
Edited by Marco Nilsson, 27 January 2017 - 12:27 PM.