So I've been thinking recently a lot about a certain topic.
And I came to the conclusion that I would like to share my thoughts with you.
Because: what good are these thoughts stuck in my head, right?
Now, this post is a bit longer and if you're not interested to read it all, let me give you the TL;DR:
Steem code review takes very high-level c++ skills & experience. I don't have that. Most other witnesses don't have that as well. My idea: let's create a witness fund to pay highly skilled 3rd-party developers, reviewing the code for us.
So let me start with this first question:
Should Witnesses handle everything themselves or focus only on the own Skills & Strengths?
What do I mean with that?
Well. One of the biggest topics in the recent time is about code review as a witness; the ability to look through source code changes regarding Steem.
This comes out of the logical statement: a witness (block-producer) should know what code his nodes are running.
If witnesses deploy Steem code which is buggy - well, that's bad. That's really, really bad for Steem.
So that means a witness must be able to be very well experienced with the source code & development of Steem, right? right?
Should I review code?
I asked myself that question and the initial answer was yes.
So I set up my own testnet, ran a few test, played around with the code, but I quickly realized:
This is serious shit.
I might have become pretty good with Javascript & Web Development over the last year, build a lot of projects with it for Steem, but that kind of high-level c++ programming: that is something much different.
If someone who is working day and night with the blockchain for 3 years isn't able to find a specific bug, then me, a complete c++ amateur, has no chance in hell to find that bug.
And I asked myself a another few serious questions:
- Can I become a blockchain developer?
- Do I want to become one?
- And most importantly: does it make sense for me to invest roughly a year into becoming a good enough c++ developer, for my skills to be relevant for code-review?
My answer to this was actually quite clear: No, it doesn't make sense.
Even though it tingles in my hands thinking about what ideas I want to implement into Steem, as someone who wants to put rational thoughts over emotional ones: it will take too much time.
My goal is to create amazing dApps (like SteemMonsters). I've built some cool stuff already (https://therealwolf.me/projects), but I wasn't as efficient as I could be since I learned Web Development & Co. from scratch over the last year. And starting all over again for c++? Nah.
Which pretty much sums up to this:
I'm able to give as much value as possible to Steem when focusing on my skills & strengths.
If not me - what's the alternative?
Since I've cleared up that I'm not able to do the code-review myself - who does it then?
Well, keep in mind that this somebody has to be very, very experienced with c++, otherwise, it won't make much sense (as I explained above)
So what I could do is to hire somebody who does the code-review for me. But at my current stadium of backup witness ranking - over 70% of my earnings are going directly into Hardware Costs.
And if you didn't know already - good developers are very expensive.
Now, don't get me wrong. If it comes to this, I will do it - I will hire somebody. But what if there is a better way?
Witness Development Fund for Code-Review
Logically, every witness needs to be able to cover this code-review, at least depending on how high the witness standards & c++ skills are.
So what if we would create a fund, where every witness that wants to participate, can pay a certain percentage - let's say 5% of the daily producer rewards.
And out of this fund, we can hire multiple c++ contract developers who are looking through the code changes (have to get experienced with Steem first of course).
This way, witnesses could focus on what they're actually good at (running their servers and bringing value to Steem with their skills - whether that is development, community leading/building or something else).
What do you think?
As I wrote in the beginning, these are just my thoughts. But I honestly feel much better now since I wrote these lines down.
I believe it is my obligation as a witness to be completely transparent about what I can deliver and what not.
Now with that said:
Please let me know your thoughts - I'm looking at you, fellow witnesses. I honestly believe it's very important that we take this seriously.
PS: If you'd like, check out my shiny new site: https://therealwolf.me
If you believe that I'm of value for Steem, then please vote for me as witness. You can also set me as a proxy and I'll vote on great witnesses for you. You can learn more about me and my witness infrastructure on therealwolf.me.