The short answer
- A developer laptop: Ollama if you work in a terminal and want other tools to call the model; LM Studio if you want a desktop app, or MLX models on a Mac.
- A shared team server for a handful of people: Ollama or LM Studio's headless llmster daemon behind Open WebUI is fine. Plan to outgrow it.
- Production serving: vLLM (or SGLang, also Apache 2.0) on data-center GPUs behind a gateway.
- Embedding inference in your own product, or odd hardware: llama.cpp directly.
The comparison
Licences are as declared on each project's GitHub repository on 20 October 2026; features are from the official documentation.
| Tool | Licence | Form | Engine and hardware | API | Best for |
|---|---|---|---|---|---|
| Ollama | MIT | CLI, background service, desktop app | llama.cpp listed as backend; NVIDIA CUDA, AMD ROCm, Apple Metal, Vulkan | Ollama API, OpenAI- and Anthropic-compatible | Developer laptop; coding agents; small team server |
| LM Studio | App: proprietary, free; lms CLI and SDKs: MIT | Desktop app; llmster headless daemon; lms CLI | llama.cpp (GGUF) and Apple MLX | OpenAI-compatible and its own REST API; JS and Python SDKs | Desktop users; Apple Silicon; non-engineers |
| llama.cpp | MIT | C/C++ library and binaries; llama-server | Its own: Metal, CUDA, HIP, Vulkan, SYCL, CPU and more | OpenAI-compatible (llama-server) | Maximum control, embedding in products, unusual hardware |
| vLLM | Apache 2.0 | Python serving engine | Its own; NVIDIA, AMD and Intel GPUs, CPUs, TPU and other plugins | OpenAI-compatible, Anthropic Messages API, gRPC | Production serving to many concurrent users |
| Open WebUI (front end) | BSD-3 to v0.6.5; Open WebUI License with branding clause since v0.6.6 | Self-hosted web app | None; connects to Ollama or OpenAI-compatible servers | Consumes APIs | A ChatGPT-style interface for a team |
Ollama
Ollama is the default way
engineers start: install it, run ollama run with a model name, and you have a model in the
terminal and an API on localhost. It is MIT-licensed and one of the most-starred AI projects on GitHub. Its
documentation lists its own API plus
OpenAI- and Anthropic-compatible endpoints, which is why nearly every coding agent can point at it; the
docs include integration guides for Claude Code, Codex CLI, OpenCode, VS Code, JetBrains and Xcode, among
others. On hardware it supports NVIDIA GPUs through CUDA, AMD through ROCm, Apple Silicon through Metal, and
other GPUs through Vulkan.
Ollama now also sells cloud access to large open models, with a free tier and paid plans from $20 a month, as listed on its pricing page. That is useful when a model is too big for your machine. It is also a reason to check which models a team's Ollama install is actually sending to the cloud before you call it "local".
LM Studio
LM Studio is a desktop app for macOS, Windows and Linux that finds models on Hugging Face, downloads them and runs them with llama.cpp or, on Apple Silicon, Apple's MLX. It serves loaded models on OpenAI-like endpoints locally or across the network, and supports MCP servers. Two additions matter for teams: llmster, a headless daemon for servers and CI, and LM Link, which routes requests to a more powerful machine you own.
The licensing is mixed and worth getting right. The desktop app is proprietary and free under Element Labs'
terms of use; the
lms CLI, the JavaScript and Python SDKs and the MLX engine are MIT on GitHub. Since July 2026 the
company's headline product is Bionic, an agent app that runs local models and offers optional US-hosted
cloud models at $20 or $100 a month. The classic LM Studio app is still a separate download.
llama.cpp
llama.cpp is the engine
that made local LLMs practical, and the origin of the GGUF format most local models ship in. It is MIT,
written in C/C++, and runs on more hardware than anything else here: Apple Metal, NVIDIA CUDA, AMD HIP,
Vulkan, Intel SYCL, Snapdragon and plain CPUs. Its llama-server exposes an OpenAI-compatible
API. Ollama lists llama.cpp as a supported backend and LM Studio runs it under the hood, so the choice is
often whether you want a wrapper's convenience or the engine's control. Choose it directly when you are
shipping inference inside a product, need a specific build flag, or are on hardware the wrappers do not
support.
vLLM
vLLM solves a different problem: serving many concurrent requests efficiently. It manages KV-cache memory with PagedAttention, batches incoming requests continuously, supports a long list of quantization formats, and exposes an OpenAI-compatible server plus Anthropic Messages API and gRPC support. It runs on NVIDIA, AMD and Intel GPUs and CPUs, with plugins for TPUs and other accelerators. It is Apache 2.0.
The trade-off is operational. vLLM expects a Linux server with data-center GPUs and someone who can tune memory and parallelism settings. That is the right trade for a production endpoint and the wrong one for a laptop.
Open WebUI: the front end most teams add
Open WebUI gives a team a ChatGPT-style interface over Ollama or any OpenAI-compatible server, with accounts, history and document retrieval. Code up to v0.6.5 is BSD-3. From v0.6.6 (April 2025) the project uses its own licence with a branding clause, which it states is not OSI-approved: you may not remove or alter the Open WebUI branding unless the deployment has 50 or fewer users in a 30-day period, you are a qualifying contributor or researcher, or you buy an enterprise licence. For an internal tool that keeps the branding, nothing changes.
A path that does not need rewriting
Because all four speak the OpenAI API, write your application against that interface from day one. A developer can prototype against Ollama on a laptop, the team can share an Ollama or llmster box behind Open WebUI, and production can move to vLLM or a hosted endpoint by changing a base URL. The hardware choices for each step are on best hardware for local LLMs, and the models worth loading are on best local LLMs.
Related
- Local AI for engineering teams — the cluster hub
- Best local LLMs to run — by hardware tier and licence
- Best hardware for local LLMs — Mac Studio, DGX Spark, Strix Halo, RTX PRO 6000
- OpenCode setup — pointing a coding agent at a local model
Frequently asked questions
Ollama vs LM Studio: which is better?
For developers who live in the terminal and want a local API other tools can call, Ollama: it is MIT-licensed, scriptable, runs as a background service and has integrations for most coding agents. For people who want a desktop app to browse, download and chat with models, or who use Apple Silicon and want MLX models, LM Studio. Both expose an OpenAI-compatible API, so you can switch later without rewriting your code.
Is LM Studio free for commercial use?
The LM Studio desktop app is free to download and use under Element Labs' terms of use; it is proprietary software rather than open source. Its CLI (lms) and its JavaScript and Python SDKs are MIT-licensed. Since July 2026 LM Studio also sells optional cloud plans for its Bionic agent ($20 and $100 per month), which are not required to run local models.
Is Ollama open source?
Yes. The Ollama repository on GitHub is MIT-licensed. Ollama also sells optional cloud model access: a free tier with starter credits, Pro at $20 per month, Max at $100 per month and a Team plan at $500 per month, as listed on its pricing page in October 2026. Running models locally does not require any of them.
When should I use vLLM instead of Ollama?
When more than a few people or services will call the model at the same time, or when throughput per GPU matters. vLLM batches requests continuously and manages KV-cache memory with PagedAttention, so it serves many concurrent requests efficiently on data-center GPUs. Ollama is optimised for a single user getting started quickly.
What is llama.cpp and do I need it?
llama.cpp is the open-source C/C++ inference engine that made running LLMs on ordinary hardware practical, and it defined the GGUF model format. It runs on Apple Metal, NVIDIA CUDA, AMD HIP, Vulkan, Intel SYCL and plain CPUs, and includes llama-server, an OpenAI-compatible API server. Ollama lists it as a supported backend and LM Studio uses it under the hood, so you may already be using it. Use it directly when you want maximum control or a minimal footprint.
What is Open WebUI?
Open WebUI is a self-hosted, ChatGPT-style web interface that connects to Ollama or to any OpenAI-compatible API, including vLLM and llama-server. It adds users, chat history, document upload and retrieval. Check its licence before rebranding it for a company deployment.
Sources: GitHub repositories of ollama/ollama, ggml-org/llama.cpp, vllm-project/vllm, open-webui/open-webui, lmstudio-ai/lms, lmstudio-js and lmstudio-python (licences as declared, 20 October 2026); docs.ollama.com; ollama.com/pricing; lmstudio.ai docs, pricing and terms; docs.openwebui.com.