I am not a lawyer. This post is strictly my analysis and opinion. Nothing in this post is legal advice.
Jump to “What do we do now?” for a TL;DR!
Anaconda, Inc. has set forth new Terms of Service (TOS) governing the use of its products. Anaconda’s offerings have long been of the “freemium” model, explicitly allowing free use for educators, researchers, and non-profits. On March 30, 2024, this changed without an official announcement from Anaconda, Inc (or at least none that I, a heavy user, have seen).
Here’s the critical bit (emphasis mine):
2.1 Organizational Use.
Your registration, download, use, installation, access, or enjoyment of all Anaconda Offerings on behalf of an organization that has two hundred (200) or more employees or contractors (“Organizational Use”) requires a paid license of Anaconda Business or Anaconda Enterprise. For sake of clarity, use by government entities and nonprofit entities with over 200 employees or contractors is considered Organizational Use. Educational Entities will be exempt from the paid license requirement, provided that the use of the Anaconda Offering(s) is solely limited to being used for a curriculum-based course. Anaconda reserves the right to monitor the registration, download, use, installation, access, or enjoyment of the Anaconda Offerings to ensure it is part of a curriculum. Utilizing Miniconda to pull package updates from the Anaconda Public Repository without a commercial license (if required by the conditions set forth in Section 2 of this Terms of Service) is considered a violation of the Terms of Service.
My takeaways:
- Non-profits are treated the same as for-profit orgs.
- Except for use in curriculum-based courses. There are no exemptions for non-profit research.
- Using Miniconda to pull packages from proprietary channels counts as a violation.
Pricing for organizations of greater than 200 employees starts at $50/user/month at time of writing.
Enforcement
Anaconda, Inc. has begun the process of enforcing their new terms through legal demand letters and lawsuits. This month, Anaconda, Inc. began sending out legal demands to non-profit research institutions to purchase commercial licenses of its software, including threats of back-billing. It has also initiated a lawsuit against Intel, a for-profit user, but I see this as a sign of increasing litigiousness and risk for non-profit users.
I work for a non-profit research organization with less than 200 employees, however, we are two levels deep in an organizational hierarchy – above us is a cooperative research institute, and above that is a university. It’s unclear whether this policy applies to my organization, but we must play it safe.
“Anaconda Public Repository?”
These are the packages Anaconda and Miniconda will use by default from the "defaults"
channel and which require payment. Check out the Anaconda Packages page for more details on the official channels that are subject to terms.
The Anaconda distribution itself includes these packages, so it is subject to terms. Miniconda does not include those packages, but by default will download packages from proprietary channels, so it needs to be reconfigured to avoid violation of terms.
Conda Forge to the rescue
Conda Forge is a community-owned collaboration providing a higher-quality, more transparent, and free alternate distribution and repository to the official Anaconda Distribution and Anaconda Public Repository.
The Conda Forge community serves as a “safety net” against this and potential future changes to Anaconda’s licensing and terms. The community has already created alternate multiple mirrors (1, 2) of the distribution, as well as the means for anyone to create their own.
The community has also created fully open alternative installers, of which miniforge provides the closest parity to the Miniconda user experience. Also of note is pixi
, which provides an overhauled user experience that, in my view, requires significantly less background knowledge to use effectively than the conda
workflow. However, pixi
is still a young project and may have rough edges.
What do we do now?
What to do
This is the “keep it simple” version of what to do. There are many other options, but this one is the most straightforward, in my view.
- Stop using the official Anaconda and Miniconda distributions. They are set up to use proprietary features by default and present a risk of license violation out-of-the-box.
- Use miniforge. The user experience parallels Miniconda, except it’s set up to use only the free
"conda-forge"
channel out-of-the-box. It also includesmamba
, a faster drop-in replacement for theconda
command. - If you want to be extra sure you won’t accidentally use a proprietary channel, specify
"nodefaults"
in your conda environment’s channels list.
What not to do
- Don’t leave the Anaconda ecosystem – the open source community has our backs.
- Don’t block
[conda].anaconda.org
in your corporate network. It is free to use for free channels like"conda-forge"
. If and when that changes, the Conda Forge community will provide robust alternatives. Note you can blockrepo.anaconda.com
to prevent access to the most common access point ofdefaults
. - Don’t create a policy preventing installation or use of the
conda
command.
More context from a co-founder
Last week, Peter Wang, co-founder of Anaconda, Inc., authored a post on LinkedIn expressing concern over the reaction to the TOS changes.
Peter says (emphasis mine):
I want to be very clear: Anaconda’s installers & package repos are free for teaching, learning, and research at accredited educational institutions worldwide.
[…]
Our legal team is taking a comprehensive look at the wording in our current ToS, EULA, and related documents, with a focus on clarity for academic and academic research use. Our intent is to complete this by the end of this year.
The bolded section of this text directly contradicts Anaconda, Inc.’s TOS as written. Coupled with early reports of legal & back-billing threats, I would not feel comfortable acting based on this claim.
Let’s wait and see what happens later this year. I’ll try to keep this post updated.
Conclusion
This is no fun. Nobody likes dealing with this. I don’t, and I strongly doubt I got everything right. I would be grateful to anyone who can comment on this post or submit a PR to fix any mistakes, unclearness, or omissions!
Updates
I’ll try to write here if there are any important updates to this situation.
Citation
@online{fisher2024,
author = {Fisher, Matt and Rodríguez-Guerra Pedregal, Jaime},
title = {Anaconda’s 2024 Terms of Service Changes},
date = {2024-08-25},
url = {https://mfisher87.github.io/posts/anaconda-tos-2024},
langid = {en}
}