Author: Jeff Garzik 2015-09-15 15:26:50
Published on: 2015-09-15T15:26:50+00:00
The bitcoin-dev mailing list recently discussed concerns regarding the ongoing refactoring process in Bitcoin Core. Jeff Garzik and Btc Drak expressed their worries about the lack of a plan or end goal in sight for this process. Refactoring can make it difficult for downstream projects to upgrade to newer versions of bitcoin, causing them to stay on older versions due to the effort required to rebase to each new release version.To tackle these issues, Btc Drak suggested that refactoring should only be done during scheduled periods and should not be mixed with other pull requests. Jeff Garzik recommended time-based bursts of code movement changes and a merge window approach to the development process. The focus should be on maintaining the core bitcoin full node P2P engine and not straying into unfocused engineering for a non-existent future library user.The email also discussed the potential unfocused and open-ended nature of projects like libconsensus. The author noted that while code movement changes are cheap to generate, the end state is not something that would be merged all in one go. The author suggested stashing that tree and starting again to seek the most optimal and least disruptive set of refactors, generating and merging those into bitcoin/bitcoin.git in a time-based, paced manner.The author emphasized that the higher priority should be given to having a source code base and disciplined development process that maximizes the collective developers' ability to maintain The Router that maintains most of the network. Modularity, refactoring, and cleaning up grotty code can bring happiness to many engineers but field experience shows that this process can sometimes get in the way of more important work.In conclusion, the email recommended that the focus should be on maintaining a disciplined development process and a source code base that maximizes the collective developers' ability to maintain the network. It also encouraged further discussion on the bitcoin-dev mailing list.
Updated on: 2023-06-10T22:31:39.051097+00:00