\ Why Anaconda pays me to write OSS — Martin Durant

Martin Durant

Why Anaconda pays me to write OSS

written by Martin Durant on 2024-05-09

I get asked the question in the title a lot. Here is a brief summary of why it's in Anaconda's interest to pay me to write completely free software as a member of the Open Source team.

Marketing

The simplest element of the usefulness of the OSS group and my own work is a form of advertising. We may not be a bigger group that the actual marketing group at Anaconda, but one could argue that our effectiveness at this is pretty impressive. This is in the context of a bunch of code monkeys (like me) that are typically not very good at boasting about their own work and spend too little time writing prose.

Associate with prominent projects

We give a lot of talks, vlogs, blogs and the like (here we are!). Most of these are pretty technical, but Anaconda OSS has for a long time been associated with some of the very prominent components of the numerical-python ecosystem (think jupyter, numba, dask, bokeh, pyscript, beeware, ...).

By engaging with these projects and pushing them forward, the wider non-technical world associates their good names with Anaconda (and vice versa) and helps to establish the brand as being both a good player in the ecosystem and a company whose code is to be trusted.

"We are the experts"

If you ever wanted someone to write python code for you and were prepared to pay for it, who would you most rather turn to, but the people that made the tools you wanted to extend. The consultancy business used to be much bigger at Anaconda, but where we see a project that has both a public good and also someone of financial means that wished to get that thing done, we can do great things. This is particularly true of packaging, since conda is obviously strongly associated with Anaconda, even though it is also a fully OSS project.

Make a better ecosystem

Anaconda is, of course, a python-first company. Most of our users write python code (although conda supports many others, such as R and Julia), and most users' first interaction with Anaconda will be as a consequence of "how do I install python". Since our for-profit products are also generally aimed at the python community, the more healthy the python ecosystem is in general, the more python users there will be, and eventually the more companies that want to buy our stuff.

So the purpose of the OSS team in this context, is to make the life of numerical python practitioners (from students to full-time engineers) as smooth and productive as it can be. This is a long play, but in the end it represents a win-win between Anaconda and the community. (The dividend programme is a more indirect way to achieve a similar goal.)

Know your user

A perennial problem for any commercial company, is knowing what their customers really want. At Anaconda, this is a many-fold bigger issue, since the vast majority of "users" (i.e., people that download the installer or interact with the conda package repo) are unknown to sales. This is fine, since we don't charge for personal, academic use; but i t is nevertheless super important to see trends in the wider python ecosystem and have a say in planning of bigger projects like numpy and python itself.

The OSS team interacts with a much wider variety of coders that inward-facing devs or the sales team. We have conversations via github, slack, discourse and similar, and so can give feedback to the company about the status of the whole python world, in detail that could not have been got otherwise. This kind of information is invaluable for a company like Anaconda, which needs to be very responsive to the needs of its customers, whose devs are also users of our OSS output.