BUIP110: (passed) Funded Development, aka Devpool2

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
BUIP110: Funded Development, aka Devpool2
Submitted by solex
31 December 2018


Motivation

Since BU was formed as an organization in November 2015 it has relied upon a combination of volunteer developers and some directly funded by BU supporters. A lot has been achieved, however, the practice of funding development authorised on a per project basis through directed BUIPs removes a lot of flexibility for general maintenance, housekeeping, refactoring, QA, none of which is functionally significant warranting a BUIP. Further, some BUIPs are passed authorising changes but do not have directed funding included. Hence, Devpool #1 (BUIP062) was raised and approved just over a year ago and many worthwhile scaling and optimisation improvements resulted and are now seen in later versions of the BU client.

Objectives

The objective of this proposal is to enable further funding of project development, short-name "Devpool2", at the discretion of the Bitcoin Unlimited lead Developer.

Project Duration

The funds authorised on this BUIP are for a maximum of one year. Any unspent funds revert to the consolidated fund, and a subsequent BUIP will need to be approved to continue funded development for a further year.

Project Team

Developers who wish to offer their services for project work are invited to PM the BU Developer directly on this forum or make contact via GitHub. Developers being paid are contractors who are responsible for their own accounting and tax reporting. Payment will be offered in either BTC or BCH, but not in fiat currency.

Summary of Approved Projects

1. Passed BUIPs automatically qualify.
2. General maintenance, housekeeping, refactoring, QA and other discretionary work also qualify.

Description of Activities

The BU Developer has oversight of the projects, and work parcels, he allocates or executes work within project descriptions which he drafts and posts to this forum for general information.

Anticipated Challenges and Uncertainties

Standard development issues only.

Budget

The budget for the development pool #2 is $60,000.
This is equivalent to a projected average of $80 per hour for 750 hours. It is expected that one or more funded projects will be active, depending upon circumstances.

The BU President and Secretary will co-authorise drawdown of these funds at the recommendation of the BU Developer when contracted developer invoices are presented for work completed.
All projects to be individually named and separated in the annual accounts.

Impact

Bitcoin Unlimited's software has long been recognized as pushing the boundaries of on-chain scaling. The overall quality of BU development is expected to be improved by this initiative, also resulting in an accelerated rate of improvement, especially as the next bull market is likely to see an influx of users who are frustrated by the lack of BTC scalability.
 
  • Like
Reactions: Norway and Windowly

torusJKL

Active Member
Nov 30, 2016
497
1,156
I like the idea that development can be funded.
But last years devpool usage seems intransparent.

Is there a list of work that has been paid by the devpool?
Why are there BUIPs that were accepted but no devpool offer/contract has been made public.

I think the rules are not clear enough and unfortunately I can't give it my vote based on what I have seen in 2018.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
Search this forum for "devpool work" to see public offers. I did not use the devpool money that much last year. However, its existence was very important because it helped me get Griffith started as a BU dev and get the graphene work started. Basically, in these cases I was able to commit to making an initial payment to the relevant engineers before the relevant BUIP was considered. The allowed people to get started on the project, and the risk to BU (if the BUIP did not pass) was small since it was only an initial payment. But it turns out that devpool was not needed since the relevant BUIPs passed.

As you'll see from searches, two specific "devpool" funded items were the reworking of the log system (for performance and useability) and the introduction of the getminingcandidate/submitminingsolution RPC calls.

The log system work is exactly what I need devpool for: its not exciting, interesting work that will attract a volunteer. Its boring infrastructure that we'll have to pay for to get done.

The getminingcandidate/submitminingsolution RPC calls are a key element of scalability because they allow bitcoind to pass a block candidate to the pool without passing the entire block. Instead, the quantity of data passed is much less than the log of the block size. This is very important for 100+MB blocks because the without it we are encoding, passing and decoding 200-300+MB JSON encoded messages (JSON is a lot less compact than binary so 100MB blocks becomes 200-300MB JSON). This takes a lot of time and wasted time is literally wasted money for miners when switching to a new block candidate. I have gotten confirmation from SV devs that SV has incorporated this work into their client and has used it for mining. I also notified ABC devs of the work, months before the fork.
 

torusJKL

Active Member
Nov 30, 2016
497
1,156
Thanks for your reply @theZerg .
From what I can see whenever the devpool ressources were used they were spent well.

I still woudl like to have a place I can go to and see what has been done and what the current status is.
This could be a sticky post that gets updated every quarter for example.
@solex could something like this be added to the BUIP?

I'm wondering why the devpool hasn't been used to realize some of the accepted BUIPs?
Are those not valid for devpool work and need their own funding?
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
I think that a sticky post would be useful. WRT getting more work done via devpool, I believe that it is available to be used for some of them, at my discretion since I can use it for any dev work. I see the biggest problem right now for BUIP implementation is lack of paid "volunteers" and code complexity. "Devpool" can't fund someone full time and the average coder needs quite a bit of study to come on board -- it can be hard to do that in addition to your full time job even if you are getting paid.

A related issue is how much time we (the common BU contributors) should take making that happen (and educating and reviewing code, etc) compared to doing our own work. The more we need to advertise BU and devpool, the more care and management the people we get will need. Right now, I am not choosing to spend a lot of time searching for devs because I want devs that don't need much hand-holding, but devpool money is available for the self-interested, self-motivated developer who wants into crypto.
 
  • Like
Reactions: torusJKL