[Numpy-discussion] Proposal to add clause to license prohibiting use by oil and gas extraction companies

John Preston gizmoguy1 at gmail.com
Wed Jul 1 14:34:13 EDT 2020

Hello all,

The following proposal was originally issue #16722 on GitHub but at
the request of Matti Picus I am moving the discussion to this list.

"NumPy is the fundamental package needed for scientific computing with Python."

I am asking the NumPy project to leverage its position as a core
dependency among statistical, numerical, and ML projects, in the
pursuit of climate justice. It is easy to identify open-source
software used by the oil and gas industry which relies on NumPy [1]
[2] , and it is highly likely that NumPy is used in closed-source and
in-house software at oil and gas extraction companies such as Aramco,
ExxonMobil, BP, Shell, and others. I believe it is possible to use
software licensing to discourage the use of NumPy and dependent
packages by companies such as these, and that doing so would frustrate
the ability of these companies to identify and extract new oil and gas

I propose NumPy's current BSD 3-Clause license be extended to include
the following conditions, in line with the Climate Strike License [3]

    * The Software may not be used in applications and services that
are used for or
       aid in the exploration, extraction, refinement, processing, or
       of fossil fuels.

    * The Software may not be used by companies that rely on fossil
fuel extraction
       as their primary means of revenue. This includes but is not
limited to the
       companies listed at https://climatestrike.software/blocklist

I accept that there are issues around adopting such a proposal, including that:

addition of such clauses violates the Open Source Initiative's
canonical Open Source Definition, which explicitly excludes licenses
that limit re-use "in a specific field of endeavor", and therefore if
these clauses were adopted NumPy would no longer "be open-source" by
this definition;
there may be collateral damage among the wider user base and project
sponsorship, due to the vague nature of the first clause, and this may
affect the longevity of the project and its standing within the
Python, numerical, statistical, and ML communities.

My intention with the opening of this issue is to promote constructive
discussion of the use of software licensing -- and other measures --
for working towards climate justice -- and other forms of justice --
in the context of NumPy and other popular open-source libraries. Some
people will say that NumPy is "just a tool" and that it sits
independent of how it is used, but due to its utility and its
influence as a major open-source library, I think it is essential that
we consider the position of the Climate Strike License authors, that
"as tech workers, we should take responsibility in how our software is

Many thanks to all of the contributors who have put so much time and
energy into NumPy. ✨ ❤️ 😃

[1] https://github.com/gazprom-neft/petroflow
[2] https://github.com/climate-strike/analysis
[3] https://github.com/climate-strike/license

More information about the NumPy-Discussion mailing list