Once upon a Grincoin (What can YOU do for Grin?")

Once upon a time, there was a Bitcoin donation, and that has made all the difference. When that first 50 BTC donation was made, it came with it (a little later), a prescribed use:

"Our motives are not economical! It’s about the technology and the protocol. Please put it to good use for the development of GRIN. You keep working as you did in the past […] This is what we are honouring right now with these donations so that you can work freely […] without economic dependencies.”

The question in the last few years: What is the spirit of “put it to good use for the development of GRIN,” and how do we safeguard it while maximizing its impact on advancing the protocol?

I definitely understand the council (both councils), have a general, but very real fiduciary responsibility to the donor(s) to carry out the intent above. So where are we now?

In my experience the last couple of years, the donation has been a source of debate, division, and arguably detriment, to the “development of GRIN.” This, contributing to many talented developers leaving due to in-fighting or otherwise feeling disenchanted with the paralysis of progress. We are an experimental e-currency with real-world people and responsibilities. How do we return to that core energy of innovation, excitement about the future, and incidentally attract new eyes and talent to the protocol?

Consider the following: More bounties, not less. I know this will be counter-intuitive to some, but done wisely, can lead to a boom of development and influx of the RIGHT attention.

  1. Let developers name their own contribution and amount of bounty.
  2. Enforce the necessary documentation alongside receipt of payment.

Perhaps I’m over-simplifying, but I feel this would re-establish the narrative “Ask not what GRIN can do for you; ask what you can do for GRIN.” Not all bounty requests would have to be approved, but I’d envsion something akin to the “bug bash,” where developers within the community and outside, would be able to showcase his or her talents. This of course would need stipulations, quality control, over several months etc.

  1. Must be consensus-compatible and approved by either council
  2. Might require a more liberal spending guideline, (perhaps a pre-allocated 10 BTC), but it would be an investment.

“What can YOU do for GRIN?” “Come see what all the fuss is about”

-Come take a look at the protocol!
-documents
-documents
-Got it? Have an idea? Show us what you got!
-template for submission
-timetable/expecations

I think this helps reverse the centralizing “We need this next for Grin!” which has seemed to stagnate developement by putting Grin in a bottle, and allows outside creativity exposure to flow inward.

Just an idea that I think flips the coin and has the ability to recapture the energy of innovation, while honoring the intent of "Not economical, but for the “technology and protocol.” Thanks for your consideration and time.

7 Likes

Hear, hear.

I agree with the idea of more bounties. IMO bounties should be small/accessible and especially focused on developing the ecosystem as well as bug bash challenges. Personally I would like to see more scripts that help people play with and understand Grin, preferably in Python.
A few examples:

  1. This thread, on locally serializing and de-serializing slatepacks:
    Decode Slatepack with CyberChef? - #10 by Trinitron
    This tool by J0ltz
    GitHub - j01tz/slatepack: Simple tool to experiment with Grin armored slates
    Such a script can be used for treasure hunts, puzzles, interactive airdops etc. Also great as education material, finally learn how slate-packs work.

  2. Similarly I am trying (and failing due to lack of time), to create a script to generate wallets based on any type of entropy. This is not only useful if you want for example to create your wallet on something custom, a sentence, number or for example a Shamir Secret, it is also useful as educational material since it teaches how wallet are generated in the first place

  3. How about an Open Source Grin Block explorer project so anyone can deploy a block explorer?This would be a great example to teach people how to build something on top of grin and grin++ (preferably compatible with both API’s).

To get people to develop on Grin, often they first need to tinker and play. Bug challenges and small tools are useful for that and I am in favor of creating bounties for them.

Probably we need a whole lot less than 10 BTC to begin with. Just to be clear, the spending guidelines on anything development has always been quite liberal. I think for a large part people are just hesitant to ask. They are maybe not aware that they can start their own project and their own bounty. So lets explicitly say it for a change:

“We welcome any project via funding request or self-suggested bounty.”

As long as you can explain why your project might have added value for the project overall, the community and the CC will consider it for funding. This can also include interesting experiments as long as there is proper argumentation for why it might be interesting.

Because it hard to go from nothing, to some of these “bounty projects”, I think we can start with formalizing a few bounties which people can request to be locked for them.
We can discuss these bounties here on the forum, list them officially on Github and reserve some (micro-)funds for them already.

I think anyone can already submit a funding request for anything they think of today.

I’m not sure the answer to this involves introducing financial incentives. If you look at gitter chat in 2017/2018, most of the people hanging there had no financial incentive whatsoever. They loved the idea and wanted to contribute to it.

Perhaps the question we have to answer first is what’s the goal of financially incentivizing people that are not a part of the community? Do we want to grow the community or do we only want bugs to be fixed? Ideally, we’d have both which means people using the software would spot bugs and fix them which happens to be the natural process of open source software contributions. The issue we have today, in my opinion, is that the number of people using the software is small. This can be seen also from the chain activity.

I’ll play a devil’s advocate for a bit. What if the financial incentive is the exact opposite of what we want to introduce and we’d instead want to optimize for minimizing this and try to answer the question of how do we get the right people to contribute without a financial incentive at all? I don’t think anyone that significantly contributed to the project and stayed around started because there was a financial incentive. And we had some of the brightest people contributing which could use their time to build projects paying them insane amounts, but they chose to help Grin instead without getting paid. I honestly believe protocol developers should be paid a salary if possible, but these will be very few. The question seems more, how do we reach the people with the contribution mentality of 2018? I think by contributing ourselves for free is a good start because this fosters new similar contributions. If you see others contributing for free, you’re more likely to do it yourself as well.

That said, I’m not against bounties, but would be careful not to give them for trivial tasks like bugs. This should come more natural in my opinion.

3 Likes

I agree, the bounties are more for Gamification and fun than that are truly a lucrative financially incentive. So having bounties for bugs is fine, but we are talking about micro-funds being used for that. I mean I would love to gt 42-100 Grin bounty for creating my script. Does that come in anyway close to my hourly rate… hell no :joy:
Having a bit more substantial bounties for things like creating a payment processor plugin or open source well document block explorer implementation would be fine for me though.

I’ll just reply generally to both of y’all’s replies since I am on phone. I understand that developers can submit their own bounties for approval; I guess when I’m imagining is something more organized over several months.

We would broadcast it across several communities, And try to attract new eyes and developers with an active campaign. I like 10 BTC because it’s an attractive number (alot of money).

The money wouldn’t get used of course unless the bounties of sufficient value were approved and completed.

I also wanted to add a general question for consideration:

What do you think is the expected timeframe the donors had in mind for the generous donations? Did they see a multi-year effort? A multi-decade presiding over the funds? Or was it meant as an immediate infusion to be used more quickly for development? Can grin ever be truly decentralized with the presence of such a (necessary) council(s)/structure?

It would be great to actually hear the perspective from any or all council members, or if there’s past discussion on it, please let me know.

I find it always quite dangerous to try to interpret others or put words in their mouth.
The original message was:

Just my interpretation, but the donor expresses that a) the donation is about the technology and protocol, b) “We saw your work and your ethics towards the project”, “You keep working as you did in the past.”. Meaning that the donor liked the way the project was managed until then, there was no request to change direction

My interpretation is that the donor was excited and focused on the technology. Apparently he agreed with the working ethos of that time and the ‘technocratic’ way of governance. Having a community council that funds groundskeepers, funds ecosystem projects and has small bounties for activities, is extending the spending beyond the technology and protocol level although with the objective of the overall well-being of the project. I do think however, we should not stretch to far away from what those donors intended the money to be used for, technological development. Hence, we only use some small part of the fund for administrative tasks, promotions and community activities…

I agree this would most certainly raise some attention and some eyebrows. I am not certain though that ‘wowing’ developers’ with our funds in the form of bounties is the right way. It is not secret that Grin has extensive funds that are available for any worthy funding request, so money has never been a real bottleneck. as far as I can judge. The right people are the bottleneck. Hence I think the most important thing is that we have a technologically interesting environment, with interesting people and interesting ideas that those ‘right people’ would like to participate in and contribute to. Having developers that care about a good pay is fine, but if they are not with their heart in it at al, they will most likely disappear as quickly as they came to the project.

In my opinion Grin has always been Decentralized, with technocratic/objective councils that listen to reason for any funding request.
Is that true decentralization…? I think it is the best kind of decentralization you can get while at the same time making sure spending is sensible. Lets say you would allow people to vote using any Telegram account, sure it would be more decentralized, but it most certainly would not lead to better decisions making. Probably many owners of Grin do not care about the long term goals of the project. A majority could easily vote to spend funds on FOMO functionalities and would vote to change the emission schedule to enrich themselves. For the same reason governments have representatives and expert who check proposals before changing policies or spending funds. Grin is no different.

The above is purely my own view and speculative. My contributions to the project have been time and knowledge and only some small funds.
I like your idea of starting some bounties and brainstorming again about bounties and functionalities we would like to have, as we have done in the past:

We can create some bounties to kick this off, see it here is interest. My expectation is that there is only a few people to take on such bounty projects, so a few bounties should be enough to get things going. Anyone is free to make suggestions for a bounty or request for a bounties themselves .

2 Likes

I thought about posting a small bounty myself for the slatepack decoder but decided you know what? I am the one who is interested in having it, there are only a handful of people around here who can help me and they either feel like it or don’t, so let’s just do it.

l don’t think bounties can helpfully attract people from outside the community, and if they do it is for the wrong reasons. Personal interest in the project must be the primary motivation, and then if taking care of their needs because they are sacrificing so much of their time is necessary that’s an ancillary factor to be dealt with administratively, not as incentive.

I am not totally against it but only if they are playful and carefree, think 100 grin or 1000 grin, not for work just for fun.

The real shortage is of small fun ideas that are achievable. And mostly I think everyone needs to settle down and get comfortable, this is us for now, start some off topic threads about your hobbies or something to tide us over through what might be a long winter. Get cozy, not hungry.

5 Likes

The answers I give are not “council” answers, it’s just my thoughts.

I don’t think the donor put any constraint on this. It’s a “I trust you’ll judge it best” timeline as far as I can tell.

From the message @Anynomous posted above, it seems the donor wanted to make sure those that already help the project can continue doing so without monetary concerns. So no speedup was implied, just continue with whatever it is you’re doing.

This is a good question and I’d argue it is decentralized even with this. I think what people often think council is and what it really is are two completely different things. Anyone can open a PR and explain what they’re solving and why. You just need people with enough knowledge/trust to guard the code for obvious reasons - because you need to keep software design on some good level and because there will be people trying to plant exploits (I’ve seen this in other projects). Anyone can join keybase and debate what ideas they had in mind. If people don’t answer, the idea is likely not interesting enough or it wasn’t presented in a clear way. Every council member I know is someone I’ve met in the Grin community by randomly communicating with them on public channels and sometimes in private. We mostly agree around the design, but we can have a different opinion and that’s good. The way I see the council is that it’s just a bunch of community members that have been around for some time. There is no obvious “structure” to it really. In the end, it’s really just a selected subset of the community discussing system design and we have no direct relation among each other at the moment - I’ve never met anyone in person.

Every software needs maintenance and you need a few people to review and take care of the system design. Blockchains, and especially Grin, are a special case of software where you really want to avoid bad design. The problem is that it’s really hard to tell whether X fits the design or not. I’d say a good metric would be how many of those that understand the protocol see the feature as fit for Grin. The same thing happens on Bitcoin. You have a bunch of people saying Bitcoin should absolutely do X and then there’s a bunch of drama around that, but in the end Bitcoin rarely introduces a significant change. The vast majority of “improvements” don’t end up being implemented. And that’s good in my opinion. We can now say “but Grin isn’t moving in development feature-wise”. Apart from PIBD, I agree, but we also have no good features to introduce on the protocol level in my opinion, at least not today.

I think the issue to stalling is somewhere else. How many people in the community that have been around for years tried to grasp the high-level working of the protocol? I’ve personally offered many times I can help anyone understand the protocol, they just have to ask questions on some public channel. Apart from some ad-hoc questions, nobody took me up on this offer. I think that’s the main issue today. It’s impossible to inject interest in technology by throwing money at people, it has to come from their own curiosity. It doesn’t have to be about protocol design, it can be making art, writing blogs, coding slatepack encoding/decoding or whatever, but the motivation for it has to come from the inside, rather than being monetary driven. I agree with @Trinitron , small value bounties can be cool to play around with and they can make things more exciting. Even better would be to somehow get people to join out community which appear on forum/keybase/telegram and start asking questions and want to get involved by helping in whatever way they can. The question is really, what are people that are involved today doing to help Grin? Are they trying to code, make art, write blogs etc. and why not? Delegating small tasks to others by spending donated money is not necessary a good idea and might further encourage being a lazy member of the community. I’d rather see 2 or 3 people decide they will draw some memes or art around Mimblewimble and Grin and have their own private hackathon and publish the results on the forum. We’d have more cool material like what @LovelyGrin was doing. Nothing is stopping people from contributing, they just have to do it.

3 Likes

Me and @davidtavarez have discussed this and are make an nice list of bite size bounties and code that can be use to play with and educate yourself about Grin.
The idea is to create something similar to
https://learnmeabitcoin.com/

which is really awesome for hands on learning about Bitcoin. Making something like that for Grin would be useful, both for those who develop code snippets since they learn how things work, as well as for those who want to educate themselves or reuse these code snippets for their own projects.
@davidtavarez will make a separate forum topic about this idea and details of the code snippets and their bounties somewhere tonight or tomorrow.

3 Likes