[Halld-offline] Licensing Insights for Conda Users: Open Source Without Licensing Fees

Dmitry Romanov romanov at jlab.org
Mon May 6 13:10:10 EDT 2024


Dear All,

There have been circulating messages about Anaconda licensing issues at Jefferson Lab. Since we extensively use conda, we researched which components are free and which are not. In short, almost all tools are open source, free, and community-driven. One can substitute  Miniconda with Miniforge and stay completely free. Below is a more detailed explanation:

Anaconda changed its licensing terms in April 2020 to prohibit free commercial usage for large organizations. They have a detailed FAQ section on their website explaining what is paid and what is free, open-source, and community-driven:

https://www.anaconda.com/blog/is-conda-free

I encourage you to read through their documentation. However, here's the gist:

- Conda Package Manager: This tool is open-source under the BSD-3 license.
- Channels: Conda uses what are called "channels" to download software. Users can install packages from multiple channels simultaneously.
- Default Channels: If you download Conda via Anaconda’s website (as Miniconda or Anaconda AI Platform), it defaults to using a proprietary channel. Usage of this channel may incur fees as described above.
- Conda-Forge: This is a free, open-source, and community-driven channel that includes all the packages found in Anaconda's proprietary channel and more. Conda-Forge is similar to Fedora’s relationship with RHEL—it provides newer versions of packages that may later be adopted by Anaconda’s proprietary channel. Essentially, every package available through Anaconda’s channel is also available on Conda-Forge.

Summary: If conda is downloaded via Miniconda, the Anaconda proprietary channel is turned on by default, and users might have to pay. However, other tools besides this proprietary channel are free and open source. This proprietary channel can be replaced with Conda-Forge, allowing the entire setup to be used for free.

WHAT CAN BE DONE? 

- For new package installations: Instead of Miniconda, one can use Miniforge:

https://github.com/conda-forge/miniforge

Miniforge is the same tool with one change: Packages in the base environment are obtained from the conda-forge channel, which is set as the default (and only) channel. This makes the installation free, open-source, and community-driven.

- For existing package installations: One can switch channels and reinstall the software from Conda-Forge:

https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html

Are there any drawbacks to using Conda-Forge? 
There may be different versions of packages installed compared to the proprietary channel if the version isn't specified during installation. However, since the proprietary channel uses Conda-Forge, if the package versions are the same, they are fully compatible. It's important to note that large conda installations, such as those for AI or machine learning, the most probably already use Conda-Forge at least to install some packages, as the proprietary Anaconda channel is very limited in variety.

Kind regards,
Dmitry

 



More information about the Halld-offline mailing list