
Software engineer zetaphor has published a scathing critique of Ollama, the popular tool for running AI models locally, taking aim at its development practices and overall direction.
Ollama lets you run multiple AI models with a single command. But what started as a wrapper to simplify llama.cpp has turned into a project with questionable licensing, performance issues, and a shift away from its original privacy-focused promise. (See: Alibaba's new Qwen3.6 model wants to be your AI coding partner OpenAI unleashes GPT-5.4-Cyber, a high-clearance AI for cybersecurity pros OpenAI's Agents SDK gets a major upgrade for building persistent AI assistants)

Before Ollama existed, there was llama.cpp. It arrived in 2023 as a breakthrough that made running Meta's powerful LLaMA language model possible on consumer hardware like an M1 Mac.
GPT-3's rival, Meta's "LLaMA," now runs on an M1 Mac, showing large language models can run on ordinary consumer hardware - GIGAZINE

Ollama was originally implemented as a wrapper to make llama.cpp easier to use. But for over a year after its mid-2023 launch, it quietly used llama.cpp internally without giving credit.
llama.cpp is distributed under the permissive MIT license, which has one primary condition: attribution. Anyone can use it commercially as long as they give credit. Ollama didn't even manage that.
The community eventually noticed. On March 17, 2024, someone filed an issue requesting correction. Ollama's maintainers didn't respond. When a more detailed issue appeared in April, they finally added a "supported backends" section listing llama.cpp. One maintainer also commented that they planned to "transition to a different engine in the future."
Zetaphor wasn't impressed, calling it a sign they "had no intention of giving llama.cpp any notable credit." They also pointed to a Hacker News thread where multiple engineers argued the llama.cpp team deserved proper recognition.

According to zetaphor, the licensing issue is just the tip of the iceberg. Ollama has a whole list of problems.
The laundry list of complaints
• A low-quality proprietary backend
Ollama eventually developed its own backend to replace llama.cpp, but the quality was poor. Performance reportedly dropped to about half of what llama.cpp delivers.
• Misleading model names
It allegedly ran a distilled, lower-performance version of a model under the name "DeepSeek-R1," misleading users and potentially harming the model's reputation.
• Mixing in closed-source apps
While marketed as open-source software, Ollama's desktop version was developed in a private repository and distributed without a clear license. The download button sat right next to the GitHub link on their website, making it easy for users to mistakenly think the whole package was open source.
• Inconvenient custom specs
It uses the GGUF file format—designed to be self-contained—but adds a Docker-like custom config file. Worse, changing a single parameter can force a copy of the entire multi-gigabyte model.
• Slow model adoption
When a new model drops, you can't run it on Ollama until their team does work on their end. With llama.cpp, you can run it the moment it's released.
• A pivot to the cloud
After growing its user base with promises of local execution and privacy, Ollama introduced a cloud model that sends data externally. It also reportedly left a vulnerability that could leak authentication tokens unpatched for months, raising security concerns.
Given all this, zetaphor's conclusion is blunt: if you want to run large language models locally, what you really need is llama.cpp. The Ollama package, they argue, is unnecessary.