In another thread about ZOMG grant decisions I made the point that all grants funded by ZOMG this winter make up a small fraction of a single month’s (ZOMG share) of the dev fund. And that while ZOMG is doing a great job of diligence, I want to live in a world where, at least temporarily, they’re prioritizing writing checks to worthy recipients rather than ensuring that every penny of funding is spent in the most optimal way.
This is not a criticism of ZOMG, but rather a proposal for the community to tell them how to operate going forward. I want to explain my reasoning here and see if the community is on board with this approach. So here goes:
A basic problem Zcash has is that it’s hard to get developers to join us and stay with us. Some of this is due to lack of features in the core protocol (it’s hard to get consensus upgrades onto the roadmap) but another part is that Zcash governance discussions are cordial, reasoned and absolutely interminable. I know there were people who left the community rather than stick around and wait for us to make a decision on funding.
In the face of this, ZOMG is one of the best tools in our bench. We need to encourage the excellent developers we have in our community, and we need to bring new developers into it. ZOMG has the budget and the nominal authority to write a whole bunch of checks and make things happen. Done right, this could create a virtuous cycle where money granted begets more and more exciting applications and so on. This obviously can’t go on forever. At some point we’ll hit a limit where funds have to be allocated more carefully. But I think that point is a ways out right now, and as long as ZOMG doesn’t allocate more dev fund than they receive over the next few months, we’ll have plenty of time to change course.
But a problem right now is that ZOMG quite rightly don’t feel comfortable just giving out money to worthy participants. Like any responsible grant review committee they’re being prudent, asking applicants to change course and trying to avoid duplicate work and inefficiency. If I was in their shoes I would probably do the same thing.
What I’m asking for in this thread is for the community to give ZOMG its permission to put some serious spending out there for the very near future. This does not mean wasting money, and it doesn’t mean investing in random unrelated projects. It just means being optimistic about funding projects that are plausible, and doing so generously and without major conditions. It may even mean writing up some RFPs for things that they would like to fund (I have a big list) and being willing to take some risks on the proposals they get. Basically: establishing that Zcash welcomes contributors.
I may be alone in my feelings on this, but I think Zcash development could benefit from a more aggressive spending approach right now, and I want ZOMG to hear from the community how we feel about that. What do you think?
I want ZOMG to keep rejecting unrelated projects which don’t add value to Zcash (whether its marketing or software) but enthusiastically fund good developers who are proven & known to build stuff. Except the recent conversation on Aditya’s grant proposal. Are there other projects that could’ve been approved but were denied?? I agreed with most of grant decisions & reasonings, though I didn’t go through each one of them.
Please publish it It increases scope for developers & Zcash.
Let’s properly account for the trust that @adityapk00 has earned. Treating zecwallet in the same way as a proposal from someone without his track record is a mistake. They’re not equivalent, there’s no good reason to treat them as such. (And yes I am aware that zecwallet is not without issues.)
Personally I’d like to see all of @adityapk00 's requests funded according to his requests, and I’d like to know if he has other projects he’d like to have funded beyond the two proposed.
Finally, as far as I can tell, the ZOMG is doing a great job. I don’t think of their response to Aditya’s requests are fundamentally wrong (though I disagree with the details), rather I see it as a learning process.
If we’re not right now currently with the ZOMG and zecwallet, and whatever other experiments we’re running allowing a lot of latitude for learning by trial and error… then we’re doing it wrong. (I think I am more-or-less quoting Aditya here, I am simply asserting that the same mentality should be applied to the ZOMGs processes.)
I agree with this. In particular the committee probably really didn’t need to ask Aditya to show a breakdown of his server expenses. He has said he is running experiments to figure out what works and has a good track record. Give him the runway to make it happen. This doesn’t mean the committee shouldn’t ask the grant recipient to make the project benefit the community as much as possible. Just more focus on adding features and security improvements to zecwallet, and don’t worry too much about the AWS bills for now. If I were on the ZOMG, I wouldn’t have cared about the bill so much as I probably would have paid Aditya to write up a blog post on what he has learned from his experiments, for the broader benefit of other wallet builders.
So, my interpretation of ‘go, go, go’ is that once the ZOMG has picked out good grant projects, then don’t worry too much about overspending. But I do hope they continue to reject the less promising/relevant projects.
This is pretty much in line with my thinking and why I have been trying to actively promote “Hey get involved in Zcash because there’s funding” on social media, though I don’t have a large audience. We could do more to promote the fact that there is funding and make it easier to lead the developers to do the work that this community needs, rather than wait for someone to come to us with an idea to fund. Spot on.
At the moment, ZOMG will not be effective, and, in principle, it will not be any further either, as I said at the time of the idea of creating this fund and a sketch of how it would work, I said that this idea is bad and the fund would have done better, and this is not because ZOMG members work worse but because this whole idea cannot work in the real world. 1) Long-term grants are subject to a strong risk of waste (for example, the grant includes the purchase of expensive equipment and support for 2 years, where is the guarantee that after the first month a person will abandon the idea and keep all the equipment for himself?)
2) There is no search for the best offer, I have already said in detail that sitting and waiting is not an option, but looking for the best requires a lot of effort that ZOMG does not have.
3) There is no own capacity, as already mentioned, the fault tolerance of at least one direction should be on the shoulders of the organization that supports the project (we have 2 of them, but an outsider is engaged in the most popular wallet), what will happen when he stops doing this?
4) Disputes and inconsistencies in the main projects, it is easier for 2 organizations to agree, but also difficult, and for three it is almost impossible.
5) There is no development strategy, just giving money for improvements that may be incompatible with the main network in half a year is not correct.
A clear development cycle is needed, let there be 2 of them, but agreed, but what is happening now is just money down the drain, because there is no long-term support for the infrastructure, well, they made new functionality, and what’s next, no guarantees for long-term support, no obligations, normal business does not work, and not because they did not guess, but because it is not effective and leads to bankruptcy. Sponsor the ECC and the fund, and experiments can be carried out on the rest of it, it is clear that it is impossible, change the condition. In this regard, at least part of the money will bring long-term benefits.
When working with money, you need an agreement with clear conditions, everything is like an adult, you need lawyers and money for legal costs, which means you cannot work blindly around the world, which greatly limits your search, or open branches around the world, which is expensive, which means you need to work like everything in the real world where there was a natural selection of fit for business.
Allowing him full autonomy to work as he sees fit?
I believe that is is the course of action that is most likely to generate the best outcomes. @adityapk00 understands the problem space at least as well as anyone, he’s trustworthy.
Let’s get behind him as a community and provide the maximum support he can handle!
So how about @ZcashGrants replies to his proposals with a counter offer of stable-and-significant support for as long as possible?
Obviously, it’s entirely possible he doesn’t want that kind of funding… but why not put him “in the driver’s seat”?
Delegate some of the considerable responsibility of the @ZcashGrants ? Let him decide.
Man, this is a pile of extremely thoughtful comments.
I’m really encouraged that people agree with our rejections so far.
@zancas — let’s try to discuss the Zecwallet question on that thread, so we have it all in one place, but just for the general arguments being made here I have some thoughts:
One of my first thoughts when reading the Zecwallet proposal was that Aditya was asking for too little money, and too short a funding period. Another impression I had was that he was spread thin across a very large maintenance burden (6 platforms!) which could make forward progress on features or security difficult without increasing the team size significantly. I trust him based on his track record, but also I might be helping him by pointing out these things and starting some discussion about it. If he’s really set on operating without any of this kind of discussion, that’s unusual and probably suboptimal but not out of the question if he’s set on operating that way.
One interesting thing here is that, in my experience, money that isn’t coming directly from customers (like tax money, or grant money) can create distortions.
One example would be if we imposed burdensome requirements that slowed down a project.
But another example would be that if we didn’t ask enough questions, and encouraged a project to go down an unsustainable path.
I think there’s a way to get this wrong on both sides, so my starting point will always be to ask questions and attempt to deeply understand what I’m funding before sending money.
I completely agree with you on all points, especially that a lot of money was requested for this work, I believe that for these amounts it is quite possible to hire a person to the staff on a permanent basis, as well as to purchase equipment on the balance of the enterprise for long-term use (over 2 years ).
A balance is needed between employees and employees in the state on an ongoing basis, the question is whether it is possible to do this or not in the current conditions, and whether with this approach the entire developed ecosystem is trapped by contractors who, in the absence of an alternative, will demand as much as they want ?
@anton1 — I was actually just adding this to my comment above when I saw your new post.
I think your pessimism in your comment above is extremely valid and valuable here. There truly aren’t many examples in the real world of something like ZOMG working. Usually you need hierarchical organizations with a mission and organic/intrinsic incentives like customers.
The one example where this does work is in small local governments. Roads, parks, and schools do get built and maintained, and in some places (I think, places where the population is empowered and engaged, and capable people are drawn to public service) cities and towns do a very good job of these things.
I think the thing that makes this work is that long-term structures with clear missions and professional staff grow up under the oversight of a a democratically-elected funding body.
So thinking about the kind of structures we’re building with our funding (rather than just funding a series of one-offs, especially for our larger grants) is likely to help.
I don’t think that one-time work in construction and in IT with long-term support is the same thing, the work can be done (create a wallet from scratch), but this does not mean that it will work, it needs to be maintained and constantly updated, in this case it is not even possible in theory, that’s why my funding concerns were written, and why is everyone always saying they’re pessimistic? If I point out probable problems in the future, this is not pessimism, but an option that must be avoided if no one will do something without pointing out the problem. Regarding the wallet (and, in principle, all financing work should be done differently), namely, You can sponsor the project that will later receive support, for example, ZF or ECC will charge for it, or the wallet is already supporting other projects and will work in any case, which means a small monthly fee for its maintenance guarantees its performance.
I cannot think of a single project in IT that would require a one-time payment and turnkey work forever, so each project must go to support in the ecosystem and have a fail-safe mechanism, which cannot be working with a lot of third-party organizations, so before it’s too late you need to calculate risks and I think that you need to work differently.
A simple example, you have the source code for the wallet (open source project), the developer did not further put forward a proposal for the grand, what actions does ZOMG have? What happens if vulnerability is found and you need to quickly prepare an update, how to expand the functionality and release scheduled updates?
I am not whipping up negativity, I just do not understand how it should work in theory, just in my analysis it cannot work at least somehow effectively, and that is why this is not in the form of examples elsewhere.
Yes, you understand everything correctly, if the translator does not let me down.
The zcash protocol is developing, and it is not possible to make a product that supports it completely ready, so that a minimum of effort and money would be spent on maintenance. Just funding the initial effort that will not be 100% supported in the event of a failure and protocol change is, in my opinion, pointless.
Working with third-party organizations is fraught with high risks of getting something that you didn’t want or not getting it at all (deception), besides, if you depend heavily on this, you can get in excess of the cost of performing minor work because you will not be able to quickly change it. This also applies to a fault-tolerant mechanism, and the developer may not want or will not be able to continue working, as well as the lack of sufficient security testing may be fraught with risks of deliberate sabotage (loss of funds by users). You can talk endlessly about this, one thing is important, we have money for such a scheme and there are contractors who do not work in IT.
Without a staff of employees who can test the product before implementation, the organization simply cannot work like that in the real world, and if there is a problem, then employees are again needed to solve it, just imagine that the leading IT companies are a team of 5 people with a lot of money, is it unimaginable? If there is money, then employees are hired and the company develops according to the classic scenario, know who does what and what will happen to him in case of success / failure. And you can blind a golem by giving all parts of the infrastructure to different people, but it won’t work.
I’m just asking you to clarify how the ZOMG members understand this should work. Now there are several funded projects for a certain period of support, will the support continue after the expiration of the deadlines, who will follow the pricing and accounting (you need to calculate how much will be spent on monthly maintenance of already approved projects), there are also risks of refusal or errors, what to do with them, will there be claims in court? In my opinion, there is too much of a gap and there is no gain over the classic enterprise scheme.
One problem I’ve observed in the past when I worked for a group that was grant-funded was continuity of operations. Our group would apply for a grant, do the work, and then move on to another grant, but there was no structure that promoted long-term maintenance of the work that had been produced.
Software is never complete - or rather, it’s only complete once nobody is using it. As long as a piece of software has a user base, it must continually evolve to meet changing needs, or it will become useless. As such, I’m wondering how ZOMG could structure grants in such a way that long-term support and maintenance of infrastructure is considered.
One possibility that occurs to me is that ZOMG has an advantage in that the (software, but hopefully other) projects that they’re funding are open-source. What if the ZOMG were to allocate pools of funding for the next 4 years to open-source projects in such a way that that funding could be made available on an incremental basis to whoever is performing the work on those projects? The interesting thing here would be if these pools were guaranteed to be spent in a way that produces a competitive market for performing the work.
Here’s a kind of crazy idea for how ZOMG might want to allocate part of its investment portfolio: I’m thinking of something like incremental Gicoin Grants-style matching rounds, but instead of grants for future work, the grant would go to reward the work that was observably performed in the last time interval. ZOMG says “we’re going to allocate $X per month to development on project Y.” Then, at the end of each month, or maybe each quarter, each contributor to project Y writes up a “grant application” citing the work that they performed & had merged during that period. Then, community matching donations are used to “vote” on how that period’s pool of funds is distributed among the people who actually did the work. Those people could be independent actors, or people working in groups and distributing whatever funds they received for the work however they want internally.
Practically impracticable, provided that if one grand is not financed, then the whole chain breaks. The whole idea with grants was conceived as pay and forget, now it became clear that this does not work that way, so I think this approach is not working.
In theory, you can think of it, but in practice it will not work.
What do you mean by “one grant is not financed”? The fact that ZOMG would guarantee their matching portion (which I would expect to be the dominant portion) of the grant for every period is a core part of the idea.
A simpler way to describe this idea is to say that ZOMG would be putting an ongoing bounty on project Y development, using quadratic funding to decide what addition of functionality was rewarded in each funding period.
It is an interesting idea and one that done properly might better correlate the amount paid with value received. I have 2 major concerns:
It will create a strong disincentive for applicants without any meaningful amount of savings. There are many skilled developers in the world that still have limited financial resources for various reasons. I dont want to exclude those that cannot wait until the “end of each month, or maybe each quarter” to get paid.
How much time will be involved in writing the reports. Will we accidentally incentive the people that are best at documentation and writing over the people that produce the best work and give little attention to the required reports?