Most of my projects run on two models at once. A closed frontier model writes the hard first draft, and a self-hosted open-weight model handles the bulk, repetitive, private work.
Llama
Qwen
DeepSeek
ChatGPT
Claude
Gemini
That setup came out of a year of building AI projects from Kathmandu and breaking things in public. Every few weeks someone posts the same fight online, open models vs closed models, as if one side is clearly winning. I used to pick a side too. Then I started shipping real things with both, and the fight stopped mattering. What matters is the job in front of you.
This post is how I choose. I care about two things: getting the job done and still owning the result afterward.
First, the terms people mix up
"Open source" and "open weight" are different things. Open weight means the trained parameters are published, so you can download and run the model yourself. The training code and the data often stay private. That is Llama, Qwen, and DeepSeek. Closed means the model lives behind an API you call, like ChatGPT, Claude, and Gemini. You never touch the weights.
Both can be "free" to start. The real difference is who controls the model after you depend on it.
When I reach for a closed model
If the task needs the absolute best reasoning, the longest memory, or the smoothest multimodal input, I use a closed frontier model through its API. For client work where reliability matters most, I am not going to gamble on a smaller local model.
Closed models are better at three things:
- Quality ceiling. For hard reasoning, frontier APIs are still ahead.
- Zero ops. No GPU, no server, no updates. You call it and forget it.
- Speed of shipping. When the deadline is tonight, the API is the fastest path.
The cost is real, though. You pay per token, your data leaves your machine, and the model can change or get more expensive without asking you.
When I reach for an open-weight model
Open weight is the right call when any of these are true:
- Privacy. Medical, legal, or user data that cannot leave your infrastructure.
- Cost at scale. If you serve 2 million requests a month, a one-time GPU bill beats a per-call API forever.
- Control. You want to fine-tune, quantize, or pin a version that never drifts.
- No internet. Offline tools, embedded devices, or a flaky connection.
Running something like Qwen or Llama locally means the model is yours. It will not get "upgraded" underneath you at the worst moment.
What each one really costs
Closed models feel free until the bill arrives. Open models feel free until you pay for the GPU, the engineer time, and the latency work. Count both kinds of cost before you commit to either.
The question I ask is simple: which model lets me ship this specific thing today, and keep owning it tomorrow?
Why I use both
In my default setup, the closed model does the hard reasoning and the first draft. The open-weight model, self-hosted, does the high-volume private work that would be expensive or risky to send through an API.
You do not have to commit to either one. Download a weight and try it for a weekend. If it is not good enough, delete it. Being able to walk away like that is one of the main reasons open weights exist.
How to choose
Use closed when you need the best brain and fast shipping. Use open weight when you need privacy, scale economics, or control. Most serious builders end up using both, and anyone claiming one side has already won is doing marketing.
If you are starting out, start with the API. When the bill or the privacy question starts to hurt, that is your signal to try open weight.
About the author. Diwakar Ray Yadav writes about AI tools, prompt engineering, and automation from hands-on experiments in Kathmandu. Read more about Diwakar.