On 6/18/2015 11:03 AM, Mark Friedenbach wrote:
On Thu, Jun 18, 2015 at 6:31 AM, Mike Hearn <m...@plan99.net
<mailto:m...@plan99.net>> wrote:
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.
There is a quote from United States Supreme Court Justice Potter
Stewart to describe his threshold test for obscenity which is relevant
here: "I know it when I see it."
It is hard certainly, and perhaps even impossible to write down a
system of rules that is used to resolve every dispute among core
developers. But that doesn't mean it isn't obvious to all the
participants what is going on. If a contentious change is proposed,
and if after sufficient debate there are still members of the
technical community with reasoned, comprehensible objections who are
not merely being obstinate in the views -- a neutral observer would
agree that their concerns have not been met -- then there is a lack of
consensus.
If there was some sort of formal process however, the system wouldn't
work. Rules can be gamed, and if you add rules to a process then that
process can be gamed. Instead we all have a reasonable understanding
of what "technical consensus" is, and we all know it when we see it.
Where we do not see it, we do not proceed.
There is always a process. Right now the process is haphazard, unclear,
and constantly changing without being written down so people don't
actually know what it is. In fact you do not all have a reasonable
understanding of "technical consensus" because if you did then you could
write it down ... but you can't. The current process is being gamed by
people making tweets, reddit posts, videos, and blog posts. A more
formalized process would channel that activity into a a more usable format.
This kind of thing always happens as projects become larger and more
diverse. Something that was once a small group turns into a big group
of diverse stakeholders. When it gets too big for the informal
processes then some people get upset and defensive. Happens all the time
but it is not really a good excuse to keep doing things in an
inefficient manner. The old ways just don't scale and if you ever
worked on massive projects then you know these formal processes work better.
Russ
------------------------------------------------------------------------------
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development