Monday, February 24, 2014

How to support bitcoin core development

After this CoinDesk article, various fora have asked how to support bitcoin core development.  Here is a quick list, in order of personal preference.  Speaking only for myself, not my employer or other devs.

1. Grow the ecosystem.  Grow your own in-house engineering expertise. Learn open source engineering. Learn the bitcoin design (PDF), the bitcoin protocol, then contribute back to the reference implementation.  Ask questions.  We love great questions from people trying to learn (though you are expected to be self-motivated enough to google for the answers yourself, first...)

2. Help with testing.  You don't have to be a programmer, just a capable computer user with attention to detail.  We are constantly starved for real testing.  If you can help write additional tests, even better.

3. Commit the resources necessary to running a full node (bitcoind), 24/7, to help maintain the payment network.  This requires sufficient disk space and bandwidth, as well as the critical need to poke a hole in the firewall, permitting incoming TCP connections to port 8333.

Edit: OK, this doesn't have much to do with development.  It does help the network, though.  Also consider seeding the blockchain torrent.

4. Donate to the Bitcoin Foundation, which supports two core developers.

5. (Shameless plug!)  Buy things from BitPay merchants.  BitPay supports open source by employing me to work on bitcoin development.

6. I'm not bitcoin-rich nor debt-free like many other early adopters, and have a donation address at 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj.  But really, if you are a starving kid in Africa, don't send money, I do more than OK on a generous engineer's salary.

We all benefit when the amount of deep bitcoin knowledge is widely distributed.  It is always helpful to grow the number of technical people with deep bitcoin understanding.

Even more fundamentally, however, it is critical to understand that bitcoin is an open source project, with all that entails.

To be successful, to continue, folks who depend on bitcoin must contribute back.  As Gavin Andresen noted during the recent T.M. kerfluffle,

Do not treat the core development team as if we were a
commercial company that sold you a software library.  That is not how open
source works; if you are making a profit using the software, you are
expected to help develop, debug, test, and review it.