public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Mike Hearn <mike@plan99.net>
To: "Wladimir J. van der Laan" <laanwj@gmail.com>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Concerns Regarding Threats by a Developer to Remove Commit Access from Other Developers
Date: Thu, 18 Jun 2015 15:31:54 +0200	[thread overview]
Message-ID: <CANEZrP2iMXeL-5zyE2cvoyNRakhZbQfLXORZ2AhqEATQE-KjAQ@mail.gmail.com> (raw)
In-Reply-To: <20150618111407.GA6690@amethyst.visucore.com>

[-- Attachment #1: Type: text/plain, Size: 3388 bytes --]

OK, let's agree to unpack the two things.

The first issue is how are decisions made in Bitcoin Core? I struggle to
explain this to others because I don't understand it myself. Is it a vote
of people with commit access? Is it a 100% agreement of "core developers"
and if so, who are these people? Is it "whoever reverts the change last"?
Could I write down in a document a precise description of how decisions are
made? No, and that's been a fairly frustrating problem for a long time.

But let's leave it to one side for a moment.

Let's focus on the other issue:   what happens if the Bitcoin Core decision
making process goes wrong?

For the sake of argument let's pretend we're discussing a different change,
let's imagine there is a proposal to change the block format to include a
Widget, where a Widget is some potentially desirable thing. And this change
means a hard fork. Let's put the block size to one side for a second to
avoid getting distracted.

Imagine that 90% of people in Bitcoin want their Widgets, but one of your
committers refuses to accept it.  I am not saying the block size debate has
such proportions but pretend Widgets do.

What is the process for resolving this problem?

Gavin and I say - there is a process, and that process is a hard fork of
the block chain.

What you're saying is - there is no process because a contentious hard fork
must never happen. Such a change is simply impossible.

Now which is a better description of this situation? Is the "it must never
happen end of story" really the cuddly warm democracy that you seem to
suggest? Or is it more like a dictatorship where the opinions of one or two
people can override all the others?

The typical answer I'm seeing to this is that Bitcoin Core's own decision
making process is so fantastic that it never goes wrong, even though
"consensus" is not defined and "technical majority" is not defined and we
have serious long time contributors on this mailing list (such as wallet
developers) disagreeing with this consensus yet our feedback is being
ignored.

You guys *must* accept that your preferred process for resolving disputes
is, itself, in dispute. That leaves the block chain itself as the only
remaining method for bringing this saga to a close.

So this is why we keep disagreeing:

   - If Bitcoin Core has reached a formal decision made by the maintainer
   via whatever mechanism he likes to not accept the block size increase, then
   alright, technical disputes will happen. But ....

   - You should agree that the next step is a fork of both the software and
   the block chain. And you should welcome such a thing because it is the ONLY
   check on your own power. It's the one thing that allows the community to
   reject the decision making process you are using in case it goes wrong.

I keep reading that Bitcoin cannot survive a hard fork. Well, we've
survived an accidental fork that happened without anyone being prepared,
and even with a planned soft fork "never upgrade" isn't really an option
for either miners or businesses, so ultimately node operators must know
about upgrades and make them. Both myself and Gavin think this process can
work out OK.

Do you at least understand where we're coming from here, even if you
disagree? And if you disagree, is it because you think a hard fork to
resolve a dispute can't work technically, or is it some other reason?

[-- Attachment #2: Type: text/html, Size: 3962 bytes --]

  parent reply	other threads:[~2015-06-18 13:32 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-18  8:54 [Bitcoin-development] Concerns Regarding Threats by a Developer to Remove Commit Access from Other Developers odinn
2015-06-18 10:00 ` Mike Hearn
2015-06-18 11:14   ` Wladimir J. van der Laan
2015-06-18 11:47     ` Wladimir J. van der Laan
2015-06-18 13:36       ` Mike Hearn
2015-06-18 15:58         ` Gregory Maxwell
2015-06-18 12:29     ` Pieter Wuille
2015-06-18 12:50       ` Wladimir J. van der Laan
2015-06-18 12:56         ` Benjamin
2015-06-18 13:49       ` Mike Hearn
2015-06-18 14:05         ` Wladimir J. van der Laan
2015-06-18 14:16           ` Mike Hearn
2015-06-18 14:53           ` Milly Bitcoin
2015-06-18 14:56             ` Jeff Garzik
2015-06-18 15:13               ` Milly Bitcoin
2015-06-18 14:53       ` Jeff Garzik
2015-06-18 16:07         ` justusranvier
2015-06-18 16:28           ` Jeff Garzik
2015-06-18 17:04             ` justusranvier
2015-06-18 17:42               ` Alex Morcos
2015-06-18 18:01                 ` Milly Bitcoin
2015-06-18 18:23                 ` Gavin Andresen
2015-06-18 18:44                   ` Alex Morcos
2015-06-18 18:49                   ` Jorge Timón
2015-06-18 19:31                     ` Ross Nicoll
2015-06-18 21:42                       ` Matt Whitlock
2015-06-18 21:49                         ` Mark Friedenbach
2015-06-18 21:58                           ` Jeff Garzik
2015-06-18 22:33                             ` Mark Friedenbach
2015-06-18 22:52                               ` Jeff Garzik
2015-06-18 23:25                                 ` odinn
2015-06-18 23:16                               ` Ross Nicoll
2015-06-19  0:57                               ` Chris Pacia
2015-06-19  5:59                                 ` Eric Lombrozo
2015-06-19  9:37                               ` Mike Hearn
2015-06-19  9:53                                 ` Benjamin
2015-06-19 10:08                                   ` GC
2015-06-19 10:19                                   ` Mike Hearn
2015-06-19 10:52                                 ` Eric Lombrozo
2015-06-19 11:31                                 ` Jorge Timón
2015-06-19 12:26                                   ` GC
2015-06-19 11:48                                 ` Brooks Boyd
2015-06-21 14:45                                   ` Owen Gunden
2015-06-18 21:55                         ` Ross Nicoll
2015-06-18 19:24                   ` Matt Corallo
2015-06-18 19:32                     ` Gregory Maxwell
2015-06-18 12:38     ` Milly Bitcoin
2015-06-18 13:31     ` Mike Hearn [this message]
2015-06-18 13:50       ` Pieter Wuille
2015-06-18 15:03       ` Mark Friedenbach
2015-06-18 15:30         ` Milly Bitcoin
2015-06-18 15:46           ` Wladimir J. van der Laan
2015-06-18 16:05             ` Mike Hearn
2015-06-18 16:20               ` Wladimir J. van der Laan
2015-06-18 22:49               ` odinn
2015-06-18 16:11             ` Milly Bitcoin
2015-06-18 11:41   ` Lawrence Nahum
2015-06-18 14:33   ` Bryan Bishop
2015-06-18 18:09   ` Melvin Carvalho
2015-06-18 22:10   ` odinn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANEZrP2iMXeL-5zyE2cvoyNRakhZbQfLXORZ2AhqEATQE-KjAQ@mail.gmail.com \
    --to=mike@plan99.net \
    --cc=bitcoin-development@lists.sourceforge.net \
    --cc=laanwj@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox