Contributing to open source software does not begin and end with writing code. There is a collaborative process between contributors to ensure that the software and its codebase evolve in a satisfactory direction. Participating in this process is rewarding because contributors accomplish together much more than they could in isolation, both due to the division of labor and due to peer review of contributions.



Engaging in the collaborative process also has costs. For the Bitcoin Core development process specifically, contributions are peer reviewed by a number of volunteers before being merged. This means that your contribution, in the form of a pull request, must attract the time and attention of reviewers. The simplest way to get a review is reciprocity: you carefully review a few pull requests, and their authors will generally return the favor. That said, your pull request can attract reviewers on its own merits as well, with a description indicating an attractive level of engineering quality or ingenuity.



A reviewer may "NACK" a pull request without having read one line of code, because the description of the pull request itself indicates irremediable conceptual problems. If a reviewer is interested in your pull request, they will read through your code and leave comments. Optionally they will compile your code and test its functionality.



After a reviewer has provided their conceptual and code feedback on the pull request, you respond by either updating the code in your pull request or providing justifications. If the reviewer is satisfied with your responses then they "ACK" your pull request.



During the process of review, other pull requests are likely to get merged in. If the changes in these pull requests overlap with your own, your pull request goes from being "mergeable" to "conflicting". You as the author must manually reconcile the differences and reviewers check to see that the reconciling changes are appropriate.



When the maintainers of the project are satisfied that an appropriate number of reviews have resulted in ACKs, they merge the pull request.