proposal for NumPy sponsorship guidelines (NEP 46)

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

proposal for NumPy sponsorship guidelines (NEP 46)

ralfgommers
Hi all,

I just opened https://github.com/numpy/numpy/pull/18084, "NumPy Sponsorship Guidelines". Below are the most important parts for review (for Related Work, References, etc. see the PR). Please bring up broader points here, and small/textual feedback on the PR.

Cheers,
Ralf



Abstract
--------

This NEP provides guidelines on how the NumPy project will acknowledge
financial and in-kind support.


Motivation and Scope
--------------------

In the past few years the NumPy project has gotten significant financial
support, as well as dedicated work time for maintainers to work on NumPy. There
is a need to acknowledge that support - funders and organizations expect or require
it, it's helpful when looking for new funding, and it's the right thing to do.
Furthermore, having a clear policy for how NumPy acknowledges support is
helpful when searching for new support.

This NEP is aimed at both the NumPy community - who can use it when looking for
support and acknowledging existing support - and at past, current and
prospective sponsors, who often want or need to know what they get in return
for their support (other than a healthier NumPy).

The scope of this proposal includes:

- direct financial support, employers providing paid time for NumPy maintainers
  and regular contributors, and in-kind support such as free hardware resources or
  services.
- where and how NumPy acknowledges support (e.g., logo placement on the website).
- the amount and duration of support which leads to acknowledgement.
- who in the NumPy project is responsible for sponsorship related topics, and
  how to contact them.


How NumPy will acknowledge support
----------------------------------

There will be two different ways to acknowledge financial and in-kind support,
one to recognize significant active support, and another one to recognize
support received in the past and smaller amounts of support.

Entities who fall under "significant active supporter" we'll call Sponsor.
The minimum level of support given to NumPy to be considered a Sponsor are:

- $30,000/yr for unrestricted financial contributions
- $60,000/yr for financial contributions for a particular purpose
- $100,000/yr for in-kind contributions

The rationale for the above levels is that unrestricted financial contributions
are typically the most valuable for the project, and the hardest to obtain.
The opposite is true for in-kind contributions. The dollar value of the levels
also reflect that NumPy's needs have grown to the point where we need at least
a few paid developers in order to effectively support our user base and
continue to move the project forward. Financial support at or above these
levels is needed to be able to make a significant difference.

Sponsors will get acknowledged through:

- a small logo displayed on the front page of the NumPy website
- prominent logo placement on https://numpy.org/about/
- logos displayed in talks about NumPy by maintainers
- announcements of the sponsorship on the NumPy mailing list and the numpy-team
  Twitter account

In addition to Sponsors, we already have the concept of Institutional Partner
(defined in NumPy's
`governance document <https://numpy.org/devdocs/dev/governance/index.html>`__),
for entities who employ a NumPy maintainer and let them work on NumPy as part
of their official duties. The governance document doesn't currently define a
minimum amount of paid maintainer time needed to be considered for partnership.
Therefore we propose that level here, roughly in line with the sponsorship
levels:

- 6 person-months/yr of paid work time for one or more NumPy maintainers or
  regular contributors

Institutional Partners get the same benefits as Sponsors, in addition to what
is specified in the NumPy governance document.

Finally, a new page on the website (https://numpy.org/funding/, linked from the
About page) will be added to acknowledge all current and previous sponsors,
partners, and any other entities and individuals who provided $5,000 or more of
financial or in-kind support. This page will include relevant details of
support (dates, amounts, names and purpose); no logos will be used on this
page. The rationale for the $5,000 minimum level is to keep the amount of work
maintaining the page reasonable; the level is the equivalent of, e.g., one GSoC
or a person-week's worth of engineering time in a Western country, which seems
like a reasonable lower limit.


Implementation
--------------

The following content changes need to be made:

- Add a section with small logos towards the bottom of the `numpy.org
  <https://numpy.org/>`__ website.
- Create a full list of historical and current support and deploy it to
  https://numpy.org/funding.
- Update the NumPy governance document for changes to Institutional Partner
  eligibility requirements and benefits.
- Update https://numpy.org/about with details on how to get in touch with the
  NumPy project about sponsorship related matters (see next section).


A NumPy Funding Team
~~~~~~~~~~~~~~~~~~~~

At the moment NumPy has only one official body, the Steering Council, and no
good way to get in touch with either that body or any person or group
responsible for funding and sponsorship related matters. The way this is
typically done now is to somehow find the personal email of a maintainer, and
email them in private. There is a need to organize this more transparently - a
potential sponsor isn't likely to inquire through the mailing list, nor is it
easy for a potential sponsor to know if they're reaching out to the right
person in private.

https://numpy.org/about/ already says that NumPy has a "funding and grants"
team, however that is not the case. We propose to organize this team, name team
members on it, and add the names of those team members plus a dedicated email
address for the team to the About page.


Status before this proposal
---------------------------

Acknowledgement of support
~~~~~~~~~~~~~~~~~~~~~~~~~~

At the time of writing (Dec 2020), the logos of the four largest financial
sponsors and two institutional partners are displayed on
https://numpy.org/about/. The `Nature paper about NumPy <https://www.nature.com/articles/s41586-020-2649-2>`__
mentions some early funding. No comprehensive list of received funding and
in-kind support is published anywhere.

Decisions on which logos to list on the website have been made mostly by the
website team. Decisions on which entities to recognize as Institutional Partner
have been made by the NumPy Steering Council.


NumPy governance, decision-making and financial oversight
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*This section is meant as context for the reader, to help put the rest of this
NEP in perspective, and perhaps answer questions the reader has when reading
this as a potential sponsor.*

NumPy has a formal governance structure defined in
`this governance document <https://numpy.org/devdocs/dev/governance/index.html>`__).
Decisions are made by consensus among all active participants in a discussion
(typically on the mailing list), and if consensus cannot be reached then the
Steering Council takes the decision (also by consensus).

NumPy is a sponsored project of NumFOCUS, a US-based 501(c)3 nonprofit.
NumFOCUS administers NumPy funds, and ensures they are spent in accordance with
its mission and nonprofit status. In practice, NumPy has a NumFOCUS
subcommittee (with its members named in the NumPy governance document) who can
authorize financial transactions. Those transactions, for example paying a
contractor for a particular activity or deliverable, are decided on by the
NumPy Steering Council.


Alternatives
------------

*Tiered sponsorship levels.* We considered using tiered sponsorship levels, and
rejected this alternative because it would be more complex, and not necessarily
communicate the right intent - the minimum levels are for us to determine how
to acknowledge support that we receive, not a commercial value proposition.
Entities typically will support NumPy because they rely on the project or want
to help advance it, and not to get brand awareness through logo placement.

*Listing all donations*. Note that in the past we have received many smaller
donations, mostly from individuals through NumFOCUS. It would be great to list
all of those contributions, but given the way we receive information on those
donations right now, that would be quite labor-intensive. If we manage to move
to a more suitable platform, such as `Open Collective <https://opencollective.com/>`__,
in the future, we should reconsider listing all individual donations.


_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: proposal for NumPy sponsorship guidelines (NEP 46)

mattip
Administrator

On 12/29/20 1:27 PM, Ralf Gommers wrote:
> Entities who fall under "significant active supporter" we'll call Sponsor.
> The minimum level of support given to NumPy to be considered a Sponsor
> are:
>
> - $30,000/yr for unrestricted financial contributions
> - $60,000/yr for financial contributions for a particular purpose
> - $100,000/yr for in-kind contributions


How would this work for one-time contributions, or for sponsors that
stop contributing? For instance, if an entity gives a $60,000 one-time
unrestricted contribution (unlikely, but who knows?) would they be
listed as sponsors for 24 months after the contribution and then have
their name removed?


Also, the implementation should explicitly mention a mechanism to keep
track of received contributions.


Matti

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: proposal for NumPy sponsorship guidelines (NEP 46)

ralfgommers


On Sun, Jan 3, 2021 at 8:43 AM Matti Picus <[hidden email]> wrote:

On 12/29/20 1:27 PM, Ralf Gommers wrote:
> Entities who fall under "significant active supporter" we'll call Sponsor.
> The minimum level of support given to NumPy to be considered a Sponsor
> are:
>
> - $30,000/yr for unrestricted financial contributions
> - $60,000/yr for financial contributions for a particular purpose
> - $100,000/yr for in-kind contributions


How would this work for one-time contributions, or for sponsors that
stop contributing? For instance, if an entity gives a $60,000 one-time
unrestricted contribution (unlikely, but who knows?) would they be
listed as sponsors for 24 months after the contribution and then have
their name removed?

That could indeed be explained more clearly. What I intended with "active support" on a yearly basis is that >1 yr after the donation takes place, the acknowledgement can be moved from the Sponsor placements to the less prominent historical acknowledgements page. We should specify a time period for that, because sometimes renewals take time and there's no benefit to us being in a hurry with decreasing the visibility of acknowledgements.

So how about:
- one year after a one-off donation is received, or at the end of a grant period, we consider that support "inactive"
- we leave the acknowledgement in its place for at least another 6 months. If appropriate, the funding team can discuss opportunities for renewal with the sponsor
- after those 6 months, acknowledgement may be moved to the historical overview. with exact timing at the discretion of the funding team, because there may be reasons to keep it in the more prominent place for longer.

That way there's no fixed formula for amounts, but we can do things that make sense for the project given amounts received, relationship with sponsor, etc. I'm not a fan of $60k gives you 24 months, $90k 36 months - that would be similar to "tiered sponsorship levels" discussed in the Alternatives section.
 


Also, the implementation should explicitly mention a mechanism to keep
track of received contributions.

If we have a page on the website listing all support received since the start of the project, that's automatically a tracking mechanism.

Cheers,
Ralf


_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion