# How does package sponsorship through NumFOCUS work?

**URL:** <https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440>\
**Category:** Community\
**Tags:** question\
**Created:** [August 27, 2022, 7:27pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440 "2022-08-27T19:27:36Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 27, 2022, 7:27pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/1 "2022-08-27T19:27:36Z")

</div>

If I look at this package: [GitHub - JuliaInterop/CxxWrap.jl: Package to make C++ libraries available in Julia](https://github.com/JuliaInterop/CxxWrap.jl) I see there i a “Sponsor” button on the top. How can I add this kind of button to a package?

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 27, 2022, 7:29pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/2 "2022-08-27T19:29:17Z")

</div>

I think you need to live in specific countries where GitHub has this feature (banking accounts) and you may need to activate it at the organization level instead of in the repo. I am not sure.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 27, 2022, 7:42pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/3 "2022-08-27T19:42:15Z")

</div>

Found this link: [Displaying a sponsor button in your repository - GitHub Enterprise Cloud Docs](https://docs.github.com/en/enterprise-cloud@latest/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository)

But I still don’t know if that could work for me (The Netherlands)…

Ok, there is just a FUNDING.yml file in the repo: [CxxWrap.jl/FUNDING.yml at main · JuliaInterop/CxxWrap.jl · GitHub](https://github.com/JuliaInterop/CxxWrap.jl/blob/main/.github/FUNDING.yml)

But would I be allowed to add such a link?

---

<div class="post-metadata">

**Author:** ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Post date:** [August 27, 2022, 8:06pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/4 "2022-08-27T20:06:38Z")

</div>

I’m trying to move away from Github myself, but I believe what you need to do first is sign up for Github Sponsors:

> **[GitHub Sponsors](https://github.com/sponsors)**
>
> Invest in the open source projects you depend on with GitHub Sponsors.

Some relevant docs:

> **[GitHub Sponsors documentation - GitHub Docs](https://docs.github.com/en/sponsors)**
>
> Invest in the open source projects you depend on, support digital infrastructure, and make open source careers possible by sponsoring open source contributors and their projects. Build a GitHub Sponsors profile and receive compensation for your open...

> **[Displaying a sponsor button in your repository - GitHub Docs](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository)**
>
> You can add a sponsor button in your repository to increase the visibility of funding options for your open source project.

---

<div class="post-metadata">

**Author:** ![Freya\_the\_Goddess](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/freya_the_goddess/32/36835_2.png) [@Freya\_the\_Goddess](https://discourse.julialang.org/u/Freya_the_Goddess)\
**Post date:** [August 28, 2022, 7:14am UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/5 "2022-08-28T07:14:51Z")

</div>

Why you want to move away from github? Because it is Microsoft owned now?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 28, 2022, 3:07pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/6 "2022-08-28T15:07:44Z")

</div>

> [@nsajko](#):
>
> believe what you need to do first is sign up for Github Sponsors

Why should I sign up for Github sponsors if I want to add a link to [Bonterra: Social Good Technology](https://numfocus.salsalabs.org/donate-to-julia/index.html) to my package? This links allows you to make a donation to NumFocus for Julia, where you can mention which package you want to support.

The question that is open for me is: What is happening with the information which package you want to support?

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [August 29, 2022, 2:02pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/7 "2022-08-29T14:02:45Z")

</div>

This is handled by NumFOCUS and the Julia subgroup there. Some information is on the [governance page](https://julialang.org/governance/#numfocus):

> What kind of money goes to Julia through NumFOCUS and how is it spent? When you click on the “Donate to Julia button” on the Julia website, your donation goes to NumFOCUS and is earmarked to be used for the Julia project. This money is used to pay for infrastructure and personnel costs, including website hosting, continuous integration services, and anyone who is working on Julia through NumFOCUS. By far the biggest flow of money through NumFOCUS for Julia is for the annual JuliaCon conference. Money from JuliaCon ticket sales and sponsorships go to NumFOCUS which then pays vendors for services required to make JuliaCon happen and reimburse anyone who has reimbursable conference-related expenses. Excess money (if any) from JuliaCon goes into the same pool as donations. JuliaCon finances are managed by the finance chair and approved by the [JuliaCon organizing committee](https://juliacon.org/2021/committee/) as representatives of the project and community. All money that goes in and out of NumFOCUS is a matter of [public record](https://numfocus.org/legal) since it is a nonprofit.

This does not currently include any details on the package field in a donation — perhaps @avik or @logankilpatrick could chime in on how that’s handled?

---

<div class="post-metadata">

**Author:** ![logankilpatrick](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/logankilpatrick/32/38123_2.png) [@logankilpatrick](https://discourse.julialang.org/u/logankilpatrick)\
**Post date:** [August 29, 2022, 2:16pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/8 "2022-08-29T14:16:14Z")

</div>

You cannot donate to a specific Julia package through NumFOCUS right now, all donations go to the general pot of money for the Julia Ecosystem.

To support CXX.jl directly, they would need to setup a GitHub sponsor account to donate too.

If you are trying to add a “sponsor button” to your own repo, this should be doable (given you’re in an accepted country for the program).

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 29, 2022, 4:35pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/9 "2022-08-29T16:35:31Z")

</div>

> [@logankilpatrick](#):
>
> You cannot donate to a specific Julia package through NumFOCUS right now,

But why is then this question on the form:

```julia

Is there a particular Julia package you would like your gift to support?

```

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [August 29, 2022, 10:26pm UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/10 "2022-08-29T22:26:23Z")

</div>

It’s a holiday here today, and I just saw this thread. There’s a few different things to unpack here. I’ll do a detailed response in a day or two.

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [September 11, 2022, 10:25am UTC](https://discourse.julialang.org/t/how-does-package-sponsorship-through-numfocus-work/86440/11 "2022-09-11T10:25:31Z")

</div>

So as promised (though delayed), there are few things to unwrap here.

So the reason that “Sponsor” button shows up for CXXWrap.jl is that there is a [FUNDING.yml](https://github.com/JuliaInterop/CxxWrap.jl/blob/main/.github/FUNDING.yml) file in the repo. The content of the repo points to a page on Salsa labs, that asks for a few details, including which project you would like to offer support to. The fact is that we receive very few donations via Salsa Labs – only a handful of transactions in the last year. And the vast majority of those leave that field blank. There is probably only one vague reference to a particular project for a small donation.

These days we much prefer to receive donations via Github directly. You can see the setting here: [.github/FUNDING.yml at master · JuliaLang/.github · GitHub](https://github.com/JuliaLang/.github/blob/master/FUNDING.yml). Using that mechanism, we don’t ask for project targets, it is more obvious that the money is going into a single Julia project pot.

This is important because it’s the Julia project that is affiliated with NumFOCUS (as is SciML and Flux, separately). Even if a funding is for a particular project, the money cannot be directly transferred to the project owner – it needs to go through NumFOCUS’s process, which generally requires a statement of work and a contract at least. NumfOCUS needs to conduct some due dilligence to maintain it’s non-profit status. It’s not difficult – Pluto for example received a directed corporate donation, which we used to pay some Pluto developers last year. But I just mean to say that we cannot redirect a stream of cash automatically. So if you want direct payments, you are better off signing up yourself to the github sponsor program yourself.

Having said that, if you, or anyone else needs funding for any of your Julia open source work, reach out to me or Logan. Our resources are limited, but within that, we do try to do grants for impactful work when we can, from Julia project resources. This year, our main contribution has been towards Makie. We also can apply for external grants (eg, the NumFOCUS small dev grants, which has funded some Documenter work among others.). At the very least, we are happy discussing options.

Hope this helps. Thanks for asking the question, I’m happy to provide more clarifications if needed.

Regards

Avik
