Let's Talk Money -- Regarding the Current Developer Poll

in #gridcoin6 years ago (edited)

Gridcoin Purple on White.png

Disclaimer: I support the developer payment poll. I have voted Yes.


Introduction


Let's start with two base-level statements that I think everyone can agree with:

  1. Funding of an organization, from an elementary school recycling club to a top level corporation, is critical to the continued operation of that organization.

  2. Gridcoin core devs are amazing and deserve to be paid from the foundation funds.

That said, there has been no shortage of concern expressed around the currently running developer compensation poll.


Summaries


Here is a bullet point summary of the reimbursement process and proposal for those who are not familiar:

  • In July 2017, Rob proposed a developer reimbursement plan at $30/hour.
  • The proposal defined a 6 month period before being reevaluated.
  • The first payment was for August dev work.
  • On March 2nd, Rob proposed increasing dev payment to $60/hour.
  • Rob is the person who determines if work deserves reimbursement.
  • The thread of the conversation for both proposals along with the reimbursement summaries can be found here.

Here are the main concerns and questions I have seen expressed:

  • The proposed increase in funding was not explained well enough.
  • $60/hr is too much for dev work.
  • Who determines what work is worth pay and how long a job should take?

Here is a summary of the first 6 month block expenses:

  • 1605.5 hrs spent on development
  • $48,165 paid for development
  • 411,945 GRC paid for development
  • Average price works out to $0.11/GRC

Note: I did the work by hand and may have missed some invoices or miscalculated.
Note: These figures do not include reimbursements for adwords, Netsoft, or the newbie stake.

Here are some straight forward problems that I noticed with the first 6 month block:

  • Invoices are not standardized and are difficult to read.

  • Some people did not submit their development hours at the end of the month, which means they can wait until the USD/GRC price drops before getting paid in GRC, meaning they get more GRC. (Though I'm not certain if this is factored into how Rob released funds).

  • GRC was paid for developments that were developed privately and ultimately not implemented.

Here are some straight forward solutions to these problems:

  • Create a standardized invoice form and a separate thread for posting only reimbursement data. If a dev does not use the standardized invoice form, they cannot receive reimbursement for those hours.

  • State that work data is due by the 7th day of the following month. This means that if I work in April, I must submit my hours by May 7th. If I do not, I cannot receive reimbursement for April.

  • State that only work for implemented developments will be reimbursed. This will encourage people to keep the community up to date with regards to what they are working on so they can receive feedback on the likelihood of their developments being implemented. It will also encourage community contributions during development, which I will discuss later in this post.


Addressing the Concerns with the New Proposal


I think the concerns can be broken down into three general categories:

  1. Communication
  2. Pay level
  3. Logistics and operation

Communication

Communication is critical.

Personally, I share this concern -- there was not enough discussion around the previous 6 month block and around the reasoning for a pay increase. None of the concerns from the first 6 months block proposal were addressed with the second proposal. None of the questions asked in February were addressed before the creation of a poll for a pay increase. In fact, the 6 month period ended at the end of January, but the new proposal didn't come out until the beginning of March. I am willing to accept that this was due to forkapalooza, but there was no communication, so I cannot be sure that it wasn't due to poor management.

I truly hope that communication improves before the next 6 month block, if that is the route we take. One way to do this is to start the discussion 1-2 months before the end of the 6 month block.

Additionally, the poll and proposal itself is... lacking. What did we do? Why are we doing what we're doing? What will we do in the future? What happens if this raise is rejected? Do we not pay developers? Do we maintain $30 an hour?

The presentation does not inspire confidence.

Pay Level

Personally, I think $60/hr is appropriate. I do, however, understand people's concern that this is too much. I think that it is important to consider how competitive the blockchain space is, that GRC does not provide benefits, and that we are asking for people to contribute time outside of their day(or night) job.

I do not think that unimplemented developments should be reimbursed at $60/hr, or at all. This is a major concern of mine.

Logistics and Operation

I agree that the current reimbursement structure cannot continue for much longer.

Here is what I said in July when the initial proposal was put forward:

I am grateful that reimbursing and paying devs is a top priority of GRC. This demonstrates that development is progressing and that this progression is going to continue. It also shows that the volunteer work of the community does not go unnoticed and is highly valued.

My concerns regarding this proposal stem from the fear of this payment system becoming precedent for future payments:

This is a highly centralized proposal. This means that the random work Rob mentioned that needs to get done can get done quickly. This also means that work is judged and compensated at the whim of a single entity (as respected and trusted as that entity might be -- this is not directed at Rob, but at the system) instead of by consensus among the greater community. So long as we do not use Rob's benevolence regarding this payment block to influence the conversation regarding future compensation, I can see myself supporting this proposal in time.

I stand by this statement.

I and others have proposed alternatives and begun discussions around how we might move forward.


Moving Forward


We need to change how we fund development. In the meantime, we need to fund development. I suggest that we accept Rob's payment proposal and use the 6 months to develop a new budget structure while working toward the ultimate goal of a complete treasury system.

The discussion has already begun. You are invited to contribute:

A Gridcoin Budget (v0.2)
A Gridcoin Treasury - Working Draft
A Gridcoin Bounty Bot

Now that the white paper is out for a vote, I will be spending more time working on the budget (among other things).

Here is what I am thinking of working on for v0.3.

First, change the dates to propose that the budget begins after the next 6 month period.

Next, integrate the following ideas into the proposal.

An organization can be broken into three pillars:

  1. Engineering - Building
  2. Management - Organizing and communication
  3. Marketing - Spreading the product

Each of these pillars can be broken into sub-structures. For example:

  1. Engineering
    1. Core maintenance
    2. Core development
    3. Potential Improvements
    4. UX/UI
    5. Management

  2. Management
    1. Project
    2. Financial
    3. Legal
    4. Support

  3. Marketing
    1. Branding
    2. Advertising
    3. Outreach
    4. Partnership
    5. Management

Each of these structures and sub-structures needs funding. There are many different ways to fund these jobs.

I would suggest that core maintenance and development is the only work that should have an hourly rate. So what are the alternatives?

Community Funding

This is a commonly used means of funding development. An individual develops something openly while advertising a donation address. If their endeavor is supported, they will receive donations. If it is not supported, they will not receive donations. If they do not receive donations, they will either continue working on their project for free, stop work on the project, or work to make it so the community supports it. It is based on the principal that money talks -- if your idea is supported, people will pay you as you show progress.

A way to implement this in a protocol is roughly outlined in the treasury thread.

Bounty Funding

A bounty is made for the completion of a task or a solution to a problem. The bounty value rises if people think the product the bounty seeks to incentivize is important. When the "demand" for the product reaches equilibrium with the community's "supply" of people willing and able to build the product, someone usually takes up the task. Upon submission of a product which meets the bounty's contract terms, funds are delivered. There are some challenges involved with a bounty system which revolve mainly around contracts that are not well written or clearly defined. These challenges can be overcome, but that requires work.

Bounty systems can be fairly cut-throat if contracts do not demand communication. What if two people are separately working on solutions at the same time, but they are not communicating. Only one of them will receive the bounty which means that the other just put in X hours of work for nothing.

Bounties require people put serious work into building contracts. Not many people like doing this type of work.

A way to implement this in a protocol is roughly outlined in the treasury thread.

Foundation Matching/Funding via Proposal and Poll

Foundation matching works with both community funding and bounty funding. An individual or group completes a product and either claims a bounty or receives donations. They then create a poll asking for further reimbursement from the foundation funds based on the bounty, on how much people donated, or on some other definition outlined in the payment proposal. This would require strict definitions on what makes a poll requesting funds from the foundation valid. There are currently loose parameters, but no clearly defined and advertised definitions.

A way to implement this in a protocol is roughly outlined in the treasury thread.

Elected Management Responsibilities

The community elects an individual or group of individuals to manage resources for each of the three pillars. A set amount of resources is allocated to each pillar for a set amount of time through the budget proposal. The responsible individuals are reelected at the end of every budget term.

Until there is a treasury system, this is the most straight forward possibility when it comes to funding tasks that require funding. It is less centralized than the current system run by one person, but still centralized into a "representative board". The budget v0.2, for example, suggests Ravon and Caraka be in charge, or named to the "representative board of development" which would be responsible for managing funds allocated to development. This board could be expanded on. The proposal also suggests forming a "representative board of outreach" to manage funds allocated to outreach endeavors.

I will likely be expanding on this possibility in v0.3

A Treasury System

Being able to build a treasury system in a code-based protocol that directly interacts with the minting of a currency is a very significant use-case of blockchain technology and cryptocurrency. A treasury system is a means to collect, allocate, and release funds. They are highly structured. We are not ready for one yet, however it should be in the back of everyone's minds -- how can we put funding practices into a protocol?


Conclusion


We have a lot of work to do before we are ready to implement some sort of funding structure that is different than the one currently in place. Please contribute to the discussion and construction process! In the meantime, let's be vigilant and watch who gets paid for what, and let's support developers and community members as they work to make Gridcoin what we all know it can be.

Sort:  

Friendly reminder to please vote on the Dev Compensation poll. We need 1.8% more vote weight to make it valid.

EDIT: Self Upvoting for Visibility

Loading...
Loading...

=======================================================================================

This post was upvoted by Steemgridcoin with the aim of promoting discussions surrounding Gridcoin and scientific endeavors.

This service is free. If you want to help the initiative, feel free to upvote this comment or click here to learn how to delegate SP.

Have a nice day.

Disclaimer: This account is not associated in any shape or form with the official gridcoin devs team.

Some people did not submit their development hours at the end of the month, which means they can wait until the USD/GRC price drops before getting paid in GRC, meaning they get more GRC. (Though I'm not certain if this is factored into how Rob released funds).

Another way to handle this problem is to pay according the average GRC price over the last month. Also another way - though this may be controversial - is to set standardized payments in GRC, not USD - this would also give us a better sense of when funds are expected to run out. That being said, I think the most important opinions on that latter proposal are of the devs.

Another way to handle this problem is to pay according the average GRC price over the last month

This is currently the way it is done.

Thanks, didn't know that.

If a developer does work on a feature in June, and it's not implemented until December, would they receive hours under the new system?

It seems to be set up for work that's implemented immediately, which is usually the least exciting work.

I'm not sure which new system you are referencing, however:

This is one reason I think that hourly reimbursement should go to core code maintenance and nothing else. Feature development could be community funded, bounty driven, proposal defined, or board managed.

Under the hour reimbursement system -- the one that exists right now -- I would think that the developer would record hours for the months they work on the project and be reimbursed for those hours at those month's GRC price when the feature is implemented. They would be reimbursed for the time they spent on the project.

" 1605.5 hrs spent on development "
" $48,165 paid for development "

Assuming $ is USD and being that Gridcoin is currently at an all time low value at this time and that value is fluidly changing minute by minute hour by hour and is not a static figure this number changes too.
It was 20x the current value back before the July 4th 2017 hacking of the Gridcoin Network " https://github.com/RUB-NDS/Gridcoin-Attacks " where 25k GRC was worth around $5000 USD and is currently valued around $900 instead right now.
So if we based it off the value at the time of this post it would be a little higher than right now but that would also mean more like $480,000 ( almost half a million dollars ) at its 2017 peek in June/July vs $48k today and if you re-write this post at a another date the value would be different again since its value is fluid.
This is complete bullshit and we should have a flawless client by now with the time and money invested into it and it should be the #1 crypto coin out there to work for and there should be way more people into Gridcoin and more Boinc users leaving their teams to join us and Gridcoin should be the #1 crypto coin out there in both value and the clients look visually and features along with everything within the client and network working flawlessly including for example the upgrade client from within it and no voting system issues like barton26 discovered with " : " as an option for vote selections along with no superblocks ever randomly missing projects , no more forks and never again a blackswan.
At 1605.5 hours spent on coding in the past 5 months since Rob's code and the community code trees merged that is like being a service tech and working on an older slow machine and charging someone for the 3-4 idle hours of just watching the computer screen doing everything from formatting the hard drive ( slow not quick format and lets check for bad blocks too so it will take even longer and we can bill more time ) and laying down the OS's files and the hour or two you walk away and go cook and eat dinner , have a beer and maybe even take a nap while the computer does all the work for you copying files from dvd and writing to the hard drive unattended and then the 1-2 hours of downloading and Windows downloading on your slow Internet and installing all of the updates for you along with the minute it takes to goto Nvidia or AMD/ATI to download the official driver vs using WDM from Microsoft. Then billing the customer at $80hr for 6 hours when you spent a total of 20 minutes at the keyboard and actually worked. So it seems there is a minimum 1hr charge no matter if it took you 1 minute. Hell being a Gridcoin dev is one of the best jobs payment wise in the world.

In Arizona you can buy a decent 3 bedroom 2 bath 2 car garage rambler house on a decent sized plot of land in a good city and neighborhood for that price ( $35k even ). Or you could buy 2 decent 2018 model car's or 1 really nice one cash money and not finance it.

If you are to twist the numbers it's the other way around. $48000 at peak is worth $4800 now which is pretty cheap for 1600 hours of development time. Except, that's not the way it works. There has been $48000 worth of GRC payments throughout the months. Whatever those GRCs are worth now or in 10 years is irrelevant. You don't get payment adjustments on your salary just because you purchased stocks for your income, do you?

Would you be more comfortable if Rob traded GRC->USD? So we could re-purchase to GRC?

Maybe lets not have superblocks that don't include whitelisted projects , forks , black swans. Yes we do need to form a real actual Gridcoin Foundation with a hierarchy and actually be decentralized vs just saying we are I agree with that 100% . We need checks and balances , we need actual positions people hold and not just a " be what you want to be " and " do what you want to do " and get paid. Tasks that are real and not just for the hell of it because you want to get paid without crunching. I thought the idea is to earn Gridcoin for donating cpu/gpu clock cycles to scientific research? But we end up with hack Gridcoin and fuck everybody over and you are hired and get paid enough you don't need a real job and can pay your rent and bills from just spending hours on trying to fix and modify and expand on a mash of multiple crypto coins code? The value of Gridcoin and mistakes made by the dev's since thomasb ( our new head dev ) hacked the Gridcoin network to help us Americans celebrate the 4th of July? This isn't the CIA or FBI but we still have a hack us and we will hire you and pay you more than actual sysadmins make working in cages in data centers working physically on hardware. $30 is semi legit but look at the value and how much it has tanked. Look for example at the current superblock and everybody crunching ODLK1 who's magnitude tanked due to the current superblock not including that project but oddly the superblock before it included that project and still we are working with the same version 3.7.10.0 and then there we go and get 3.7.11.0 today and someone gets paid again to fix their own mistake and go over code they got paid for once already that was in error. Then we have people like you who show up on the scene and act like the CTO and as if you run the community and again pushing your agenda and ideas onto everybody. Our community has many people whom are not tech savvy or let alone even understand how things work they just crunch and are lucky they setup the wallet correctly. If Gridcoin was not a high school style get along gang clique and just a cult following it would be worth something but we need things to be stable and consistent before anybody gets paid OR we need dev's that get paid the big $$$ return payment when their code is wrong or in error or causes errors and issues or else its just " yeah I get paid for doing nothing " and there are people whom contribute in ways that actually help and better the community vs failed code and coding mistakes , such as you promoting it and your agenda here and reddit and cct whom should get paid ( thank god steemit pays you for your agenda ) because I for one think its a shit show and disorganized as all hell and the " trusted community leaders " push their agenda and feelings on everybody else such as banning people for pointing out people doing sneaky shit with the existing code and getting paid for it. So why don't we just pay everybody whom attends the mumbles and classes too? How about we actually get organized before people just get handed a platter full of gold for 1hr @ $60 for adding 1 or 2 lines of code or fixing and editing existing when it takes them 2 minutes but get paid for 1 hour? There are other things that should get paid for that do not , its all out of pocket donated from the community. Call it what you want but A Treasury System sounds like the United States Federal Reserve and from what you want done looks just as fraudulent. Things need to get stable and be stable for a period of time or people are just getting paid to try things and " maybe this will fix it " when then it does not they then again get paid to go over the same code and attempt to fix it and possibly break other things so they can again fix that mistake and get paid double or triple for the same attempted code fixes... So lets just hand out free money for nothing , yep that idea is a winner. Hack Gridcoin to get paid $60 USD an hour and be rich in your 3rd world country... yeah thats the right model and just makes Gridcoin more of a sham and cult following of boinc. Of course the whales and current leadership would be in the positions because their vote weight so yeah lets go with your ideas and kill Gridcoin off completely. Berkeley needs to pay attention to the Gridcoin status and state and the community activity and be included so its not just a bunch of troll kiddies who don't crunch but get paid more than the crunchers ever earn. Of course since things go on behind closed doors and in private and are spread across 20 platforms of social media or peer communication like irc/slack/etc its all hush hush and greed. What a winning idea. I still need to get paid for the Greylist idea too , 8 hours min seeing as its been implemented..
Also , I am sorry Gridcoin and the Gridcoin community for what I said on freenode after NeuralMiner already was going to ban me from the community and pissed me off so I just said screw it and gave everyone a reason to get rid of me.. Although it seems that I was actually banned and removed from freenode because I discovered our leader CustomMiner's embedded security issues hidden inside the code forcing his gridcoin.co.uk nodes to be prioritized hidden in the code ( see barton26's fix to remove it afterwards changing and updating the seednodes that make gridcoin centralized " Clean up seed nodes, #783 " https://steemit.com/gridcoin/@barton26/new-gridcoin-mandatory-update-3-7-0-0-released listed in the fixes at the bottom ) over the ones we all pay out of our pocket for and asking him seeing as I was away 2 months and we had talked about the foundation paying for a few community members to goto the 2017 Paris Boinc convention and he misread me asking and took it as me accusing when I asked if the foundation paid for his vacation to France as it was something we actually talked about doing before I parted for a while.. This is my official apology , also to Customminer for getting pissed off at him ( our leader ) for accusing me someone whom just celebrated 5 years clean and sober as a meth addict after being diagnosed with a fatal disease and needing a double kidney transplant. I should have been the bigger and better person and ignored the taunts and baiting from our leader Customminer and his lacky Neuralminer.. So everybody I am sorry for what I said after Neuralminer already planned to ban me just because he does not like freedom of speech and mine and your civil rights. I have always been here to help the community and I have always helped every way and everybody I can and I will continue to stand up for the little guys and stick it to the whales since they control everything. Some of us don't get handed Gridcoin for free , we earn it at a ratio of 1/100 on our power bill.

The fixes in 3.7.11.0 were fixes done to the original, inherited Bitcoin code. Sure, the backup opt-out was due to our code but I have not added any time for that since it was a few minutes of work.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 66945.54
ETH 3515.79
USDT 1.00
SBD 2.71