Author
Topic: Code that get's approved - Experiment (Read 291 times)

In the Bitshares client, could it be possible to have place for people to improve the Bitshares code. The user could submit the code to the community, community checks and verfies the code for errors, after approval the code is implementing into the next update.

They could get paid only if they find an error or bad code. The community could also decide on how much they get paid. There could be levels, level 1 small errors: get paid small amount. I'm just brainstorming.

so the problem is how do you verify if someone has checked the code...

Here is how: At the end of each line of code, there is a checkbox, green for ok, red for bad. With each line you can see how many people checked the code. Those that find the most mistakes get rewarded the most.

If you have checked over 100 lines of code that have no errors you get a small reward. If you find an error you get rewarded a lot more. Each "checker" adds to the value of the code. The more a line has been approved the less likely it contains errors.

Also, say 100 checkers have checked the box green, and then one checker comes along and sees an error. This checker gains 1 point of reputation, while the other 100 checkers lose 1 point of reputation. So if you lose a lot of reputation you could lose your status as a checker, since you probably aren't good at coding. Also, the first person to find the error get's the most pay and reputation, those that verify after his confirmed error get less pay, since he found it first. This way there is a race to find the first error.

Finally, if a line of code has been checked let's say over 5,000 times. This line of code will be declared 100% error free. Error free lines have the boxes removed/no more rewards for this line, this helps checkers go over newer lines of code.

This "Code Checking System" could also bring more developers to Bitshares as they would be attracted to getting paid to check code.... "I can get paid for checking code, what is bitshares,....very cool, let me look at this code.... oh one error here "

Also, later down the road, you could add the ability for a checker to add a line of code or change a line. And this line can get voted up or down by the other checkers. If your line get's approved over 1,000 times it get's added to the next update and you get paid for changing or adding the line.

This could be it's own DAC, or maybe part of the SuperDAC, but somehow contained within itself.

Ideas:

- Once an error is found, there needs to be a process of confirming that the error is indeed an error.- There should be different weights and distinctions to the kinds of errors- The error should be rewarded somehow factoring in (importance x elusiveness)- 'Finding an error' and 'proposing a fix' should be two separate events, which should be rewarded independently- Incentivize things that are beneficial to the code that aren't error-fixes, such as commenting, refactoring, simplifying, making more efficient

We could probably extend the functionality of Git to bootstrap development of this. GitShares?