Development process: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Add entry for Release process to See Also. |
||
Line 12: | Line 12: | ||
==See Also== | ==See Also== | ||
* [[Release process]] | |||
* [[Original Bitcoin client]] | * [[Original Bitcoin client]] | ||
* [[:Category:Open_Source|Open source]] | * [[:Category:Open_Source|Open source]] | ||
[[Category:Developer]] | [[Category:Developer]] |
Revision as of 08:42, 22 March 2012
Bitcoin Open Source Development Process
The Bitcoin client project has transitioned from what was essentially a one-person software endeavor, with Satoshi functioning as the primary developer and gatekeeper for all changes, to a more distributed, free software model of development. The Linux Kernel development process is being used as the model for how changes flow into the original Bitcoin application:
- Developers work in their own source code trees, sharing and testing patches with each other. Git, using github, is the preferred source control system for development.
- When a developer thinks a patch is ready, they submit a pull request for the bitcoin github repository and post a message on the Development and Technical Forum.
- Pull requests are discussed on the forums and if there is consensus they're safe, tested, useful, well written, match coding style, etc. then they're merged into the 'master' branch.
- The master github branch is regularly built and tested, and periodically pushed to the subversion repository to become a "release candidate" and then the official, stable, released bitcoin.
- After being accepted into the mainline master branch, bugfixes are merged or backported into the current stable branch, which periodically releases stable older versions.
Please read and follow coding.txt for a description of the bitcoin coding style.