How about providing bounties instead of paid contributors?

Hey @minions,

What do you think about providing bounties for contributors, instead of a fixed salary to one person?

Something like this, or what Ubuntu and other big open source projects tend to do:
https://www.bountysource.com/teams/neovim

This can then get us more contributors, and also avoid us putting too much effort on one enthusiastic developer (but not team member). It would also help these developers sort of gain a stream of income, and be motivated to contribute to Dgraph on a continuous basis.

Advice, @minions?

Cheers,
Manish

1 Like

That neovim link above looks like a fundraising campaign to me.

Would these bounties be similar to paying a fixed amount per feature?

Yeah, it’s a fundraiser, but these funds then would be given for bounties.

Some fixed amount per feature, where the amount would be different per feature.

Bounties have been very popular in the open source world, for decades. And I think they can help us here.

1 Like

I like the idea of providing a bounty. Its transparent as anyone who can come up with a solution/fix can claim it.

1 Like

Would also help with increasing our contributor count, which has it’s benefits in adding to the authenticity of the project (along with Github stars).

1 Like

The idea of using bounties to compensate contributors is intriguing. These are quite popular and very successfully used by Google, FB, MS and others especially when looking for vulnerabilities in product. Less familiar with bounties being used to develop features, functionality, or even fix bugs but I can see the appeal.

I think bounties would work better if we have a few from time to time rather than have more than a couple of them run simultaneously. So not everything we need from contributors may lend itself to be done via bounties. Which is why I’m less sure about bounties completely replacing the need for paid contributors.

Could we come up with some concrete examples of what might make sense for a bounty and estimate the bounty we should have? One area I feel we could try to get help via a bounty is adding more GraphQL feature support, which we’ve spread over several releases.

Bounties for security vulnerabilities are definitely quite publicized. Particularly, when people get thousands of dollars from Facebook if they find some really bad ones. But note that these big ones are not open source, so they are restricted to vulnerabilities only.

Bounties for features are common too. Check out the link I shared above, for Neovim. It’s in early dev stage, and they are using the money for feature development. Ubuntu and others are similar.

https://wiki.ubuntu.com/BountyProposals

We already decided not to spend time on part time contributors due to the amount of training required, so no interns, etc. This would be a good middle ground where we can get external people to contribute, without spending too much time in training them.

We can start with our existing v0.4 help list and see how that goes, before we look for help in the most core part of Dgraph.

Btw, Jeff Atwood’s post on Bounties:
https://blog.codinghorror.com/given-enough-money-all-bugs-are-shallow/


Update: Based on Jeff’s post, providing money for development can also attract wrong kind of people. They’re more willing to fight with you to accept their change because they only get money when they get accepted.

This is something I’ve also seen happening in Question Answering services like Mahalo. That’s why Quora stayed away from providing any monetary incentives to the best answers.

This is something we’ll have to figure out if we want to go down this path. One way to probably tackle this is to have only one person work on one task at a time, and only if they fail to achieve the results in a given time, does the task get reassigned. Also, we can ask the contributors to explain their general approach on discuss, before we okay them to do the task. But, once assigned, the contributor is sure to get the bounty and hence can put in more effort towards a successful completion of the task.


Update

Opening this up for Users category, to see if our users have any advice / suggestions in this regard.

1 Like

Mutex-ing a bug/bounty adds a bit of order to the proceedings and leads to a very interesting CS problem :slight_smile: . So we have 1 core, and we want to assign it the process which will release it at the earliest (defined as solving the bug). You want to come up with “nice” value for each of the bounty-hunters to resolve contention ?

I think it’s more like a come first lock first, and lock only one thing at a time. We only evict if it takes too long.

Here’s a bright idea. How about we use Github issues?

And just mark the issue as a “bounty”. Mention what the bounty is, and just pay in Bitcoins.

1 Like

Sounds good.

Along with this,we can mention a general procedure to be followed. That is ,discuss the issue and come up with a preliminary design before the issue gets assigned to someone.

1 Like

We should also have some way to make sure they are serious and finish the task that they have been assigned. Like a scoring system which assigns positive score if a task is completed successfully and negative score if they miss the milestone, just like we have trello scores and if the score goes below some negative value, they can’t take up any more tasks for sometime.

First things first, this will require tracking features in Github Issues.

I think we should experiment with it and start with one or at most two bounties. See how it goes and then decide to roll it out more broadly.

1 Like

Hello everyone,
I am very excited about the bounty system. Any alternate mode of payments apart from bitcoins?

We can’t completely automate this assignment process just yet. So, we can start with talking to the contributors who are interested and manually assigning the issue to the right person; and over time figure out how to automate some of this stuff.

That’s the easiest for us to implement. We can also do bank transfer within the US. But, international transfers get complicated. What do you have in mind?

The problem with bitcoin is Indian regulations are not exactly known. I cannot use it directly everywhere in India. Converting it may be complicated. I am not sure. International transfers can be tricky. Maybe use paypal?

@sreeramb93:
https://www.unocoin.com/
Would this work?

The conversion rate seems really bad

Buying

BTC:  1
 INR: 37687
 Fee: 377
 Tax: 57
 Total: 38121

Selling

BTC:    1
 INR:    36945
 Fee:    369
 Tax:    55
 Total:   36521

So one almost loses 5% in a transaction

That’s assuming you are both buying and selling. You only need to sell in India, not buy.

The right way to check this, is to convert to BTC from USD, and those to INR. And then USD to INR, using usual means.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.