[Bitcoin-development] 0.4.x stable branch

Jeff Garzik jgarzik at exmulti.com
Tue Sep 20 19:10:16 UTC 2011


This is the way it works for the kernel, the process on which I've
suggested we follow with bitcoin, to a small extent:

- Version X is released.  Linus now begins accepting pull requests
into torvalds/linux.git for X+1 ("merge window opens").  It is
strongly recommended that all pull requests have seen some exposure to
the public via "linux-next", which is a tree-of-trees generated from
pulling the trees of top developers.  linux-next is maintained by
another volunteer, Stephen Rothwell.

- After a week, Linus stops taking pull requests from subsystem
maintainers ("merge window closes").  At this point, a 2.5-month
stabilization and bug fix period begins.  No new features are merged
into torvalds/linux.git, and developers are expected to focus on bug
fixing.  Developers, of course, accept new features and changes into
their own trees and branches.  linux-next publishes these, while the
main torvalds/linux.git remains in bug fix mode.

- Three months after version X is released, version X+1 is released
from torvalds/linux.git top-of-tree, and the process begins anew.

- From time to time, _not_ every version, a Linux "enterprise"
distribution like Red Hat Enterprise Linux (plug plug) or Ubuntu LTS,
will maintain a kernel for a long time, for the benefit of their
customers who need stability over new feature.  Or, the community
simply decides that a kernel should be maintained for a longer period
of time.

In particular, Greg Kroah-Hartman (gregkh) maintains stable trees for
version X-1 and X-2, where he will accept fixes provided that the fix
(or a variant thereof) has been accepted in upstream.

In that case, an employee or volunteer maintains a stable branch of
the kernel.  They "backport" fixes from the main torvalds/linux.git
tree into their own gregkh/stable-2.6.36-linux.git tree.

Thus, we observe a few things that may be applied to bitcoin:

- decentralized operation, where stable branches and bitcoin-next are
not maintained by the core team
- the community decides which versions are important to maintain long term
- the core team may maintain a merge/stabilize/merge/stabilize
workflow, introducing new features without huge negative impact to
existing userbase

-- 
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com




More information about the bitcoin-dev mailing list