Subject: Re: [Bitcoin-development] Concerns Regarding Threats by a Developer to Remove Commit Access from Other Developers

From: Milly Bitcoin <[email-masked]>
Date: Thu, 18 Jun 2015 11:30:06 -0400

On 6/18/2015 11:03 AM, Mark Friedenbach wrote:
> On Thu, Jun 18, 2015 at 6:31 AM, Mike Hearn <[email-masked] 
> <mailto:[email-masked]>> 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