fsprojects / .github

The place to request for projects to be added or removed from the incubation space
28 stars 7 forks source link

Bounty Board for F# projects #12

Open Krzysztof-Cieslak opened 7 years ago

Krzysztof-Cieslak commented 7 years ago

During last Office Hours in FSSF Slack we've discussed the idea of promoting bounties as a model of monetizing OSS and getting more contributors to F# projects.

For those unfamiliar with bounty model here is basic workflow:

  1. I have a feature that would make my life easier (or bug that annoys me)
  2. I post announcement that this feature is backed by donation
  3. crowd could increase bounty
  4. devs monitor that board and grab it.

Few points, that are summing up discussion.

  1. The idea is not affiliated with FSSF as such, nor assumes FSSF putting any funds into it
  2. We would like to promote BountySource (or any other vendor providing similar service) as a common, "right" way to use by F# projects, so we can easily create more active community participating in both creating / funding bounties and contributing fixes so the bounties can be claimed
  3. We would like to have a common place (for example as part of fsrpojects webpage) where people can easily find available bounties.
  4. Bounties model focuses on particular issues, so shouldn't be mistaken with any reliable way of funding project or providing commercial support
Krzysztof-Cieslak commented 7 years ago

Some of my personal notes:

  1. The idea in principle is decent - I think it biggest advantage is increasing community awareness about services like BountySource and the fact that people can help projects they use this way.
  2. It's a way of bringing more contributors to the project, or rewarding current existing contributors - which is added value to project.
  3. It doesn't resolves the problem of undervalued and overproducing maintainers.... sometimes the biggest value that those people are bringing to project is not number of contributions, but rather bringing direction to the project, issues management, moderating discussions, merging PRs, etc... and this solution gives them 0 support.
ReedCopsey commented 7 years ago

In terms of @Krzysztof-Cieslak 's 3rd point, I'm not convinced Bounty Source is the right fit - or at least not the right fit as an only option. Patreon or OpenCollective or similar might be a better fit in many cases. Bounty source is great for funding a specific task, but even then, the discoverability is weak.

Perhaps instead of a a single platform, a "preferred platforms" with a page that links them all might work better?

mathias-brandewinder commented 7 years ago

I think the idea of having one place where people can go and find all the F# open issues with bounties attached has merits, and ideally, it should be one place, to avoid fragmentation. If people have to search for it, I suspect it won't help. I could see something like up-for-grabs, with a bounty attached, as motivating someone to pick a project to contribute to. Does anybody have experience with any of these platforms?

ReedCopsey commented 7 years ago

The main problem is there are 2 distinct goals - and the platforms target one or the other:

  1. Fund a task to be done in a project (ie: "Add feature XXX", or "Fix my bug!")
  2. Fund the project itself (ie: "I'm willing to pay money to keep this project moving forward, but I don't need to direct to a specific work item")

Bounty Source is focused on 1 - other platforms are focused more on 2. Not sure how to have one place to handle both, other than trying to keep a list of F# projects participating in either one as a separate list.

JohanLarsson commented 7 years ago

A couple of questions:

  1. Are there examples of where bounties work well?
  2. Is there a risk that devs will sit and wait for money and that the project dies?
  3. What if someone pays big money for something nasty like monads?
voronoipotato commented 7 years ago

Could you explain what you mean by "something nasty like monads?"

dsyme commented 7 years ago

@JohanLarsson Worth a read: http://www.alfiekohn.org/punished-rewards/

@Krzysztof-Cieslak Despite linking that book, I'd still donate for the Ionide work. Not pay-for-use or even pay-for-development but donation in acknowledgment of massive contributions to growing the community.

But I'd like it even more if you put it on a sustainable multi-maintainer path by asking for people to join you as a top-level maintainer :)

Stift commented 7 years ago

I don't find it that bad when sometimes some projects are valued in that way. To make it via the FSSF would make the FSSF like the EFF or Apache Foundation, which are also funding projects or maintainers, or even just a feature. In the end there is always a negative effect with financial incentives, which has to be mitigated by the community. Also transferring money to some persons is very difficult, because of export restrictions or in the end taxing.

When I understand BountySource correctly the​ bounty can be visible very easily when BountySource is allowed to update the issue in GH (http://blog.bountysource.com/post/48954271533/improved-github-integration-automatically-update)

When the bounties are managed by the FSSF I'd like to also be able to reject the money and/or redirect to other projects which I appreciate and I don't care for the money.

After all I agree with @dsyme to have a way of donating, independent from any issue, would better fit my understanding of OpenSource. And as well I see here similarities to e.g. the EFF.

haf commented 7 years ago

I think this discussion shows that there are two separate aims;

  1. to motivate occasional contributions, and on the other hand,
  2. to let high-productivity people like Krzysztof focus more on open source and less on pull in money for the cost of living.

For point 1:

is probably enough.

For point 2, the high-productivity maintainer case – there are two sub-problems, how to select the projects to finance and then how to procure a large-enough amount to be payable.

Krzysztof-Cieslak commented 7 years ago

Just to clarify - please don't treat initial post as my idea, it's just something that was discussed on FSSF Slack during Office Hours and someone had to step up, write summary, and start discussion... and I was around ;) So please treat it as different issue than any of my social media suggestions that I'll be looking for the way of "monetizing" OSS.


I totally agree that there are 2 orthogonal problems:

  1. "Rewarding" contributors
  2. "Rewarding" maintainers

The discussion in Slack was more focused on the first point, hence I've described it in first post of this discussion. I also think that it's something that Foundation can help more with (and again, more by promoting idea, creating list of bounties, etc not necessary by putting any funding into it) - due to "depersonalized" nature of bounties it doesn't create this perception that Foundation promotes some people / projects more than other. As I've mentioned in my second post - I think the idea is decent, I have nothing against it, personally I'm focused on different ideas but I see value in it.

As for the second point.... I feel it's complex problem (and yes, I've promised blog post about it, need to find some free time to write it) and I'm not sure if there should exist one centralized process for that. There are different ways of making situation more sustainable - both with or without putting real money into the problem. Personally, I'm investigating some ideas in this area... but it's not really topic of this discussion, I guess ;)

dsyme commented 7 years ago

@Krzysztof-Cieslak Thanks - understood :)

Krzysztof-Cieslak commented 7 years ago

I feel I would like to emphasize that the bounties is the most depersonalized way of supporting OSS (as people funds just features / bug fixes) and as such I believe it contains least danger from all possibilities. And that's why it's, IMO, the way that can be promoted by Foundation

Supporting projects (via something like Open Collective) or directly maintainers (via for example Patreon) puts much more emphasis on the people that will receive the money.

realvictorprm commented 7 years ago

I personally think it's better to use the old donate style for projects and patron for single persons. Supporting single projects or task will be difficult I think.

voronoipotato commented 7 years ago

Yes I think a bounty is a great idea. It also really helps when people would like a feature, or have a business need for a feature but don't have the requisite knowledge to implement such feature.

eugene-g commented 7 years ago

Hello. I'm glad that my suggestion is being discussed :)

I do agree that money could have negative effect on community and there are issues related to money transfer. Those issues could be mitigated by using cryptocurrencies or by making bounties as donations to charity organizations. But it's not the point. The point is that there are not enough ways to support projects. Imagine following scenario:

Project Alpha helped to fix issues in our project, while Project Beta eased the deployment process. Both projects saved us hundreds of man-hours and we'd be glad to show our appreciation. Unfortunately, for some reasons, we can't create PRs to contribute to the project. And we do not have company blog/twitter with many subscribers, so we, at least, could say "thank you" and increase public awareness of how great are Project Alpha and Project Beta. What else could we do?

Money popped up here as the greatest common denominator. There is a huge overhead in administering donations, so it is not a solution. It is rather an invitation to brainstorm.

eugene-g commented 6 years ago

Please, have a look into new movement and participate in discussion and implementation. Link.

voronoipotato commented 6 years ago

I feel like people often talk about the corrupting influence of money but also don't address the corrupting influence of working without pay and people expecting things from people who are not paid. I personally don't see why project funding/patreon/bounties must be mutually exclusive.