[Passed] Grant for NSR buyback and PPC reserve operation calculator


hash 87b0a95d87f3a1194ac51bcc0291bd135a2d06c7

tldr; Instead of giving up maintaining the NSR buyback and PPC reserve operation calculator because there is too much work and too little fun, I think why not ask for a grant and let the shareholders see the need to pay for Nu automation, and maybe thereby inspire a lot of other development and improvement.

BFRhngri9DLUnatcnhSJrZDk5J7u3Mhu5H , 440 NBT

Back in January @masterOfDisaster started the NSR buyback calculation thread and did manual calculation for several weeks. What it takes to do the calculation is to first understand what all the Nu liquidity fund components are and where to get the latest values, then get them from various sources, and do the calculation after understanding details like what percentage of which fund should be counted for what etc.

For reason I fully understand now @masterOfDisaster decided to end his free service. I thought then a one-off script could solve the problem for good, and for free.

As it turned out, after my calculator script was setup, which took on and off 6 - 8 hours, I find that buyback calculation not only takes running/posting once during the weekend, but also demands constant attention and action to changes in parameters and formulas in operations.

Except for the simplest changes such as updating the value and format of a parameter, most changes took longer than anticipated because they entailed detailed understanding the underlying rule change, adding new calculation, often with refactoring, and verification. All changes need to be documented. In last weeken I spent ~12 hours to make v0.7 right, which at times felt like a beast to kill because of the complexity and subtleties in relevant motions. I am sure more experienced developers can do it faster but for me this tips the balance.

I decide not to keep maintaining the calculator for free. To quote moD

I don’t write so much only about a calculator though. I hope this proposal will make shareholders see better the need to invest in Nu automation.

Nu can cut cost greatly by automating routine manual jobs. I believe this is critical for Nu’s scalability and long-term survival.

For example FLOT operations can be simplified by automatically generating sign’able tx to feed the gateways directly, based on current liquidity conditions. This should reduce recurring cost of FLOT by reducing their task to rubber-stamping in most cases where we already have the rules, not unlike B&C signers.

Other automation examples include NSR buyback, NSR auction, T1+gateway liquidity report, improving ALP etc. Automating a task also increases transparency, reduces human error, and acts as a rigorous review of the rules.

But who will do the automation? As I probably will get paid less as a FLOT member if I automate FLOT tx generation, there is a tangible reason for me NOT to automate it. Even I want to volunteer for altruistic reason, volunteering can only go so far. I don’t look forward to losing a weekend days every time Nu has a liquidity evolution. I doubt how automating FLOT tx is doable as a volunteer project seeing how difficult to maintain the humble buyback calculator.

If developing and maintaining the automation tools are compensated, people will have incentives and assign these task a higher priority from “hobby project” to “obligation”.

So here is the deal, I am giving Nu 60% off of the starter rate of a software developer -

I would like nushare holders to compensate for the “NSR buyback and PPC reserve operation calculator” development at 20 NBT/hour for 22 hours up to v0.7 (see this and this output), which consists of 6 hours of initial development up to v0.3, and 9 weeks’ (Febuary 6 to April 4) total development time of 16 hours, for a total of 440 NBT. Upon receiving the payment I will opensource v0.7, and put the calculator on github. I will bug-fix v0.7 and go on with the weekly NSR buyback and PPC reserve ops calculation until two weeks after the voting of this grant starts, after which point I won’t do more abovementioned calculations until the payment is received.

By approving the grant above shareholders also agree to pay up to 140 NBT per month at 20 NBT per hour (the same average rate since the initial release (22-6)/9*4) for me to:
a) continue maintaining and improving the NSR buyback and PPC reserve operation calculator for 3 months, starting on the day when the grant or this motion is approved, whichever is later. The payment will be made a grant proposal at the end of the 3-month term.
b) perform the weekend calculation run and post the result free of charge.
c) do my best to inform the shareholders if my service is unavailable 48 hours in advance.

I will adjust the monthly rate for a possible renewal proposal for the next term based on work/time spent in this 3 month term.

If you support the proposal, please vote for

BFRhngri9DLUnatcnhSJrZDk5J7u3Mhu5H , 440 NBT

[Discontinued] Cybnate's Nu datafeed - BETA
[NEW] Cryptog's Nu data feeds - BETA
Dynamic data feeds
[NEW] Cryptog's Nu data feeds - BETA
How much revenue does Nu need? Service contractors please fill in info
[Voting] Payment for NSR Buyback and Reserve Operations Calculator for April-July, 2016
[Voting] Payment for NSR Buyback and Reserve Operations Calculator for April-July, 2016

You’re preaching to the choir if you ask me whether we should aim for more automation!
I can’t imagine running Nu soundly, let alone scaling up Nu without it.

I really appreciate your efforts and think your grant and motion are no-brainers with regard to whether to vote for it or not.

Thank you!

I’ve posted this link numerous times before, but it perfectly matches what this thread is about:


The open source bit is fine. The 140 monthly assumes a constant work load. Should shareholders concern themselves with how much work a given change to the buyback calculation would generate? We should pay you after the fact based on reported hours and say ‘work no more than 10 hours a month’.


One may find it more appropriate to have a one-time payment for developmental and exploration efforts and then divide the workload among NSR FLOT members in some way.


No, but they should be aware, that they need to cover those expenses.
Running a business creates expenses - the efforts to calculate buybacks manually or automatically being one of them.

Why do you think FLOT members are cheaper than mhps?


Not if we’re paying mhps a constant rate. If we are paying a constant rate then all we need to do is make sure the work we require doesn’t exceed the threshold of what @mhps is willing to do. How much under that threshold is irrelevant. That’s why I prefer to pay for services rendered rather than an ongoing expense: so shareholders actually have a feedback loop when deciding what protocol changes to make based on cost of implementation.


Because the NSR group is more idle than the NBT group, and the NSR-only members cost about 400 NBT in total. mhps is right to ask for extra but there are ways to fit this in to FLOT NSR duties. If they feel they’d be underpaid it’s their question to raise. Of course, I won’t mind raising the overall FLOT compensation if it is found justifiable.


A constant rate has risks for Nu as well as for @mhps - if the work is less than expected, good for @mhps; if it’s more, bad for @mhps!

What about leaving 1.) like it is and making 2.) a payment by FLOT up to x hours per month without further need to approve it.
From an administrative point of view, the conditions in 2.) should be part of the grant, because this way there’s no need to create and vote for a grant and a motion.
This way x hours per month at a rate of y USD/hour can be paid by FLOT for the services @mhps (or somebody else - just in case somebody else gets contracted, because @mhps is unavailable) provides for Nu.

If for whatever reason the required compensation exceeds what FLOT is entitled to pay, a grant is necessary and is under full control of NSR holders.

I’d rather not mingle one service with another.
If the NSR groups is more idle than e.g. the NBT group, the compensation for the NSR group should be lowered - or the compensation for more active groups should be raised; whatever seems appropriate.
I prefer keeping services distinct from each other where possible; makes it easier to keep an overview for responsibilities and performance and it reduces (potential) conflicts of interest.


Basically this. I can’t help but think that an average of the last couple months will not be indicative of future activity.


Well, then we can make it “up to z NBT per month” instead of “x hours per month” and the one who updates for the best price, can do it.
…only I don’t like that approach for reasons most of us know - it provides an incentive to do the job bad while fulfilling the requirements.


@masterOfDisaster is right. Asking for a constant pay rate implies that I will accept any workload spikes. It’s a significant consideration and I am not sure it is a good idea.
I only used past workload to calculate pay rate. It doesn’t mean I’d work the same number of hours per week in the future.

Right. There are much more to do in the future – the comprehensive liquidity model, new reserves, new currencies … Nu has just become able to stand on its feet by shareholders instead of by JL alone. Shareholders start to see endless possibilities to shape Nu and try to implement the ideas. The work will be endless.

Good idea. I put a motion there so that I can get paid at the end. But your idea has the same effect.

This would limit risk on both sides which I like. But the PM triangle cannot be cheated – there could be situation that work cannot be completed on time. I hope this is acceptable.

I will be glad if someone can post a competing proposal to take over maintaining and improving at a better price. This includes FLOT NSR if they can come to an agreement.

Note that some updating/improving work is easy and can be shared by anyone with some programming skill (e.g. JL’s BTC stash change), while some need keeping oneself updated of a thorough understanding of the full liquidity model and operation details. The later can take much more effort than most community members are willing to give as I observe. I certainly feel the per-month work is way more demanding than my BTC FLOT job.

I will adjust the monthly rate for a possible renewal proposal for the next term based on work/time spent in this 3 month term.


I have updated the proposal. Please let me know how it is.


As you know I’m not a great fan of this because of centralisation (FLOT operating as a foundation) and transparency. To maintain transparency to the Shareholder, it requires FLOT to produce monthly or quarterly overviews of their books. Did you check with the team whether they are good with that?
I would rather see a grant proposal after 3 months where you present your services to the Shareholders and justify the costs.

Governance, representatives, delegates

Producing report regularly is not a trivial thing to ask. I don’'t want to single out this one proposal of mine. I think a procedure needs to be defined among individuals who produce work, the FLOT, and the shareholders. Such procedure shouldn’t give too much discretion power to the FLOT, or burden shareholders with too many votings, or choke off contribution and innovation with too much bureaucracy. Maybe a dedicated thread should be open for this.

Anyway for this proposal, I am fine with being paid by a grant. Would you (and other shareholders) think this modification (bold) in 2a is good

The payment will be made by a grant proposal at the end of the 3-month term.


A few has tried, this is a topic with many questions and very few answers. It requires a certain consensus which will be difficult. That is why I asked in the first place when you presented this as payable by FLOT.

As said, I’m good with that hope it pleases other Shareholders too.


Modification applied to the OP. Any more comments and suggestions?


@cryptog , @crypto_coiner?


I see @cryptog liked PO. If there is no other comments I consider put the proposal on voting in 12 hrs.


I have added the B address and put the proposal on voting.


What about hashing it?
If @assistant is asleep you can use Daology to conveniently hash motions or grants.