Re: [bitcoin-dev] BIP Process and Votes

2015-07-01 Thread odinn
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Possibly relevant to this discussion (though old)

https://gist.github.com/gavinandresen/2355445 (last changed in 2012 I
think?)

and

https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork
(which cites gavin's gist shown above)





On 06/25/2015 05:42 PM, Milly Bitcoin wrote:
 That description makes sense.  It also makes sense to separate out
 the hard fork from the soft fork process.   Right now some people
 want to use the soft fork procedure for a hard fork simply because
 there is no other way to do it.
 
 I am under the impression that most users expect
 changes/improvements that would require a hard fork so I think some
 kind of process needs to be developed.  Taking the responsibility
 off the shoulder of the core maintainer also makes sense.  The hard
 fork issue is too much of a distraction for people trying to
 maintain the nuts and bolts of the underlying system.
 
 I saw a suggestion that regularly scheduled hard forks should be 
 planned.  That seems to make sense so you would have some sort of 
 schedule where you would have cut off dates for hard-fork BIP 
 submissions.  That way you avoid the debates over whether there
 should be hard forks to what should be contained within the hard
 fork (if needed).  It makes sense to follow the BIP process as
 close as possible.  Possibly adding another step after Dev
 acceptance to include input from others such as
 merchants/exchanges/miners/users.  It will only be an approximation
 of decentralization and the process won't be perfect but if you
 want to move forward then you need some way to do it.
 
 Russ
 
 
 On 6/25/2015 4:05 PM, Tier Nolan wrote:
 On Thu, Jun 25, 2015 at 2:50 AM, Mark Friedenbach 
 m...@friedenbach.org mailto:m...@friedenbach.org wrote:
 
 I'm sorry but this is absolutely not the case, Milly. The reason 
 that people get defensive is that we have a carefully
 constructed process that does work (thank you very much!) and is
 well documented.
 
 
 There is no process for handling hard forks, which aren't bug
 fixes.
 
 Soft forks have a defined process of something like
 
 - BIP proposal + discussion - Proposed code - Dev acceptance -
 Release - Miner vote/acceptance
 
 The devs have a weak veto.  If they refuse to move forward with 
 changes, miners could perform a soft fork on their own.  They
 don't want to do that, as it would be controversial and the devs
 know the software better.
 
 The miner veto is stronger (for soft forks) but not absolute.
 The devs could checkpoint/blacklist a chain if miners implemented
 a fork that wasn't acceptable (assuming the community backed
 them).
 
 When ASICs arrived, it was pointed out by some that the devs
 could hit back if ASICs weren't made publicly available.  If they
 slightly tweaked the hashing algorithm, then current generation
 of ASICs would be useless.   The potential threat may have acted
 as a disincentive for ASIC manufacturers to use the ASICs
 themselves.
 
 Moving forward with agreement between all involved is the
 recommended and desirable approach.
 
 Consensus between all parties is the goal but isn't absolutely 
 required.  This escape valve is partly what makes consensus work.
 If you dig your heels in, then the other side can bypass you, but
 they have an incentive to try to convince you to compromise
 first.  The outcome is better if a middle ground can be found.
 
 Hard forks are different.  The checks and balances of weak
 vetoes are not present.  This means that things can devolve from
 consensus to mutual veto.  Consensus ceases to be a goal and
 becomes a requirement.
 
 This is partly a reflection of the nature of hard forks.
 Everyone needs to upgrade.  On the other hand, if most of the
 various groups upgrade, then users of the legacy software would
 have to upgrade or get left behind.  If 5% of the users decided
 not to upgrade, should they be allowed to demand that nobody else
 does?
 
 There is clearly some kind of threshold that is reasonable.
 
 The fundamental problem is that there isn't agreement on what
 the block size is.  Is it equal in status to the 21 million BTC
 limit?
 
 If Satoshi had said that 1MB was part of the definition of
 Bitcoin, then I think people would accept it to the same extent
 as they accept the 21 million coin limit.  It might cause people
 to leave the coin though.
 
 It was intended to be temporary, but people have realized that
 it might be a good idea to keep it.  In effect both sides could
 argue that they should be considered the status quo.
 
 I wonder if a coin toss would be acceptable :).  Come to an
 agreement or we decide by coin toss
 
 
 ___ bitcoin-dev
 mailing list bitcoin-dev@lists.linuxfoundation.org 
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
 
 
 
 ___ bitcoin-dev mailing
 list bitcoin-dev@lists.linuxfoundation.org 
 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Jorge Timón
On Sat, Jun 27, 2015 at 2:50 PM, Milly Bitcoin mi...@bitcoins.info wrote:
 On 6/27/2015 7:28 AM, Jorge Timón wrote:
 I have seen things like a Github discussion between 3 or 4 people
 and then Garzik send out a tweet that there is near universal approval for
 the proposed change as it nobody is allowed to question it.  After watching
 the github process for a couple years I simply don't trust it because the
 developers in charge have a dictatorial style and they shut out many
 stakeholders instead of soliciting their opinions.
 [...]

 I saw this problem first hand when Andreas Antonopolis got into a big
 dispute with some of the core developers over the press contacts.  The
 github made up their rules as they went along and simply ignored input from
 anyone outside their inner circle.  Since that time several people have told
 me they dropped out of participating in the github process.  The maintainers
 deleted some of my messages and I have been told I am banned form github.

I wasn't asking for an example of something that was rejected, there's
plenty of those.
You were saying people were opposing a change and jgarzik unilaterally added it.
When did that happen?

 As for your proclamation at Bitcoin core != Bitcoin consensus rules, that is
 simply not true in practice.  There is one piece of software with one
 maintainer.  If you want it changed you have to convince that one person to
 approve the change.

There are many pieces of software and many maintainers, libbitcoin,
for example, is another full node implementation different from
Bitcoin core.
Also, to change Bitcoin core I don't need to convince anyone, I do it
all the time here https://github.com/jtimon/bitcoin

 The core developers have the biggest influence by far to decide hard fork
 changes.  There is no other place to go.  While anyone can fork the code
 someone compare it to the river Thames.  if you don't like where the river
 runs you can dig a new one ... here is a spoon.  I can vote in elections but
 that does not mean the US government is decentralized.  The core
 maintainer has decided on a hard fork change, he has decided not to do it.

Maybe Bitcoin core devs have more influence, but still, they don't
have the power to decide for everyone else what the consensus rules
are.
Your analogy is ridiculous, it literally takes seconds to fork bitcoin
and is as simple as clicking a button.
Wladimir has explained many times that he hasn't decided anything
because he can't decide that.
You keep insisting that he has control over consensus rules. Are you
doing it because you want him to be threaten, tortured, kidnapped or
killed?
If you don't, please stop making false claims about powers he doesn't
have because some bad guy could believe you.

 I am under the
 impression that at least some of the developers (such as Garzik) don't
 actually hold that many bitcoins and don't have a large stake in the system
 yet they have significant control.

For the last time, they may have control over Bitcoin core (one
implementation of the Bitcoin protocol), not the consensus rules.
Why are anyone's bitcoin holdings relevant in any technical discussion?
Please, keep this kind of offtopic comments out.

  Anyone can attack the system by simply
 hiring a couple core developers and creating the gridlock we see now.

As said several times, yes, it is hard to define uncontroversial
without giving veto powers to any random guy on the internet.
But this is clearly not what is happening now. Most Bitcoin core devs
are against the current proposals, that cannot be considered
uncontroversial for any sane definition of it.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Milly Bitcoin
The core maintainer has always been in control of the consensus rules.  
Satoshi came up with the rules and put them in there.  Since then any 
changes to any part of the code go through the core maintainer.  It 
looks to me as if people are saying it somehow changed along the way 
because they don't want to hurt people's feeling, upset up, get them to 
quit, etc. Sure there are checks and balances and people don't have to 
use the main code base but if they change the consensus rules they are 
incompatible.


The notion that because people can download different rules and run them 
is interesting from a theoretical perspective but that is constrained by 
the network effect.  I can say the US government is not the decider of 
laws because I can vote them out, recall them, challenge things in 
court, or secede and start my own country.  You can also say the 
judge/jury in a criminal court case is not a decider because the 
president can always issue a pardon.  But those points are generally not 
useful in a practical sense.


The issue about the developers is the tremendous influence they have to 
veto any changes.  I don't have veto power yet I have more bitcoins than 
garzik says he has.  The whole Bitcoin software development system is 
subject to attack from just a couple of people who have this veto 
power.  With all the crying and moaning about centralization on this 
list I would think that would be a concern.


Russ



On 6/28/2015 11:35 AM, Jorge Timón wrote:

On Sun, Jun 28, 2015 at 3:13 PM, Milly Bitcoin mi...@bitcoins.info wrote:

I never said something was approved by garzik added something after it was
opposed.  What I said was a proposal was made and 4 people commented on the
Github.  He then tweeted there was near universal approval before most
people even heard about the subject.  It was not controversial but i was
pointing out the arrogance of some of the developers.  He considers the
entire universe of Bitcoin stakeholders to be a very small group of
insiders, not the entire universe of Bitcoin users.  Another thing I have
seen on Github for bitcoin.org is how some the maintainers change the rules
on the fly.  Sometimes they say a proposal had no objections so it is
approved.  Other times they say a proposal has no support so it is rejected.

Ok, I misunderstood.
Well, the fact is that the number of capable reviewers is quite small.
If more companies hired and trained more developers to become bitcoin
core developers that situation could change, but that's where we are
now.


You are also trying to say that the core developers actually have little
influence and are not deciders because anyone can fork the code.  That has
already been discussed at length and such an argument is faulty because
there is a constraint that your software is incompatible with everyone else.

Only if you change the consensus rules (which are, in fact, a
relatively small part of the code).
Mike mantains Bitcoin XT and that's fine, Peter Todd maintains patches
with the replace by fee policy, libbitcoin also changes many
non-consensus things, there's code written in other languages...
There's multiple counter-examples to your claim of that argument being faulty.
Seriously, forking the project is just one click. You should try it
out like at least 9627 other people have done.
From there, you can pay your own developers (if you don't know how to
code yourself) and maybe they're also fine being insulted by you as
part of the job.
What you still can't do is unilaterally change the consensus rules of
a running p2p consensus system, because you cannot force the current
users to run any software they don't want to run.


The issue is that there is no way right now to change the consensus rules
except to go through the core maintainer unless you get everybody on the
network to switch to your fork.  People who keep repeating that the software
development is decentralized because you fork the code without explaining
the constraints are just cultists.

Please, stop the cultist crap. Maybe insulting people like that is how
you got people to call you a troll.
But, yes, you are right: there's no known mechanism for safely
deploying controversial changes to the consensus rules


The discussion has nothing to do with who has the position now and I never
said he has control over the consensus rules.  The maintainer has a very
large influence way beyond anyone else.  As for your claim that I want
someone hurt because I am explaining the process, that is ridiculous.  If
the Core maintainers did not have significant influence to change the
consensus rules then everybody would not be spending all this time lobbying
them to have them changed.

Well, if you don't think he has control over the consensus rules we're
advancing.
I think that was implied from some of your previous claims. He is no
decider on consensus changes.
Insisting on it can indeed get him hurt, so I'm happy that you're
taking that back (or clarifying that really wasn't 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Jorge Timón
On Sun, Jun 28, 2015 at 3:13 PM, Milly Bitcoin mi...@bitcoins.info wrote:
 I never said something was approved by garzik added something after it was
 opposed.  What I said was a proposal was made and 4 people commented on the
 Github.  He then tweeted there was near universal approval before most
 people even heard about the subject.  It was not controversial but i was
 pointing out the arrogance of some of the developers.  He considers the
 entire universe of Bitcoin stakeholders to be a very small group of
 insiders, not the entire universe of Bitcoin users.  Another thing I have
 seen on Github for bitcoin.org is how some the maintainers change the rules
 on the fly.  Sometimes they say a proposal had no objections so it is
 approved.  Other times they say a proposal has no support so it is rejected.

Ok, I misunderstood.
Well, the fact is that the number of capable reviewers is quite small.
If more companies hired and trained more developers to become bitcoin
core developers that situation could change, but that's where we are
now.

 You are also trying to say that the core developers actually have little
 influence and are not deciders because anyone can fork the code.  That has
 already been discussed at length and such an argument is faulty because
 there is a constraint that your software is incompatible with everyone else.

Only if you change the consensus rules (which are, in fact, a
relatively small part of the code).
Mike mantains Bitcoin XT and that's fine, Peter Todd maintains patches
with the replace by fee policy, libbitcoin also changes many
non-consensus things, there's code written in other languages...
There's multiple counter-examples to your claim of that argument being faulty.
Seriously, forking the project is just one click. You should try it
out like at least 9627 other people have done.
From there, you can pay your own developers (if you don't know how to
code yourself) and maybe they're also fine being insulted by you as
part of the job.
What you still can't do is unilaterally change the consensus rules of
a running p2p consensus system, because you cannot force the current
users to run any software they don't want to run.

 The issue is that there is no way right now to change the consensus rules
 except to go through the core maintainer unless you get everybody on the
 network to switch to your fork.  People who keep repeating that the software
 development is decentralized because you fork the code without explaining
 the constraints are just cultists.

Please, stop the cultist crap. Maybe insulting people like that is how
you got people to call you a troll.
But, yes, you are right: there's no known mechanism for safely
deploying controversial changes to the consensus rules

 The discussion has nothing to do with who has the position now and I never
 said he has control over the consensus rules.  The maintainer has a very
 large influence way beyond anyone else.  As for your claim that I want
 someone hurt because I am explaining the process, that is ridiculous.  If
 the Core maintainers did not have significant influence to change the
 consensus rules then everybody would not be spending all this time lobbying
 them to have them changed.

Well, if you don't think he has control over the consensus rules we're
advancing.
I think that was implied from some of your previous claims. He is no
decider on consensus changes.
Insisting on it can indeed get him hurt, so I'm happy that you're
taking that back (or clarifying that really wasn't your position).
Influence is very relative and not only core devs have influence.
Maybe Andreas Antonopolous has more influence than I have because he
is a more public figure?
Well, that's fine I think. I don't see the point in discussing who has
how much influence.

 The outside influences and stake of the developer is a relevant topic.  The
 same types of things are discussed on this list all the time in the context
 of miners, users, merchants, and exchanges.  Again, the developers try to
 place themselves on some kind of pedestal where they are the protectors and
 pure and everyone else (miners, users, merchants) are abusers, spammers,
 attackers, scammers, cheaters, etc.  It is Garzik who voluntarily made an
 issue of how many bitcoins he holds and he made that issue in the same place
 where he announces many of the technical issues.  It is very relevant that
 he has a minimal stake in Bitcoin holdings yet he goes around making major
 decisions about Bitcoin and trying to dictate who is allowed to participate
 in discussions.  If a core developer has minimal stake in Bitcoin yet has
 major veto power over code change that is a problem.

Please, don't generalize. I don't think I put myself in any kind of pedestal.
That is insulting to me and many others (you may not even know and
you're insulting them).
And I think my Bitcoin holdings are completely irrelevant when judging
my contributions to the software: either they're good or not, and who
I 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Milly Bitcoin
I really don't know who has power to do what behind the scenes.  From 
what i understand, if push comes to shove, it is under the ultimate 
control of one person who can revoke commit privileges.  Maybe I am 
wrong about that but the point is most people don't know for sure.


You are correct about the people having the choice to download but the 
influence of the official release is way beyond the influence of any 
forked release.  What that means in the real world is an open question 
and would be different depending upon the specific circumstances and 
difficult to predict.  It is significant power to have control over the 
official release at the present time.  If they did not have significant 
power people would not spend significant efforts lobbying them to make 
changes.  Any new developers hired by companies will do so because they 
can influence over the official release since that is the only incentive.


It seems to me that this block size fork is only the beginning of the 
issues that will arise over the coming years.  Whatever powers the core 
maintainers have it is going to be exploited one way or another as time 
goes on.  Maybe there are enough feedback mechanisms to protect against 
that, I don't really know.


Russ





On 6/28/2015 3:05 PM, Patrick Murck wrote:
Wladimir has no more or less “power” to push change to the Bitcoin 
Core codebase than any other person with commit privileges to the 
GitHub repo. If I’m not mistaken there are 7 people with commit 
privileges and five of them are active. If Wladimir committed a change 
it could be reverted by any of the others. This is by design and 
ensures that changes will have reached some level of technical 
consensus before they are merged, among other things.


Furthermore even assuming the Core Maintainer commits a change to 
Bitcoin Core (that isn’t reverted and that gets packaged up into the 
next code release) that still doesn’t push a change to the bitcoin 
network. There is no auto-update on Bitcoin Core so individuals and 
companies running Bitcoin Core software have to choose to upgrade. 
Further still, developers that maintain alternative implementations 
would have to decide to merge those changes to the codebase they are 
indepently maintaining (and their users would need to update, etc.).


I understand why it might *seem* to be the case that the Core 
Maintainer is empowered to make changes to teh Bitcoin but the 
reality is that the Core Maintainer role is really about cat herding 
and project management of Bitcoin Core the open-source software 
project and not the bitcoin network. We’re lucky Wladimir has agreed 
to take on so much of the scut work to keep the project moving forward.


The process might get ugly and inefficient but that’s the cost of 
having no wizard behind the curtain.


-pm

--
Patrick Murck

On June 28, 2015 at 9:23:47 AM, Milly Bitcoin (mi...@bitcoins.info 
mailto:mi...@bitcoins.info) wrote:



The core maintainer has always been in control of the consensus rules.
Satoshi came up with the rules and put them in there. Since then any
changes to any part of the code go through the core maintainer. It
looks to me as if people are saying it somehow changed along the way
because they don't want to hurt people's feeling, upset up, get them to
quit, etc. Sure there are checks and balances and people don't have to
use the main code base but if they change the consensus rules they are
incompatible.

The notion that because people can download different rules and run them
is interesting from a theoretical perspective but that is constrained by
the network effect. I can say the US government is not the decider of
laws because I can vote them out, recall them, challenge things in
court, or secede and start my own country. You can also say the
judge/jury in a criminal court case is not a decider because the
president can always issue a pardon. But those points are generally not
useful in a practical sense.

The issue about the developers is the tremendous influence they have to
veto any changes. I don't have veto power yet I have more bitcoins than
garzik says he has. The whole Bitcoin software development system is
subject to attack from just a couple of people who have this veto
power. With all the crying and moaning about centralization on this
list I would think that would be a concern.

Russ



On 6/28/2015 11:35 AM, Jorge Timón wrote:
 On Sun, Jun 28, 2015 at 3:13 PM, Milly Bitcoin 
mi...@bitcoins.info wrote:
 I never said something was approved by garzik added something 
after it was
 opposed. What I said was a proposal was made and 4 people 
commented on the

 Github. He then tweeted there was near universal approval before most
 people even heard about the subject. It was not controversial but 
i was

 pointing out the arrogance of some of the developers. He considers the
 entire universe of Bitcoin stakeholders to be a very small group of
 insiders, not the entire universe of Bitcoin users. Another thing 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Ricardo Filipe
Then demonstrate it. He has been raising quite valid points over the
maintenance of bitcoin core.

This is the same problem as the changes to consensus rules in bitcoin
core: they aren't explicitly defined for the external audience. Thus
forcing people to lobby for hard forks.

2015-06-28 21:16 GMT+01:00 Mark Friedenbach m...@friedenbach.org:
 Milly you are absolutely wrong as has been pointed out by numerous people
 numerous times. Your idea of how bitcoin development decision making works
 is demonstrably false. Please stop filling our inboxes with trolling
 accusations, or else this will have to become a moderated list. And no one
 wants that.

 On Jun 28, 2015 1:11 PM, Milly Bitcoin mi...@bitcoins.info wrote:

 I really don't know who has power to do what behind the scenes.  From what
 i understand, if push comes to shove, it is under the ultimate control of
 one person who can revoke commit privileges.  Maybe I am wrong about that
 but the point is most people don't know for sure.

 You are correct about the people having the choice to download but the
 influence of the official release is way beyond the influence of any forked
 release.  What that means in the real world is an open question and would be
 different depending upon the specific circumstances and difficult to
 predict.  It is significant power to have control over the official release
 at the present time.  If they did not have significant power people would
 not spend significant efforts lobbying them to make changes.  Any new
 developers hired by companies will do so because they can influence over the
 official release since that is the only incentive.

 It seems to me that this block size fork is only the beginning of the
 issues that will arise over the coming years.  Whatever powers the core
 maintainers have it is going to be exploited one way or another as time goes
 on.  Maybe there are enough feedback mechanisms to protect against that, I
 don't really know.

 Russ





 On 6/28/2015 3:05 PM, Patrick Murck wrote:

 Wladimir has no more or less “power” to push change to the Bitcoin Core
 codebase than any other person with commit privileges to the GitHub repo. If
 I’m not mistaken there are 7 people with commit privileges and five of them
 are active. If Wladimir committed a change it could be reverted by any of
 the others. This is by design and ensures that changes will have reached
 some level of technical consensus before they are merged, among other
 things.

 Furthermore even assuming the Core Maintainer commits a change to Bitcoin
 Core (that isn’t reverted and that gets packaged up into the next code
 release) that still doesn’t push a change to the bitcoin network. There is
 no auto-update on Bitcoin Core so individuals and companies running Bitcoin
 Core software have to choose to upgrade. Further still, developers that
 maintain alternative implementations would have to decide to merge those
 changes to the codebase they are indepently maintaining (and their users
 would need to update, etc.).

 I understand why it might *seem* to be the case that the Core Maintainer
 is empowered to make changes to teh Bitcoin but the reality is that the
 Core Maintainer role is really about cat herding and project management of
 Bitcoin Core the open-source software project and not the bitcoin network.
 We’re lucky Wladimir has agreed to take on so much of the scut work to keep
 the project moving forward.

 The process might get ugly and inefficient but that’s the cost of having
 no wizard behind the curtain.

 -pm

 --
 Patrick Murck

 On June 28, 2015 at 9:23:47 AM, Milly Bitcoin (mi...@bitcoins.info) wrote:

 The core maintainer has always been in control of the consensus rules.
 Satoshi came up with the rules and put them in there. Since then any
 changes to any part of the code go through the core maintainer. It
 looks to me as if people are saying it somehow changed along the way
 because they don't want to hurt people's feeling, upset up, get them to
 quit, etc. Sure there are checks and balances and people don't have to
 use the main code base but if they change the consensus rules they are
 incompatible.

 The notion that because people can download different rules and run them
 is interesting from a theoretical perspective but that is constrained by
 the network effect. I can say the US government is not the decider of
 laws because I can vote them out, recall them, challenge things in
 court, or secede and start my own country. You can also say the
 judge/jury in a criminal court case is not a decider because the
 president can always issue a pardon. But those points are generally not
 useful in a practical sense.

 The issue about the developers is the tremendous influence they have to
 veto any changes. I don't have veto power yet I have more bitcoins than
 garzik says he has. The whole Bitcoin software development system is
 subject to attack from just a couple of people who have this veto
 power. With all the crying 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Milly Bitcoin
Nobody has pointed out I am wrong, it is just semantics about the term 
decider and I am just essentially repeating things said by others.
As for the term troll, that is used primarily used by teenagers to 
deal with people they don't agree with.  Unfortunately the developers 
are often 20-something kids like yourself who have never dealt with a 
large system of diverse stakeholders or anything outside of their 
specific technical areas.


As for your claim that I accused someone of something, I don't know what 
you are talking about.  If you don't like my messages then don't read 
them.  It looks to me like you don't like the idea of the developers 
being questioned about their authority which is understandable as one of 
the people involved in Blocksteam because you want the system to stay 
the way it is.


If you want to moderate the list the go ahead, I can't stop you but I am 
not going to listen to anyone who uses the term troll.


Russ



On 6/28/2015 4:16 PM, Mark Friedenbach wrote:


Milly you are absolutely wrong as has been pointed out by numerous 
people numerous times. Your idea of how bitcoin development decision 
making works is demonstrably false. Please stop filling our inboxes 
with trolling accusations, or else this will have to become a 
moderated list. And no one wants that.


On Jun 28, 2015 1:11 PM, Milly Bitcoin mi...@bitcoins.info 
mailto:mi...@bitcoins.info wrote:


I really don't know who has power to do what behind the scenes. 
From what i understand, if push comes to shove, it is under the
ultimate control of one person who can revoke commit privileges. 
Maybe I am wrong about that but the point is most people don't

know for sure.

You are correct about the people having the choice to download but
the influence of the official release is way beyond the influence
of any forked release.  What that means in the real world is an
open question and would be different depending upon the specific
circumstances and difficult to predict.  It is significant power
to have control over the official release at the present time.  If
they did not have significant power people would not spend
significant efforts lobbying them to make changes.  Any new
developers hired by companies will do so because they can
influence over the official release since that is the only incentive.

It seems to me that this block size fork is only the beginning of
the issues that will arise over the coming years.  Whatever powers
the core maintainers have it is going to be exploited one way or
another as time goes on. Maybe there are enough feedback
mechanisms to protect against that, I don't really know.

Russ





On 6/28/2015 3:05 PM, Patrick Murck wrote:

Wladimir has no more or less “power” to push change to the
Bitcoin Core codebase than any other person with commit
privileges to the GitHub repo. If I’m not mistaken there are 7
people with commit privileges and five of them are active. If
Wladimir committed a change it could be reverted by any of the
others. This is by design and ensures that changes will have
reached some level of technical consensus before they are merged,
among other things.

Furthermore even assuming the Core Maintainer commits a change to
Bitcoin Core (that isn’t reverted and that gets packaged up into
the next code release) that still doesn’t push a change to the
bitcoin network. There is no auto-update on Bitcoin Core so
individuals and companies running Bitcoin Core software have to
choose to upgrade. Further still, developers that maintain
alternative implementations would have to decide to merge those
changes to the codebase they are indepently maintaining (and
their users would need to update, etc.).

I understand why it might *seem* to be the case that the Core
Maintainer is empowered to make changes to teh Bitcoin but the
reality is that the Core Maintainer role is really about cat
herding and project management of Bitcoin Core the open-source
software project and not the bitcoin network. We’re lucky
Wladimir has agreed to take on so much of the scut work to keep
the project moving forward.

The process might get ugly and inefficient but that’s the cost of
having no wizard behind the curtain.

-pm

-- 
Patrick Murck


On June 28, 2015 at 9:23:47 AM, Milly Bitcoin
(mi...@bitcoins.info mailto:mi...@bitcoins.info) wrote:


The core maintainer has always been in control of the consensus
rules.
Satoshi came up with the rules and put them in there. Since then
any
changes to any part of the code go through the core maintainer. It
looks to me as if people are saying it somehow changed along the
way
because they don't want to hurt people's feeling, upset up, get
them to
quit, etc. Sure there are checks and balances and people don't

Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Milly Bitcoin
The concern with that is that any FAQ will be developed by the same 
small group that controls the github now so they will spin it in an 
unrealistic way.  You see the problem now with the Bitcoin wiki.  While 
the wiki has some valuable information, it also has a number of 
incorrect and cult-like claims about how Bitcoin works.  Tim Swanson has 
made some good videos that describe some of the misinformation that 
often gets repeated on the Wiki and other places.


I had suggested the info on the Wiki be reevaluated piece-by-piece and 
moved to Bitcoin.org but the developers didn't like that. Attempts to 
edit the Wiki often leads to the articles being defaced by the 
maintainers so that is a waste of time.


Russ



On 6/28/2015 5:00 PM, Adam Back wrote:

I think we need a second mailing list: bitcoin-process for people to
learn about bitcoin process.

And someone to write a FAQ on it's sign up page so people interested
could at least discuss from a starting point of understanding how and
why it works the way it does!

Adam
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev




___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP Process and Votes

2015-06-28 Thread Andrew Lapp
Your discussion is taking up a lot of room in my inbox and it doesn't 
seem like either side is getting through to the other. Perhaps you could 
create a document outlining all the failure modes possible due to the 
current system, the current systems security assumptions and possible 
solutions. Now it seems this is just a semantic debate and would 
probably be better solved with you writing a BIP and having that 
reviewed and critiqued.


-Andrew Lapp

On 06/28/2015 08:13 PM, Milly Bitcoin wrote:
The concern with that is that any FAQ will be developed by the same 
small group that controls the github now so they will spin it in an 
unrealistic way.  You see the problem now with the Bitcoin wiki.  
While the wiki has some valuable information, it also has a number of 
incorrect and cult-like claims about how Bitcoin works. Tim Swanson 
has made some good videos that describe some of the misinformation 
that often gets repeated on the Wiki and other places.


I had suggested the info on the Wiki be reevaluated piece-by-piece and 
moved to Bitcoin.org but the developers didn't like that. Attempts to 
edit the Wiki often leads to the articles being defaced by the 
maintainers so that is a waste of time.


Russ



On 6/28/2015 5:00 PM, Adam Back wrote:

I think we need a second mailing list: bitcoin-process for people to
learn about bitcoin process.

And someone to write a FAQ on it's sign up page so people interested
could at least discuss from a starting point of understanding how and
why it works the way it does!

Adam
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev




___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP Process and Votes

2015-06-25 Thread Milly Bitcoin
Cultish means making claims without any supporting facts.  Labeling 
Open Source software as being decentralized just because people can 
choose which version to run is a cultish claim.  Just because Bitcoin 
uses the mining process to come to consensus over the state of the 
ledger that does not mean the software versions have the same level of 
decentralization because users can decide which version to run. I am in 
the USA and I can vote in elections but I would not call the US 
government decentralized.  It is a very complicated issue and cannot 
be explained in one or two sentences of hand-waiving arguments like you 
often see here.


Russ




On 6/25/2015 3:51 AM, cipher anthem wrote:

+1 on this!

I have come across Milly a couple of times on reddit and disqus and 
she basically dismisses anyone who doesn't agree with her opinions. 
always labeling them cultish. Please ignore her so you can stay 
productive.

*Sent:* Thursday, June 25, 2015 at 5:07 AM
*From:* Jeff Garzik jgar...@gmail.com
*To:* bitcoin-dev@lists.linuxfoundation.org
*Subject:* Re: [bitcoin-dev] BIP Process and Votes
Ladies  gents, please do not feed the troll. This has been explained 
to Milly multiple times in the past, on previous mailing list  github 
with no impact.
On Wed, Jun 24, 2015 at 7:34 PM, Milly Bitcoin mi...@bitcoins.info 
wrote:


I'm sorry but that is the kind of defensive, cultish response
everyone gets when they ask that question.  If you had a well
constructed documented process then you would be able to point to
it ... but you can't. While there are a few bits and pieces
scattered  about in different places there is no coherent plan or
process.

It is easy to make statements like consensus must be unanimous
but the issue is that you never have true 100% consensus yet you
have to move forward in some fashion and everyone has to run
software with the same consensus rules.  The issue is how you move
forward is the question that nobody wants to answer because (a) it
is a hard question to answer and (b) developers see it as a threat
to their authority/position.  If people just keep shutting down
the discussion with a bunch of cultish stock answers then you are
never going to move forward with developing some kind of process.

From what I can see much of the discussion is personality-driven
and not based on Computer Science or and defined process.  The
issue is that a personality has changed so the process is
perceived to be different and some people want to hard fork. 
Previously, the cultish answer is that Bitcoin development is

decentralized because people can fork the code.  Now that some
developers want to fork the code suddenly it is a big problem.  
Is forking the code part of the consensus process or is it the

work of the devil?   The fact that there is so much diverse
opinion on this shows a defined process has never been fully
vetted or understood.

I have worked on these processes for many years for projects
orders of magnitudes larger than Bitcoin.  I can absolutely assure
you the current mishmash does not scale and huge amounts of time
are wasted.  That should be readily apparent from the recent
discussions and the recent concern it has caused from people
outside the developer's inner circle.

Lack of defined process = high risk and wasted effort.

Russ





On 6/24/2015 9:50 PM, Mark Friedenbach wrote:

I'm sorry but this is absolutely not the case, Milly. The
reason that people get defensive is that we have a carefully
constructed process that does work (thank you very much!) and
is well documented. We talk about it quite often in fact as it
is a defining characteristic of how bitcoin is developed which
differs in some ways from how other open source software is
developed -- although it remains the same in most other ways.
Changes to the non-consensus sections of Bitcoin Core tend to
get merged when there are a few reviews, tests, and ACKs from
recognized developers, there are no outstanding objections,
and the maintainer doing the merge makes a subjective
judgement that the code is ready.
Consensus-changes, on the other hand, get merged into Bitcoin
Core only after the above criteria are met AND an extremely
long discussion period that has given all the relevant
stakeholders a chance to comment, and no significant
objections remain. Consensus-code changes are unanimous. They
must be.
The sort of process that exists in standards bodies for
example, with working groups and formal voting procedures, has
no place where changes define the nature and validity of other
people's money. Who has the right to reach into your pocket
and define how you can or cannot spend your coins? The premise

Re: [bitcoin-dev] BIP Process and Votes

2015-06-25 Thread Tier Nolan
On Thu, Jun 25, 2015 at 2:50 AM, Mark Friedenbach m...@friedenbach.org
wrote:

 I'm sorry but this is absolutely not the case, Milly. The reason that
 people get defensive is that we have a carefully constructed process that
 does work (thank you very much!) and is well documented.


There is no process for handling hard forks, which aren't bug fixes.

Soft forks have a defined process of something like

- BIP proposal + discussion
- Proposed code
- Dev acceptance
- Release
- Miner vote/acceptance

The devs have a weak veto.  If they refuse to move forward with changes,
miners could perform a soft fork on their own.  They don't want to do that,
as it would be controversial and the devs know the software better.

The miner veto is stronger (for soft forks) but not absolute.  The devs
could checkpoint/blacklist a chain if miners implemented a fork that wasn't
acceptable (assuming the community backed them).

When ASICs arrived, it was pointed out by some that the devs could hit back
if ASICs weren't made publicly available.  If they slightly tweaked the
hashing algorithm, then current generation of ASICs would be useless.   The
potential threat may have acted as a disincentive for ASIC manufacturers to
use the ASICs themselves.

Moving forward with agreement between all involved is the recommended and
desirable approach.

Consensus between all parties is the goal but isn't absolutely required.
This escape valve is partly what makes consensus work.  If you dig your
heels in, then the other side can bypass you, but they have an incentive to
try to convince you to compromise first.  The outcome is better if a middle
ground can be found.

Hard forks are different.  The checks and balances of weak vetoes are not
present.  This means that things can devolve from consensus to mutual
veto.  Consensus ceases to be a goal and becomes a requirement.

This is partly a reflection of the nature of hard forks.  Everyone needs to
upgrade.  On the other hand, if most of the various groups upgrade, then
users of the legacy software would have to upgrade or get left behind.  If
5% of the users decided not to upgrade, should they be allowed to demand
that nobody else does?

There is clearly some kind of threshold that is reasonable.

The fundamental problem is that there isn't agreement on what the block
size is.  Is it equal in status to the 21 million BTC limit?

If Satoshi had said that 1MB was part of the definition of Bitcoin, then I
think people would accept it to the same extent as they accept the 21
million coin limit.  It might cause people to leave the coin though.

It was intended to be temporary, but people have realized that it might be
a good idea to keep it.  In effect both sides could argue that they should
be considered the status quo.

I wonder if a coin toss would be acceptable :).  Come to an agreement or
we decide by coin toss
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP Process and Votes

2015-06-25 Thread Tom Harding

On 6/24/2015 8:00 PM, Raystonn wrote:


 Consensus-code changes are unanimous. They must be.

Excellent. Now we are getting to some actual written rules. How about 
updating the BIP process documentation with this? Everyone should be 
able to read the rules of the coin they are buying.


One moment though. Can you tell me how this particular rule came to 
be? The creator of Bitcoin violated this rule many times. So it must 
have been adopted after his departure. What process was followed to 
adopt this new rule? Was there consensus for it at the time? A huge 
portion of the user community is under the impression that Satoshi's 
written plans, some of which violate this new rule, will be 
implemented. So there certainly would not be consensus for this rule 
today.




Great question; very fair.  I, for one, eagerly await Mark's answer.

I hope nobody forgot to tell adversaries totally outside the open source 
ecosystem what the rules for hard forking changes are.


The Chinese miners have it right - we have to work together.  If you 
want to see who's trying, look at who has written a concrete BIP/code 
vs. who hasn't; who has made changes in response to feedback, and who 
hasn't.


___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP Process and Votes

2015-06-25 Thread cipher anthem
+1 on this!

I have come across Milly a couple of times on reddit and disqus and she basically dismisses anyone who doesnt agree with her opinions. always labeling them cultish. Please ignore her so you can stay productive.


Sent:Thursday, June 25, 2015 at 5:07 AM
From:Jeff Garzik jgar...@gmail.com
To:bitcoin-dev@lists.linuxfoundation.org
Subject:Re: [bitcoin-dev] BIP Process and Votes


Ladies  gents, please do not feed the troll. This has been explained to Milly multiple times in the past, on previous mailing list  github with no impact.




On Wed, Jun 24, 2015 at 7:34 PM, Milly Bitcoin mi...@bitcoins.info wrote:



Im sorry but that is the kind of defensive, cultish response everyone gets when they ask that question. If you had a well constructed documented process then you would be able to point to it ... but you cant. While there are a few bits and pieces scattered about in different places there is no coherent plan or process.

It is easy to make statements like consensus must be unanimous but the issue is that you never have true 100% consensus yet you have to move forward in some fashion and everyone has to run software with the same consensus rules. The issue is how you move forward is the question that nobody wants to answer because (a) it is a hard question to answer and (b) developers see it as a threat to their authority/position. If people just keep shutting down the discussion with a bunch of cultish stock answers then you are never going to move forward with developing some kind of process.

>From what I can see much of the discussion is personality-driven and not based on Computer Science or and defined process. The issue is that a personality has changed so the process is perceived to be different and some people want to hard fork. Previously, the cultish answer is that Bitcoin development is decentralized because people can fork the code. Now that some developers want to fork the code suddenly it is a big problem. Is forking the code part of the consensus process or is it the work of the devil? The fact that there is so much diverse opinion on this shows a defined process has never been fully vetted or understood.

I have worked on these processes for many years for projects orders of magnitudes larger than Bitcoin. I can absolutely assure you the current mishmash does not scale and huge amounts of time are wasted. That should be readily apparent from the recent discussions and the recent concern it has caused from people outside the developers inner circle.

Lack of defined process = high risk and wasted effort.

Russ






On 6/24/2015 9:50 PM, Mark Friedenbach wrote:









Im sorry but this is absolutely not the case, Milly. The reason that people get defensive is that we have a carefully constructed process that does work (thank you very much!) and is well documented. We talk about it quite often in fact as it is a defining characteristic of how bitcoin is developed which differs in some ways from how other open source software is developed -- although it remains the same in most other ways.

Changes to the non-consensus sections of Bitcoin Core tend to get merged when there are a few reviews, tests, and ACKs from recognized developers, there are no outstanding objections, and the maintainer doing the merge makes a subjective judgement that the code is ready.

Consensus-changes, on the other hand, get merged into Bitcoin Core only after the above criteria are met AND an extremely long discussion period that has given all the relevant stakeholders a chance to comment, and no significant objections remain. Consensus-code changes are unanimous. They must be.


The sort of process that exists in standards bodies for example, with working groups and formal voting procedures, has no place where changes define the nature and validity of other peoples money. Who has the right to reach into your pocket and define how you can or cannot spend your coins? The premise of bitcoin is that no one has that right, yet that is very much what we do when consensus code changes are made. That is why when we make a change to the rules governing the nature of bitcoin, we must make sure that everyone is made aware of the change and consents to it.


Everyone. Does this work? Does this scale? So far, it does. Uncontroversial changes, such as BIP 66, are deployed without issue. Every indication is that BIP 66 will complete deployment in the very near future, and we intend to repeat this process for more interesting changes such as BIP65: CHECKLOCKTIMEVERIFY.



This isnt about no one stepping forward to be the decider. This is about no one having the right to decide these things on the behalf of others. If a contentious change is proposed and not accepted by the process of consensus, that is because the process is doing its job at rejecting controversial changes. It has nothing to do with personality, and everything to do with the nature of bitcoin itself.








On Wed, Jun 24, 2015 at 5:07 PM, Mi

Re: [bitcoin-dev] BIP Process and Votes

2015-06-24 Thread Raystonn
 Consensus-code changes are unanimous. They must be.
Excellent.  Now we are getting to some actual written rules.  How about updating the BIP process documentation with this?  Everyone should be able to read the rules of the coin they are buying.
One moment though.  Can you tell me how this particular rule came to be?  The creator of Bitcoin violated this rule many times.  So it must have been adopted after his departure.  What process was followed to adopt this new rule?  Was there consensus for it at the time?  A huge portion of the user community is under the impression that Satoshi's written plans, some of which violate this new rule, will be implemented.  So there certainly would not be consensus for this rule today.

On 24 Jun 2015 6:51 pm, Mark Friedenbach m...@friedenbach.org wrote:Im sorry but this is absolutely not the case, Milly. The reason that people get defensive is that we have a carefully constructed process that does work (thank you very much!) and is well documented. We talk about it quite often in fact as it is a defining characteristic of how bitcoin is developed which differs in some ways from how other open source software is developed -- although it remains the same in most other ways.Changes to the non-consensus sections of Bitcoin Core tend to get merged when there are a few reviews, tests, and ACKs from recognized developers, there are no outstanding objections, and the maintainer doing the merge makes a subjective judgement that the code is ready.Consensus-changes, on the other hand, get merged into Bitcoin Core only after the above criteria are met AND an extremely long discussion period that has given all the relevant stakeholders a chance to comment, and no significant objections remain. Consensus-code changes are unanimous. They must be.The sort of process that exists in standards bodies for example, with working groups and formal voting procedures, has no place where changes define the nature and validity of other peoples money. Who has the right to reach into your pocket and define how you can or cannot spend your coins? The premise of bitcoin is that no one has that right, yet that is very much what we do when consensus code changes are made. That is why when we make a change to the rules governing the nature of bitcoin, we must make sure that everyone is made aware of the change and consents to it.Everyone. Does this work? Does this scale? So far, it does. Uncontroversial changes, such as BIP 66, are deployed without issue. Every indication is that BIP 66 will complete deployment in the very near future, and we intend to repeat this process for more interesting changes such as BIP65: CHECKLOCKTIMEVERIFY.This isnt about no one stepping forward to be the decider. This is about no one having the right to decide these things on the behalf of others. If a contentious change is proposed and not accepted by the process of consensus, that is because the process is doing its job at rejecting controversial changes. It has nothing to do with personality, and everything to do with the nature of bitcoin itself.On Wed, Jun 24, 2015 at 5:07 PM, Milly Bitcoin milly@bitcoins.info wrote:I have seen this question asked many times.  Most developers become defensive and they usually give a very vague 1-sentence answer when this question is asked.  It seems to be it is based on personalities rather than any kind of definable process.  To have that discussion the personalities must be separated out and answers like such-and-such wouldnt do that dont really do much to advance the discussion.  Also, the incentive for new developers to come in is that they will be paid by companies who want to influence the code and this should be considered (some developers take this statement as an insult when it is just a statement of the incentive process).

The other problem you are having is the lead developer does not want to be a decider when, in fact, he is a very significant decider.  While the users have the ultimate choice in a practical sense the chief developer is the decider.  Now people dont want to get him upset so nobody wants to push the issue or fully define the process.  Now you are left with a broken, unwritten/unspoken process.  While this type of thing may work with a small group of developers businesses/investors looking in from the outside will see this as a risk.

Until you get passed all the personality-based arguments you are going to have a tough time defining a real process.

Russ





On 6/24/2015 7:41 PM, Raystonn wrote:

I would like to start a civil discussion on an undefined, or at least unwritten, portion of the BIP process.  Who should get to vote on approval to commit a BIP implementation into Bitcoin Core?  Is a simple majority of these voters sufficient for approval?  If not, then what is?

Raystonn
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org

Re: [bitcoin-dev] BIP Process and Votes

2015-06-24 Thread Jeff Garzik
Ladies  gents, please do not feed the troll.  This has been explained to
Milly multiple times in the past, on previous mailing list  github with no
impact.


On Wed, Jun 24, 2015 at 7:34 PM, Milly Bitcoin mi...@bitcoins.info wrote:

  I'm sorry but that is the kind of defensive, cultish response everyone
 gets when they ask that question.  If you had a well constructed documented
 process then you would be able to point to it ... but you can't.  While
 there are a few bits and pieces scattered  about in different places there
 is no coherent plan or process.

 It is easy to make statements like consensus must be unanimous but the
 issue is that you never have true 100% consensus yet you have to move
 forward in some fashion and everyone has to run software with the same
 consensus rules.  The issue is how you move forward is the question that
 nobody wants to answer because (a) it is a hard question to answer and (b)
 developers see it as a threat to their authority/position.  If people just
 keep shutting down the discussion with a bunch of cultish stock answers
 then you are never going to move forward with developing some kind of
 process.

 From what I can see much of the discussion is personality-driven and not
 based on Computer Science or and defined process.  The issue is that a
 personality has changed so the process is perceived to be different and
 some people want to hard fork.  Previously, the cultish answer is that
 Bitcoin development is decentralized because people can fork the code.  Now
 that some developers want to fork the code suddenly it is a big problem.
 Is forking the code part of the consensus process or is it the work of the
 devil?   The fact that there is so much diverse opinion on this shows a
 defined process has never been fully vetted or understood.

 I have worked on these processes for many years for projects orders of
 magnitudes larger than Bitcoin.  I can absolutely assure you the current
 mishmash does not scale and huge amounts of time are wasted.  That should
 be readily apparent from the recent discussions and the recent concern it
 has caused from people outside the developer's inner circle.

 Lack of defined process = high risk and wasted effort.

 Russ





 On 6/24/2015 9:50 PM, Mark Friedenbach wrote:

   I'm sorry but this is absolutely not the case, Milly. The reason that
 people get defensive is that we have a carefully constructed process that
 does work (thank you very much!) and is well documented. We talk about it
 quite often in fact as it is a defining characteristic of how bitcoin is
 developed which differs in some ways from how other open source software is
 developed -- although it remains the same in most other ways.

  Changes to the non-consensus sections of Bitcoin Core tend to get merged
 when there are a few reviews, tests, and ACKs from recognized developers,
 there are no outstanding objections, and the maintainer doing the merge
 makes a subjective judgement that the code is ready.

  Consensus-changes, on the other hand, get merged into Bitcoin Core only
 after the above criteria are met AND an extremely long discussion period
 that has given all the relevant stakeholders a chance to comment, and no
 significant objections remain. Consensus-code changes are unanimous. They
 must be.

  The sort of process that exists in standards bodies for example, with
 working groups and formal voting procedures, has no place where changes
 define the nature and validity of other people's money. Who has the right
 to reach into your pocket and define how you can or cannot spend your
 coins? The premise of bitcoin is that no one has that right, yet that is
 very much what we do when consensus code changes are made. That is why when
 we make a change to the rules governing the nature of bitcoin, we must make
 sure that everyone is made aware of the change and consents to it.

  Everyone. Does this work? Does this scale? So far, it does.
 Uncontroversial changes, such as BIP 66, are deployed without issue. Every
 indication is that BIP 66 will complete deployment in the very near future,
 and we intend to repeat this process for more interesting changes such as
 BIP65: CHECKLOCKTIMEVERIFY.

  This isn't about no one stepping forward to be the decider. This is
 about no one having the right to decide these things on the behalf of
 others. If a contentious change is proposed and not accepted by the process
 of consensus, that is because the process is doing its job at rejecting
 controversial changes. It has nothing to do with personality, and
 everything to do with the nature of bitcoin itself.


 On Wed, Jun 24, 2015 at 5:07 PM, Milly Bitcoin  mi...@bitcoins.info
 mi...@bitcoins.info wrote:

 I have seen this question asked many times.  Most developers become
 defensive and they usually give a very vague 1-sentence answer when this
 question is asked.  It seems to be it is based on personalities rather than
 any kind of definable process.  To have that 

Re: [bitcoin-dev] BIP Process and Votes

2015-06-24 Thread Milly Bitcoin
These are the kind of silly responses you often get when this subject 
comes up.  Mr. Garzik knows how to ignore messages he doesn't want so I 
see no need for him to use the list to attack people he doesn't agree 
with and/or try to interfere with discussions of others on the list.
He turns it into a personality discussion rather than a discussion of 
Systems Engineering.  He also tries to intimate anyone who brings up the 
discussion and punish them as a lesson to anyone else who may raise 
the issue.


It is interesting that people like that are attracted to a decentralized 
system.   The reply is simply an attempt at protecting turf which is why 
Mr. Garzik's vague replies are never taken seriously on the subject of 
decision-making process for the software.


Russ


On 6/25/2015 1:07 AM, Jeff Garzik wrote:
Ladies  gents, please do not feed the troll. This has been explained 
to Milly multiple times in the past, on previous mailing list  github 
with no impact.



On Wed, Jun 24, 2015 at 7:34 PM, Milly Bitcoin mi...@bitcoins.info 
mailto:mi...@bitcoins.info wrote:


I'm sorry but that is the kind of defensive, cultish response
everyone gets when they ask that question.  If you had a well
constructed documented process then you would be able to point to
it ... but you can't.  While there are a few bits and pieces
scattered  about in different places there is no coherent plan or
process.

It is easy to make statements like consensus must be unanimous
but the issue is that you never have true 100% consensus yet you
have to move forward in some fashion and everyone has to run
software with the same consensus rules.  The issue is how you move
forward is the question that nobody wants to answer because (a) it
is a hard question to answer and (b) developers see it as a threat
to their authority/position.  If people just keep shutting down
the discussion with a bunch of cultish stock answers then you are
never going to move forward with developing some kind of process.

From what I can see much of the discussion is personality-driven
and not based on Computer Science or and defined process.  The
issue is that a personality has changed so the process is
perceived to be different and some people want to hard fork. 
Previously, the cultish answer is that Bitcoin development is

decentralized because people can fork the code.  Now that some
developers want to fork the code suddenly it is a big problem.  
Is forking the code part of the consensus process or is it the

work of the devil?   The fact that there is so much diverse
opinion on this shows a defined process has never been fully
vetted or understood.

I have worked on these processes for many years for projects
orders of magnitudes larger than Bitcoin.  I can absolutely assure
you the current mishmash does not scale and huge amounts of time
are wasted.  That should be readily apparent from the recent
discussions and the recent concern it has caused from people
outside the developer's inner circle.

Lack of defined process = high risk and wasted effort.

Russ





On 6/24/2015 9:50 PM, Mark Friedenbach wrote:

I'm sorry but this is absolutely not the case, Milly. The reason
that people get defensive is that we have a carefully constructed
process that does work (thank you very much!) and is well
documented. We talk about it quite often in fact as it is a
defining characteristic of how bitcoin is developed which differs
in some ways from how other open source software is developed --
although it remains the same in most other ways.

Changes to the non-consensus sections of Bitcoin Core tend to get
merged when there are a few reviews, tests, and ACKs from
recognized developers, there are no outstanding objections, and
the maintainer doing the merge makes a subjective judgement that
the code is ready.

Consensus-changes, on the other hand, get merged into Bitcoin
Core only after the above criteria are met AND an extremely long
discussion period that has given all the relevant stakeholders a
chance to comment, and no significant objections remain.
Consensus-code changes are unanimous. They must be.

The sort of process that exists in standards bodies for example,
with working groups and formal voting procedures, has no place
where changes define the nature and validity of other people's
money. Who has the right to reach into your pocket and define how
you can or cannot spend your coins? The premise of bitcoin is
that no one has that right, yet that is very much what we do when
consensus code changes are made. That is why when we make a
change to the rules governing the nature of bitcoin, we must make
sure that everyone is made aware of the change and consents to it.

Everyone. Does this work? Does this scale? So far,