llvm / Community.o

Community.o website and other resources
0 stars 1 forks source link

Allow sponsors to donate time rather than money #16

Open tom-github-account opened 2 months ago

tom-github-account commented 2 months ago

At the moment, our sponsors donate money. This is great, and we really don't want that to stop.

Discussions at the 2024 EuroLLVM community.o workshop made it sound like we are a little short of volunteers. One idea was to allow sponsors to donate time instead of money.

Benefits:

  1. Opens up a new category of sponsors. Some organisations may want to sponsor the LLVM project, but are unable or unwilling to donate money. They may, however, be willing to donate time instead. Universities or organisations based in countries with unfavourable exchange rates may be good examples,
  2. We could incentivise unpopular work, for example by requiring sponsors who donate time to donate a certain fraction of their time to specific areas/projects/tickets/etc, or by saying that sponsors must donate a certain number of hours, but unpopular work will come with a multiplier so will be valued higher.

Risks:

  1. We risk cannibalising our existing sponsorship deals. This could be mitigated by making the conversion rate between "cash sponsorship" and "time sponsorship" unfavourable, so it remains cheaper to donate money,
  2. We risk de-valuing our sponsorship deals if too many "time sponsors" get involved. Again, this can be mitigated by making the time sponsorship expensive,
  3. If the time sponsorship is too expensive, no-one will use it. Clearly, getting the pricing right will be important,
  4. We increase the maintenance burden on the LLVM side. It's easy to check if money has turned up in a bank account, it's harder to check whether someone actually has done the hours they say they have,
  5. How do we value time? A student may achieve in ten hours what an experienced developer would achieve in one. However, there may be value in having that student involved with the project. This is mitigated in bug trackers by using story points instead of time estimates, but accurate assignation of story points is hard and would increase the burden on the LLVM side.

Next steps: