Possible next steps, small wins, improving project foundations

Grin Achilles’ heel.

Our Achilles’ heel is a lack of human resources: there is not enough manpower to build what we want to achieve.

Let me explain myself.

We’ve been trying to solve this by offering bounties and openly inviting people to join. Thanks to a bounty opened for the Atomic Swap feature, we ended up with a RFC that should be reviewed: Atomic Swaps. Also 2 Pull Requests: Atomic swaps by GeneFerneau · Pull Request #618 · mimblewimble/grin-wallet · GitHub and Changes for Atomic Swaps by GeneFerneau · Pull Request #3643 · mimblewimble/grin · GitHub.

These RFCs and PRs should be discussed, audited, reviewed and tested, we can’t just merge them, it doesn’t work like that and in order to move forward with these changes we need people.

We also have few more pending RFCs:

Manual confirmation of an incoming transaction
Multisignature Outputs
Multiple Named Wallets

These should be reviewed too, and then someone should write the code… but where?

One of our strengths is that we have two implementations of Grin, and I wish we could have more. But everything comes with a price tag attached and what is the price? simple: we need manpower. I hold the opinion that a RFC can be reviewed with no coding involved. However, it won’t be healthy for us right now to approve a RFC without having someone committed to implement the required changes, wallets should not be left behind RFCs. This is why we need more people involved.

Whether some people like it or not, no one owns Grin, no company, no person, no non-profit. That’s great, right? yes, but again, everything comes with a price tag attached. Since there is no ownership, there is no leadership, this is like the wild wild west of the open source projects. One of the greatest benefits of this is that this encourages true innovation by giving the opportunity to anyone of working on whatever the person feels it fits better for them. Anyone can just join, explore the project and work on things that they found themselves more productive.

How can then we have more contributors?

It is clear that we need manpower and some people will say: just pay them!, but I will respond: yes, but not yes. Yes, we should compensate our contributors, however, it doesn’t make any good to have a one-time contributor unless they’re working on specific things like security and/or cryptography. It is actually bad for Grin to keep promoting this idea that anyone will get paid for a few lines of code. Maybe this is not the explicit idea that we’re trying to transmit, but I think that’s the idea that people are understanding.

A Software is a living thing, you will never finish to write it, it changes, it evolves over time. There is always maintenance to do, little fixes here and there. Maintenance is one of the most boring and expensive things to do, and we’re not paying attention to that.

My opinion is that: yes we should offer bounties, but bounties shouldn’t be the only source of contributions. We need to build local communities and get involved in others. That’s the only way to solve this problem. There is no shortcut, and if we don’t start paying attention to this, this yellow project will just vanish when the last contributor leaves. At the end of the day, we are all human beings.

If you are reading this and asking yourself: how can I contribute? well, start doing stuff, if you’re a coder, fork the source code and get involved. If you’re a designer, just start designing stuff. If you’re a marketer, start creating content.

Small steps, big wins.

We discussed before about a Groundskeepers role. I am not sure if this request was approved, but I think we could benefit a lot from that work. If that role is finally approved, I suggest organizing the Post 5.0.0 wish list. Also, it would be nice if we find a way to get the RFCs reviewed, I guess this is something where the CC can help.

I suggest that we also start planning how are we going to do this and/or what we want to do from this list:

And finally… Let’s get involved.

12 Likes

I agree, people need to help produce useful stuff in whatever ways they can. I’d add that I hope we don’t attack each other. There were too many personal/group attacks for no good reasons. That’s an excellent way to drive talent away so we should avoid it at all cost. Being nice towards each other would already be a good first step and I think we did improve in this regard (although a bit late). So let’s keep assuming good intentions, especially from the community members that have been around for a long time. :v:

3 Likes

groundskeeper initiative was approved and stakervali and I are off and running to bring progress to various areas of the project. I think we all agree on the seriousness of bringing on developers. During the last Community meeting there were discussions about how to best approach developer onboarding and it was decided to begin contacting past developers who may have contributed or worked close to the project. I will continue to reach out in various forms for bringing new developers onto the project, perhaps for one time work deals like cryptography/security but I agree with what I believe is your point of emphasis: build a strong community and encourage developers to contribute. There is a lot of work to be done, and I appreciate your highlighting and diving into this issue.

3 Likes

In my opinion, each wishlist item requires its own topic. We can create a repo on github / grincc, create individual issues for each item and move discussion. We can tag the issues with categories such as critical | nice to have etc.

I agree that it is bad to transmit the message that those who contribute will get paid for every line of code or for every other little contribution for that matter.

We need working groups that are in the basis based on voluntary work. There are however many ways to insentivise community members to contribute and make the process fun.
E.g. win a Grin bounty with your awesome Grin video tutorials, win a meme contest, a wallpaper contest or general art contest with Grin or Grin goodies such as stickers, T-shirts, caps or others as bounties. Or how about having Grin Raspberry Pi nodes as bounty for helping to debug the node or wallet software?

All of the above examples have in common that there is an intensive, its fun and nice to contribute, but the incentive is from a financial point of view not comparable to hiring people. Personally I think this would be a great way to balance not ‘paying’ for every little contribution, while at the same time incentivizing and showing appreciation to community members work. I for one, would love a Grin T-shirt to wear to the many crypto events I visit and would feel motivate to do my part for the project, and I think I am alone in this :grin:

One way we could organize working groups is by giving tokens of appreciation as discussed above, as well as having dedicated key-base channels for working groups. One thing that we did not have in the past is a medium to have dedicated discussions as working group.
For the fun of it, find below a link to a post from 2019 when working groups were discussed as part of ‘the next step’ of Grin governance, it is a good read :point_down: :+1: :smiley::

Regarding the wish-list, it already is on github with some ranking, we could indeed link out to individual github’s as @stakerV suggested, so people can start thinking about them in more detail and convert these ideas in actionable proposals.

2 Likes