Bounties for OCaml ecosystem issues

I look at bountysource.com and see that there are not that many OCaml ecosystem bounties offered recently. I would like to think aloud about what could be stopping people from getting paid for shipping OCaml ecosystem code.

Perhaps this is due to an awareness problem? I myself didn’t realize this was a resource until today, so hence this post.

The way bountysource.com works is if there’s an OCaml ecosystem GitHub issue that you want to see resolved, you can copy/paste that url into the https://bountysource.com/ search and offer a bounty on it.

Another problem might be a hangup on offering bounties?

I anticipate most people don’t offer bounties because they don’t want to be insulting by offering too little, but this is clearly irrational. The vast majority of GitHub issues have an implicit bounty on them already, they’re just not displayed: $0. Surely offering something should be better than nothing. I’d like to try, in the hope that it encourages more people to get paid for shipping OCaml code.

A third issue might be that it’s actually a little hard to search for Ocaml bounties? Perhaps we could normalize compiling them into a permanent megathread here?

What do people here think?

4 Likes

I think an auction system would be better than a bounty system. It would allow the market more flexibility to come to a price, instead of bounties just sitting and never getting claimed.

On a related note, what is the completion rate (or rather, success rate) of OCaml counties on Bountysource?

Maybe I’m just not doing it right, but going to bountysource and searching for “ocaml”, “OCaml” doesn’t yield any hits. Can you paste an example of an ocaml-related bounty ?

I’m in favor of markets! I understand people can increase their bounty, and others can join existing bounties to juice the pot. Is there a kind of market flexibility here that’s being missed?

Yeah, their search could use some work. I think it’s not quite smart enough to detect that you’re searching for GitHub projects that are predominantly ocaml code.

Here are my bounties:
https://www.bountysource.com/issues/37097694-google-compute-engine-vms-only-support-virtio-scsi-disk-devices
https://www.bountysource.com/issues/103418479-update-tls-certificates-in-running-server

Maybe it would be worth a script to scan all GitHub projects that involve OCaml code (>25%?) and then intersect their open issues to bounties listed at bountysource.com, then post the results here?

Ah, I see now! The trick is:

  1. use the top search box
  2. type in your search term
  3. hit return
  4. if it gives you a list of terms, then click on one
  5. hit return again
  6. observe the teal-green bar fill, left-to-right
  7. KEEP WAITING
  8. KEEP WAITING
  9. eventually, a list of projects will appear

I was just not patient enough. “ocaml” worked to produce a list.

2 Likes

Ah, I didn’t realize the bounty could be increased ‘in flight’. That might work.

On the whole though the UI and level of integration is kinda clunky and seems opaque and difficult to understand the connection between the bounty and the work. For example, if we look at the last OCaml team bounty: https://www.bountysource.com/issues/1250468-local-cache-of-binary-packages

The bounty was awarded but the linked issue has no mention of the work that was done: local cache of binary packages · Issue #629 · ocaml/opam · GitHub

In fact going by the issue it was basically closed as ‘wontfix’.

I think on the whole for a bounty system to work it would need to be transparent and auditable by the community. Otherwise it’s just people apparently moving some money around on some third-party platform.

Also apparently Bountysource gets to keep the whole pot if no one takes up the work?

1 Like

I agree that site is kind of underwhelming. It’d be nice if bountysource offered to at least post on your behalf to the issue that a bounty was offered, and then posted again when it was awarded.

There’s a browser plugin but it seems not ideal to require that for a good experience.

Are there better options?

Hmm, I missed that bit of fine print. Though it makes some sense on reflection; keeping bounties open in perpetuity is essentially just burning the money.

True but to me it makes more sense to refund the bounty pot to the contributors rather than for the platform to pocket it.

1 Like

I’m not beating up on this post, but I just feel it’s relevant to note that this bountysource thing is associated with “Blockchain Group”. Those who wish to draw moral judgments, should feel free to do so.

1 Like

I do not feel beaten up :slight_smile:

What’s a better way to do bounties? I thought bounties for code would surely be a solved problem in 2021 but it is still controversial.

I also wouldn’t necessarily dismiss connections to cryptocurrencies; people who want to claim your bounty may not live in the same country as you, and doing international money transfers can be frustrating (though transferwise.com exists and maybe it’s all fine now). Though I agree with your healthy skepticism.

I’m not against the concept but the execution is very difficult. It’s difficult to earn trust in a community and very easy to lose it, especially when it comes to money. There just may not be anyone who’s executing correctly here. The only people I can think of, off the top of my head, who have built up in the FLOSS community, are the Software Freedom Conservancy. And they don’t operate in terms of bounties, although they allow donating to a specific project.

I don’t think we should discuss that here, b/c a discussion of cryptocurrencies & blockchain would be off-topic for this discussion forum.

At some point bountysource got bought over or something like that. And they announced that old bounties unclaimed would be lost (even tho I paid for the bounty to not expire…) So I’ve just given the money to a young person of the community even though the issue hasn’t been fixed.

Ahrefs (and I personally too) have open multiple bounties. We tried to advertise them. But it’s basically a 0% success rate. It’s very complicated to find people to work on the tasks. And I’m not convinced that the issue is with the platform.

5 Likes

Bountysource is very underwhelming to me and their fees are pretty steep. It also doesn’t help that most of the bounties are complete lowballs. I doubt a $100 reward is enough to motivate most open source developers to fix an issue that’s been open for years.

1 Like

Were the execution of a marketplace like bountysource a lot better, I think it would gain some traction. However, I think the idea of working for bounties is still going to be fundamentally unattractive to most people. One may have to spend a lot of time chasing a bounty, and this is hard to justify when a potential outcome is that you simply fail without compensation.

2 Likes

Adding some points I didn’t have time to write previously.

In a meeting of the OCSF it was mentioned that a platform to list tasks and compensations would be nice. I don’t remember the details. But it might be an easy and obvious way to do at least the advertisement part of a job offer. The payment side would have to be handled privately by the company/sponsor and the dev.

Bountrysource is full of quirks but it has one big advantage. It is more or less the industry standard. Which means that someone looking for a bounty would probably look at bountysource before to look elsewhere. Or at least it was the case of few years ago, it might now be upwork.

1 Like

While I don’t think Bountysource is the right venue (not very visible, poor implementation, bad policies), I think we really need a way to pool money together towards specific bug fixes or improvements. I’m surprised that there’s so little available to do that.

GitHub Sponsors is a step in the right direction (being highly visible, directly on GitHub) but it’s more like Patreon, monthly subscriptions to projects or users. I wouldn’t “subscribe” to a project in hope of a specific bug fix, but there’s been countless times I would’ve thrown $10, $20 or even $100 into a pot though. Sure beats just clicking “:+1:” towards getting it fixed. :wink:

If GitHub itself added one-time contributions towards issues, with a clear policy about conditions to meet for awarding vs refunding, it would be a heck of a lot more visible and inviting than Bountysource, which I keep forgetting even exists… I’m not sure why they aren’t already doing that.

4 Likes

OpenCollective seems like a very neat way for communities to pool resources for this kind of thing (and keep the expenditures accountable). I’ve contacts in cooperatives who have used them happily: https://opencollective.com/

3 Likes

I definitely agree with opencollective or liberapay for gathering the funds.

If GitHub itself added one-time contributions towards issues, with a clear policy about conditions to meet for awarding vs refunding

I think if someone simply drafted such a policy in a github gist or google document, and a bunch of ocaml projects linked to the policy and linked to an opencollective for ocaml bounties, that would be good enough.

2 Likes

Good enough, sure, but this is not trivial to set up for developers and requires explicit involvement. If GitHub did something directly, it could be as simple as checking a checkbox in the project’s settings (much like enabling issues themselves), maybe enabled by default. Users would see the feature uniformly on lots of projects and it would gain public acceptance much quicker than with every project doing its own thing, for the handful that bother setting something up at all.

As a developer I’d appreciate not having to think about this until actually receiving my first bounty offer.

1 Like