[Numpy-discussion] NEP 48: Spending NumPy Project funds

Stephan Hoyer shoyer at gmail.com
Mon Feb 22 15:33:51 EST 2021


On Mon, Feb 22, 2021 at 4:08 AM Pearu Peterson <pearu.peterson at gmail.com>
wrote:

> Hi,
>
> See GH discussion starting at
> https://github.com/numpy/numpy/pull/18454#discussion_r579967791 for the
> raised issue that is now moved here.
>
> Re "Compensating fairly" section:
>
> The NEP proposes location-dependent contracts for fair pays.
>
> I think this is a contradictory approach as location is not the only
> factor that may influence fairness. As an example, contractors may have
> different levels of obligations to their families, and one might argue this
> should be taken into consideration as well because the family size and the
> required level of commitment to the family members (kids, members who need
> special care, etc) can have a huge influence on the contractors living
> standards, not just the level of average rent in the particular location.
> It would be unfair to take into account location but not the family
> situation. There may be other factors as well that may influence fairness
> and I think this will make the decision-making about contracting harder
> and, most importantly, controversial.
>
> My proposal is that factors like location, family situation, etc should be
> discarded when negotiating contract terms. The efficiency of using the
> project funding should be defined by how well and quickly a particular
> contractor is able to get the job done,  but not how the contractors are
> likely to spend their pays - it is nobody's business, IMHO, and is likely
> very hard if not impossible to verify.
>

One difference is that it is illegal (at least under US law) to consider
factors such as family situation in determining pay.

However, it is both legal and standard to consider location. I'm not saying
we should necessarily do it, but it's an accepted practice. NumPy
development is global, but prevailing wages are not.


>
> My 2cents,
> Pearu
>
> On Sun, Feb 21, 2021 at 4:52 PM Ralf Gommers <ralf.gommers at gmail.com>
> wrote:
>
>> Compensating fairly
>> ```````````````````
>>
>> Paying people fairly is a difficult topic. Therefore, we will only offer
>> some
>> guidance here. Final decisions will always have to be considered and
>> approved
>> by the group of people that bears this responsibility (according to the
>> current NumPy governance structure, this would be the NumPy Steering
>> Council).
>>
>> Discussions on employee compensation tend to be dominated by two
>> narratives:
>> "pay local market rates" and "same work -- same pay".
>>
>> We consider them both extreme:
>>
>> - "Same work -- same pay" is unfair to people living in locations with a
>> higher
>>   cost of living. For example, the average rent for a single family
>> apartment
>>   can differ by a large factor (from a few hundred dollar to thousands of
>>   dollars per month).
>> - "Pay local market rates" bakes in existing inequalities between
>> countries
>>   and makes fixed-cost items like a development machine or a holiday trip
>>   abroad relatively harder to afford in locations where market rates are
>> lower.
>>
>> We seek to find a middle ground between these two extremes.
>>
>> Useful points of reference include companies like GitLab and
>> Buffer who are transparent about their remuneration policies ([3]_, [4]_),
>> Google Summer of Code stipends ([5]_), other open source projects that
>> manage
>> their budget in a transparent manner (e.g., Babel and Webpack on Open
>> Collective ([6]_, [7]_)), and standard salary comparison sites.
>>
>> Since NumPy is a not-for-profit project, we also looked to the nonprofit
>> sector
>> for guidelines on remuneration policies and compensation levels. Our
>> findings
>> show that most smaller non-profits tend to pay a median salary/wage. We
>> recognize merit in this approach: applying candidates are likely to have a
>> genuine interest in open source, rather than to be motivated purely by
>> financial incentives.
>>
>> Considering all of the above, we will use the following guidelines for
>> determining compensation:
>>
>> 1. Aim to compensate people appropriately, up to a level that's expected
>> for
>>    senior engineers or other professionals as applicable.
>> 2. Establish a compensation cap of $125,000 USD that cannot be exceeded
>> even
>>    for the residents from the most expensive/competitive locations
>> ([#f-pay]_).
>> 3. For equivalent work and seniority,  a pay differential between
>> locations
>>    should never be more than 2x.
>>    For example, if we pay $110,000 USD to a senior-level developer from
>> New
>>    York, for equivalent work a senior-level developer from South-East Asia
>>    should be paid at least $55,000 USD. To compare locations, we will use
>>    `Numbeo Cost of Living calculator <
>> https://www.numbeo.com/cost-of-living/>`__
>>    (or its equivalent).
>>
>> Some other considerations:
>>
>> - Often, compensated work is offered for a limited amount of hours or
>> fixed
>>   term. In those cases, consider compensation equivalent to a remuneration
>>   package that comes with permanent employment (e.g., one month of work
>> should
>>   be compensated by at most 1/12th of a full-year salary + benefits).
>> - When comparing rates, an individual contractor should typically make
>> 20% more
>>   than someone who is employed since they have to take care of their
>> benefits
>>   and accounting on their own.
>> - Some people may be happy with one-off payments towards a particular
>>   deliverable (e.g., hiring a cleaner or some other service to use the
>> saved
>>   time for work on open source). This should be compensated at a lower
>> rate
>>   compared to an individual contractor.
>> - When funding someone's time through their employer, that employer may
>> want to
>>   set the compensation level based on its internal rules (e.g., overhead
>> rates).
>>   Small deviations from the guidelines in this NEP may be needed in such
>> cases,
>>   however they should be within reason.
>> - It's entirely possible that another strategy rather than paying people
>> for
>>   their time on certain tasks may turn out to be more effective. Anything
>> that
>>   helps the project and community grow and improve is worth considering.
>> - Transparency helps. If everyone involved is comfortable sharing their
>>   compensation levels with the rest of the team (or better make it
>> public),
>>   it's least likely to be way off the mark for fairness.
>>
>> We highly recommend that the individuals involved in decision-making about
>> hiring and compensation peruse the content of the References section of
>> this
>> NEP. It offers a lot of helpful advice on this topic.
>>
>>
>> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20210222/9f1a2ea7/attachment.html>


More information about the NumPy-Discussion mailing list