At launch, we created a vesting program that was supposed to go along with nrGIV distribution. We are finally getting the Q4 2021 distribution out, but it was delayed mostly because there was a clear dissatisfaction with how the distribution was set at launch.
Let’s figure out how we should distribute GIVstreams to long term contributors in this thread.
Total Tokens Being Considered for Allocation:
After the GIVdrop, for 24,500,000 GIV were allocated to Current Contributors, pending they continue to contribute to Giveth and 40,000,000 GIV were to be allocated to future contributors. Assuming the Q4 2021 proposal passes we will have a total of 62,770,958 GIV to allocate to contributors, it will be allocated as a GIVstream.
4 Options I See
Standardize the entire concept for all contributors: Combine the 2 buckets, and make a standard calculation to determine an allocation for each contributor each quarter.
Standardize the “Future Contributors Vesting” and create a rule for when the “Current Contributors Vesting” should change, and change the distribution for people who meet that requirement, e.g. If your “Current Contributors Vesting” allocation is >10,000 GIV different from what we applied the “Future Contributors Vesting” standard then we apply the “Future Contributors Vesting” amount.
Standardize a “Future Contributors Vesting” and keep the Current Contributors schedule the way it is for those who got it, forever as long as they get their nrGIV tokens.
Negotiate vesting with each new contributor at the time of hiring, and renegotiate with each current nrGIV token holder.
I would suggest we go with Option:
I assume we want to create a standard, objective calculation
Option 4 doesn’t seem like our style, that’s a more corporate approach, so assuming there isn’t a lot of support for that approach in the comments, there will be some sort of standard calculation to determine the allocation for future contributors.
Potential Dimensions that COULD affect Contributors Allocations
Some of these might be useful to consider when creating the calculation:
Did they collect nrGIV this quarter?
How much nrGIV do they have?
Are they Full-Time, Part-Time, or Very Part-Time focused on Giveth?
How many quarters have they worked for Giveth?
Do they lead a working group?
Are they a Developer?
Do they hold a Senior, Mid, or Low level position in Giveth
How many distributions have they received?
How many people are being allocated a GIVstream this quarter?
How much total GIVstream is left to be allocated?
What else should be considered? Add it as a comment!
Spreadsheet baby yeah!
Next week I will make a spreadsheet for us to play with… but first!
Let’s get some initial thoughts on which one of the 4 options has soft consensus.
Please give some feedback on what dimensions should be included and how strongly each dimension should impact the results!
I think it will be tough to standardize any current or future contributor vesting allocation from the dimensions you mentioned further in your post. We have to consider over the course of the vesting period situations also might change, contributors might drop their contribution level, take on less or more responsibilities. There’s so many variables to consider and since this is a big chunk of change I’m not sure a standardized solution is really fair.
nrGIV should be a hard requirement for sure for any current or future contributor to receive vesting. I wonder if this is something that needs to be hashed out every quarter? Can we send a spreadsheet template to every eligible contributor and they put in how much they think each other contributor should get? We take the average and use those numbers.
Definitely agree nrGIV should be a hard requirement.
Yeah! I like your suggestion, I think we could take a Coordinape-esque approach for a big chunk of the distribution esp this quarter.
I do think that having some clear guidelines makes things feel more fair. So maybe like 1/2 the distribution is decided by some clear guide lines and the other 1/2 has a subjective component?
Coordinape-style voting as you described is a great option! The only thing i worry about is how to execute that… we might want to do it every month instead of every quarter… otherwise there is a huge bias towards the most recent month… as people might forget about what contributors did 3 months ago… but then we have a lot of added overhead… and if we are doing this… we should probably open it up and add it to the rewards system.
Another option is that we use the rewards system to determine the subjective 1/2 since that will already be happening, so it won’t add any more work, there is no time bias, and we will be evolving it constantly… if we want to add a coordinape-style voting thing, we just add it to the Rewards System.
That said tho, for Q1 2022, since the rewards system isn’t up doing a 1-off coordinape-style voting round might be a great stop gap solution, we might be bias towards work in March over Jan… but still prob the best of our options.
Definetly for Q1 and all honesty Q2 as well we’ll need to have some makeshift system until Giveth can have it’s own reward system (we gotta name this thing, yikes). I agree about doing it monthly, yes it can add overheard but participation perhaps isn’t mandatory but highly encouraged.
Each contirbutor should have their own sheet they work in and someone from Governance will collect all the data to produce the final numbers. This could look like this sheet I quickly drafted as an example:
“Vesting Quantifications” can happen monthly but distribution can still remain quarterly. We can use the #staff channel to transparently post the final numbers for all contributors to see (we can create roles and role-lock channels in discourse).
If we wanted to add in some objective metrics here are some suggestions:
number of Months actively contributing for Giveth - each month you worked for giveth adds a fixed amount of tokens you get
Monthly compensation received from Giveth - maybe the more you got paid the less tokens you get
SourceCred grain from discourse and github (imho this would take a lot of work and deciding since we haven’t been paying much attention to our sourcecred settings thus far)
I think the coordinape-style “part standard + part subjective” is interesting… although I’m a little concerned about the overhead required for every contributor to rate every contributor every month.
I voted for option 2… I think spending that time on creating a good standard saves us future overhead. I think each contributor’s vesting amount should be checked against the standard every quarter, so if people’s contributions change a lot, then it’s accounted for.
We could add a criiteria the list of questions above like “Does this contributor go above & beyond?” Which could be a simple y/n subjective thing that could get voted on.
We could have another part of the subjective amount be affected by praise data.
I am kind of hot on coordinape in general but share the concerns of @karmaticacid about the overhead for rating. Monthly would have to be implemented yes, agree with @griff here that quarterly evaluation has too much bias but it’s best for distribution.
In favor of standards with flexibility for rewarding the unique styles of contribution that we sport at Giveth.
We can expect vesting over 2.5 years, with distributions going out every 3 months, that’s 10 distributions total. We’ve already sent out 1 in the Q4 2021 Distribution meaning there are 9 left to go out, based on this we can expect an even 11.11% of the vesting funds to go out every 3 months.
Currently there is one active distribution, the current contributor’s bucket. Contributors in this bucket will receive a fixed amount of GIV every 3 months given they continue to contribute and receive quarterly nrGIV tokens.
This is the current contributor vesting spreadsheet:
However we should take into account future contributors and reward them as well for as long as they consistently contribute to Giveth. For future contributors I would propose we split the distribution across 3 areas:
nrGIV and hours worked - 70%
Praise rewards - 25%
SourceCred - 5%
nrgiv and Hours Worked
For this, we’ll look at two data sources: the number of consecutive nrGIV distributions received and the amount of hours you worked according to your role proposal.
The number of consecutive nrGIV distributions you were minted nrGIV for will be factored in. If you weren’t eligible and didn’t receive nrGIV then this counter is reset to 0. Since the vesting implications of nrGIV weren’t explained from the start we will exceptionally allow eligible contributors to create votes to claim retroactive nrGIV (even they could request 1 nrGIV just as a placeholder) for a 1 month period. The final “score” amount from consecutive nrGIV distributions could have a multiplication factor applied to it if we would choose to value it more than hours worked.
The amount of hours currently working will be factored in as well. We will take the average weekly hours contributors report on their role proposal (making having a role proposal a requirement) and sort them into 5 tiers:
Tier 5 - GIVaholic = >40
Tier 4 - Full Time = 30-40
Tier 3 -Part time = 18-30
Tier 2 - Part part time = 7-18
Tier 1 - Casual = 1-7 hours
We can also apply a multiplication factor to the tier number here should we want to value hours worked greater or lesser than nrGIV distros (suggest x1-1.5)
This will give a final score for each contributor, we divide each contributor’s score against the sum of all scores to find their share percentage, we apply this to the amount of GIV earmarked for this section to be distributed quarterly as part of the future contributor vesting.
For Q1, the pending distro will be a bit tricky but digging through hours billed from general magic and work agreements we can find some rough numbers and negotiate 1:1 with eligible contributors if need be. Subsequent distributions we should be able to rely on role proposals.
Originally we had a hope for a Coordinape style approach, but concerns were mentioned over the admin overhead and the social implications associated with everyone giving everyone else a “score” on a monthly basis. Why try to implement something new when we’ve been collecting TONS of subjective data on a weekly basis. Let’s work with the abundance of data we have already, praise! We can earmark 25% of the future contributors quarterly vesting amounts to go out as praise, potentially beginning retroactively from:
When “Giveth 2” development started
When praise started in Giveth
From the Retroactive GIVbacks start date (~Feb 20, 2021).
Whatever we decide, when we have the reward system installed (mid/end of Q3) we can begin retroactive quantifications using the GIV vested to send out.
This can be easily integrated with the reward system but will need a bit of work to bring back up to date, I wouldn’t want to weigh too much the data here so I suggest we give it a modest 5% of the distro, looking at active repos from the beginning of development of “Giveth 2”. I think this is an important step to capture all the activity generated by developers and governauts inside of GitHub and the Forum.
Current Contributor or Future Contributor?
We’ll have to reconcile any gross differences between the current contributor and future contributor buckets . I would propose that if a current contributor would receive more or less than 10% than if they were calculated using the future contributor method then we would calculate that contributors vesting amount going forward as a future contributor. Current contributors will not receive rewards from Praise or SourceCred, however current contributors can also voluntarily opt into future contributor vesting, abandoning their current contributor vesting schedule.
Things to decide
Outside of changing the system fundamentally, we’ll have no shortage of things to debate, including:
Distribution percentages of future contributor vesting between:
consecutive nrGIV rounds and Hours Worked
Multiplication factor (if any) for Hours Worked vs. nrGIV rounds
Hours worked Tiers
Date of when to include retroactive Praise
Date of when to include active repos to SoureCred
Updating SourceCred weight configurations
Current contributor vs. future contributor vesting max variance %
FORK AND PLAY HERE
Looking forward to much advice and feedback! Let’s get this party started!
Well first off, much wow @mitch, such math and major praise for the clear and thoughtful proposal, and for the hangs to bounce it around so I really get where you’re coming from
OK you know me and magic numbers… did we plan that 11.11%, and either way it makes me like your math more
And on nomenclature:
Can you please provide a definition of “Current Contributors” and “Future Contributors” to clarify the distinction here in this post?
When we were setting this up in the beginning, the intention was to reward past contributors, incentivize current contributors to stick around, and save enough to be attractive for future contributors.
It’s getting unclear to me, the current to future delineation - are we speaking of future contributors as those currently contributing but without a role proposal? These “things to decide” are most interesting to those like me who may be considered on hiatus from an active role… it seems these parameters are the factors for determining who is a contributor and what type, yeah?
As an edge case from the past, currently dancing on the line of incentivization - I’m wondering how you can lure me over it into committing more hours for the future!
As I now understand it, those named as current contributors are individuals who:
1.) were contributing to Giveth at the time GIV was launched, and
2.) are recipients of nrGIV in the most recent distribution.
And everyone else who comes aboard post launch, upon completing a 3 month period and requesting/receiving nrGIV, will be rewarded as a Future Contributor.
I haven’t quite figured out how to look at this part. It’s taking a while, to go through role proposals and hour commitments and break it down to understand. But for an example, I see a role proposal with 100 hours monthly, so that would fall in the Tier 3, part time range right?
… and current contributors will not receive rewards from Praise or SourceCred… BUT, not all current contributors have a role proposal/ receive payment…
For now though we are only voting on the CV params, and this can continue, but beware I may end up crossing the <7 hour mark to math that hard
Praise Mitch (already ditch it on the praise channel, but I’ll probably do it again) for such a great spreadsheet to simulate vesting scenarios. I love the proposal and the calculations in general (I should also praise Carlos for this, right?).
In general I like it. Here is my input:
Distribution percentages of future contributor vesting between:
Consecutive nrGIV rounds and Hours Worked
I like the suggested percentages currently, maybe in the future it would be worth revisiting, once we see how effective is the praise mechanism assess qualitative value contribution
Multiplication factor (if any) for Hours Worked vs. nrGIV rounds
I played a bit with the factors and I have one concern. I consider that initially nrGIV rounds and Hours Worked are well balanced. But from the middle of vesting and beyond, the nrGIV rounds start weighing way more. I think this may create an incentive to contribute few hours every round rather than contributing with strong focus. I would suggest normalizing those columns. In other words, keep a scale 1-5 as in the tiers. For example if the max nrdistros in the current distro is 10, then 10=5, 9=4.5, 5=2.5, etc. I will add my fork to make it easier to understand.
Hours worked Tiers - Agree
Date of when to include retroactive Praise - I would say since implemented
Date of when to include active repos to SoureCred - I would say since implemented
Updating SourceCred weight configurations - Need more info to comment
Current contributor vs. future contributor vesting max variance % - This is a tricky one, I am not sure, but it feels like shouldn’t go over 20%
nice suggestion! I think this works out pretty well with the mods you made.
I forked your fork and corrected some mistakes in the cell math and also added a more exhaustive list of eligible vesting recipients for right now and also theoretically going into the future to see how diluted the distribution gets as our numbers grow.
I also wanted to address some issues brought up by @Danibelle IRL:
I would like to suggest we remove the requirement to have a role proposal and instead that contributor would simply have a 0 in their hours worked tier.
I would also think we could include people on the current contributors list to receive praise and sourecred rewards but only on the condition that nrGIV and Hours worked Distro receives >= 80% of the vesting distribution
I made some modifications to my spreadsheet above. The first thing is breaking down the $ value of praise distributions so we get a better idea of how much rewards would make sense to allocate to praise on a bi-weekly period. The second thing is adding a new mechanic to mitigate over distribution on the vesting schedule.
The new mechanic is to address the issue that while comparing a simulated list where 100% of the current contributors migrate to the future contributors list it could end up that some contributors would get anywhere from 2x to 20x what they normally would have received from current contributor vesting, this is due to the relatively small size of the contributor pool compared to the total amount of funds available (Q1 2022).
To mitigate this excessive amount of GIV sent out as vesting I would suggest that we keep the judged excess “sequestered” in the nrGIV, allowing us to keep some funds aside, for the moment, that we can allocate to bounty programs, including DeWork.
However, as our contributor pool grows we should hold back less GIV to vesting, in order to accomplish this I created a linear function so that for the greater number of contributors to receive vesting there are, the less amount of GIV we send to the nrGIV Treasury. The formula is:
I arrived at this by proposing this distribution to start (Q1 2022):
Praise - 10%
nrGIV Sequester - 50%
nrGIV and Hours worked - 40%
this takes into account that if we had 0 eligible contributors we would still have 10% of the vesting amount going to Praise Rewards. Using this vesting schedule anyone on the current contributor list still stands to make at least as much as they were promised, and we wouldn’t see any negative shift until we have over 40 eligible contributors.
Please Fork and Play and ask questions if you need!
*(Also bear in mind the numbers for each contributor, such as nrGIV and Hours Worked, are just estimations!)
Having discussed with @mateodaza in more depth about SourceCred I’m heavily inclined to cut it from scope, SourceCred the organization shut down about 3 months ago, this means their open-source software is no longer maintained. As we continue to use sourcecred it only threatens to become more buggy and give us more headaches the longer we keep using it. A lot of the current processes for setup and database maintenance are manual and would require a lot of bandwidth to bring back up to date and also to maintain as we have new contributors join Giveth. If somehow a SourceCred like solution appears or we find the dev bandwidth to hack our own solution then it could always be incorporated back into some sort of rewards calculation.
My Proposal Spec
Initial Vesting Distribution (Q1 2022):
Praise - 10%
nrGIV Sequester - 50%*
nrGIV and Hours worked - 40%*
Max variance (current contributor vs. future contributor schedule) - 20%
nrGIV Factor - 0.8
Hours worked factor - 1
Retroactive Praise - from implementation (March 2021)
Hours worked Tiers:
GIVaholic = 40+
Full Time = 30-40
Part time = 18-30
Part part time = 7-18
Casual = 1-7 hours
*These two will vary according to the formula I defined above depending on how many eligible contributors we have.
What do you think about this spec for contributor vesting?
Hey Mitch, I went into the spreadsheet and read a couple of times the post. But I am still not clear on how the nrGIVsequester% works. Can you provide a couple of examples to have it easier to understand
The examples are pretty well laid out in the multiple scenarios inside the spreadsheet, I changed some of the labels to make them more clear. However apart from that I’m not sure how to provide a clearer example of how it plays out but I can explain the math and the process again if it helps…
Basically we’re making a linear slope that determines for X amount of contributors we should withhold Y amount of vesting funds.
We take our initial two coordinates to determine the slope.
(0,90) and (19,50)
This says that if there are 0 contributors we withhold 90% of the vesting funds (with 10% going to Praise)
If there’s 19 contributors (19 nrGIV holders currently) then we withhold 50% of the vesting funds. I chose 50% based on what is currently promised on the current contributor schedule and what numbers seem most likely to get approval.
Using these two coordinates we determine our slope of:
We can then find the percentage of GIV withheld from vesting by this formula:
y = -2.105263158(#ofContributors) + 90
Where y is the % of GIV withheld.
We keep applying this formula for every distribution to find out how much GIV to send and how much to hold back in the nrGIV DAO.