About the funding;
Funding Bitcoin development seems to have always been problematic.
While the Bitcoin industry collectively has raised more than a billion dollars worth of investment over the past years, development of the Free and Open Source Software the industry largely relies on has always had trouble gathering sufficient funds and manpower for development. Several arrangements to raise funds have been tried over the years – but with varying degrees of success and longevity.
Bitcoin Core, considered by many to be Bitcoin's “reference client,” therefore, announced a “Sponsorship Programme” earlier this week. As the latest effort to raise funds, this program is intended to be an easy access-point for companies and other Bitcoin industry players to support Bitcoin Core developers and projects. Companies that decide to take part in the sponsorship program will join a, so-far, short list of entities that do already help fund Bitcoin Core development.
Read the entire article here,
https://bitcoinmagazine.com/articles/who-funds-bitcoin-core-development-how-the-industry-supports-bitcoin-s-reference-client-1459967859/As far as i understand it, basically through crowdfunding, but almost all companies who fund the development do it for their own benefit (Bitpay etc).
I believe consensus is gained through the signalling of
full nodes blocks. If you get a super majority (95%+), the proposal/(softfork) will go through, if it's less than that, it won't.
See
https://github.com/bitcoin/bips/blob/master/bip-0034.mediawikiAll older clients are compatible with this change. Users and merchants should not be impacted. Miners are strongly recommended to upgrade to version 2 blocks. Once 95% of the miners have upgraded to version 2, the remainder will be orphaned if they fail to upgrade.
But this is only for changes to the network, i'm not entirely sure how changes to the bitcoin core wallet software are made, (or rather determined).