Vetting an Open-Weights Model Before You Build On It
You can score an open-weights model on five dimensions and defend an adopt, price-it-in, or reject decision in a technical review.
An engineering lead finds a promising open-weights model on a hub and has to decide, this week, whether it is safe and sound to build a product on. This guide gives that lead one scoring rubric for the specific decision the "best open model" listicles never resolve: whether this model is legally and technically safe to ship on. It scores five dimensions - license track, data provenance, benchmark validity, serving cost, and maintenance - and turns the total into an adopt, price-it-in, or reject call you can defend in a review.
The trap is that a model artifact's risks do not live where a code library's risks live. There is no commit history to read, no maintainer bus factor to count. The risk lives in the license track, the training-data provenance, and the framing around the benchmark numbers. Those are exactly the things a hub badge hides.
What makes a model risky, and where that risk hides
The dangerous risks in an open-weights model are legal and epistemic, not operational. The license can bind you in ways the hub tag never shows, and the benchmark scores can promise performance the model will not deliver on your task.
Five dimensions cover the decision. Score each one, then combine.
- License track: is this a true open-source license or a custom community license with caps and bans?
- Data provenance: do you know what the model was trained on, and can you audit it against the Open Source AI Definition?
- Benchmark validity: are the headline numbers contaminated, saturated, or propped up by an undocumented scaffold?
- Serving cost: what does it cost to run at your target quantization and traffic?
- Maintenance: is the model gated, revocable, or otherwise a live dependency you do not control?
Where a model's risk actually lives
- Hub tagThe one-word license badge you see first, and the least reliable field
- License fileThe actual terms - caps, bans, remote-restriction rights
- LineageThe base model and its license, inherited through every distill
- ProvenanceWhat the model was trained on, and whether you can audit it
- BenchmarksScores whose framing decides whether they mean anything
The rest of this guide works down that stack. The license and lineage decide whether you can ship at all. Provenance decides whether you can trust and audit the artifact. Benchmarks and cost decide whether it is worth building on. Maintenance decides whether it will still be there in production.
Reading the license track: open weights versus open source
Read the actual license file, not the hub tag. The major open-weights families split into custom community licenses, which carry restrictions that exist in no true open-source license, and OSI-approved licenses like Apache 2.0 and MIT, which permit commercial use, modification, and redistribution with attribution and no user caps.
Meta's Llama Community License is the canonical example of the first kind. It permits royalty-free commercial use but contains three restrictions found in no open-source license: a scale threshold that caps free commercial use at 700 million monthly active users, a competitor restriction that blocks entire classes of product regardless of user count, and a ban on using Llama outputs to train, distill, or improve any non-Llama AI model. Above 700 million MAU in the preceding calendar month you must request a license from Meta, which Meta may grant in its sole discretion.
Google's older Gemma Terms of Use allowed commercial use but reserved the right to restrict, remotely or otherwise, usage of any of the Gemma Services that Google reasonably believed were in violation. Gemma 4 moved to Apache 2.0, eliminating those custom clauses and the remote-restriction rights along with them. That shift is the pattern to watch: a family can move from a community license toward true open source, and only the license file tells you where a given release sits.
| License track | MAU cap | Competitor / field ban | Remote-restriction right | OSI-approved |
|---|---|---|---|---|
| Llama Community License | 700M MAU | Yes | No explicit kill | No |
| Gemma Terms (pre-4) | None | Prohibited-use list | Yes | No |
| Apache 2.0 (Gemma 4, Qwen) | None | No | No | Yes |
| MIT (DeepSeek-R1 weights) | None | No | No | Yes |
Two clauses deserve special attention because they read as harmless and are not. The 700 million MAU cap is a discretionary kill-switch, not a distant edge case: it can affect investor valuation during due diligence today, and how MAU is counted for B2B or platform products is undefined. And under the Llama 4 license, individuals or companies based in the EU cannot directly access the multimodal models at all. A geographic bar is invisible on a leaderboard and fatal to a launch plan.
Tracing the lineage: the license lives in the chain, not the leaf
Because distilled and fine-tuned variants inherit their base model's license, the license risk lives in the lineage, not the leaf. A single MIT-licensed parent can spawn children under three different, more restrictive licenses, so a rubric must score the most restrictive license anywhere in the chain.
The DeepSeek-R1 family is the clearest worked example. The R1 weights themselves are MIT-licensed and support commercial use and distillation. But the distilled variants were curated from 800k R1 samples on top of different base models, and each child carries its base model's terms.
| Variant | Base model | Inherited license |
|---|---|---|
| Distill-Qwen 1.5B / 7B / 14B / 32B | Qwen-2.5 | Apache 2.0 |
| Distill-Llama-8B | Llama3.1-8B-Base | llama3.1 license |
| Distill-Llama-70B | Llama3.3-70B-Instruct | llama3.3 license |
One parent, three risk profiles. Pick the wrong child and you have quietly imported the 700 million MAU cap and the competitor ban into a product you thought was Apache-clean.
The same rule bites in the other direction with Gemma: any model fine-tuned on, distilled from, or built on top of Gemma weights remains subject to the same Terms of Use. The restrictions follow the model, not the checkpoint name. Assuming that fine-tuning makes the model yours is one of the most expensive mistakes on this list.
Tracing a license through a distill chain
- Candidate checkpointRead its card, not its tag
- Named base modelFind the model it was distilled or fine-tuned from
- Base licenseRead that license file in full
- Strictest linkAdopt the most restrictive terms in the whole chain
The provenance check: what OSAID requires and what most models fail
The provenance dimension asks whether you know what the model was trained on well enough to trust and audit it. The Open Source AI Definition 1.0 sets the bar: it requires Data Information, meaning sufficiently detailed information about the training data that a skilled person could build a substantially equivalent system.
OSAID 1.0 spells out what Data Information covers: provenance, scope, acquisition and selection methods, labeling, processing, filtering, and a list of data that is publicly or commercially obtainable. Crucially, it does not require shipping the full training dataset. OSI made that compromise because much of the data used to train modern foundation models is encumbered by copyright, contracts, or privacy law. That single compromise is what separates open source from open weight: the dividing line became provenance disclosure, not the dataset itself. Most popular releases fail it, which is why they are open-weight, not open-source.
Two contamination vectors matter for provenance risk. First, the training data itself is likely to include copyrighted works of third parties, and derivative works created from the model's outputs may inherit that exposure. Second, synthetic data from proprietary APIs: Llama's license forbids using its outputs to train competitor models, and other providers have similar terms. A subtler failure is contamination laundering, where you add no test data yourself but ask a proprietary model to generate synthetic data, and that model is itself contaminated.
There is a documented remediation. In TinyGSM, the authors decontaminated by checking for n-gram matches with n=13, and found only 22 of 11 million synthetic questions matched the GSM8K test set. That is a cheap, auditable check you can run on any fine-tuning corpus. Be aware of its limit: for semantic-level synthetic contamination, existing detection methods score an F1 of only 0.17 to 0.49, so n-gram checks catch verbatim leakage but not paraphrased leakage.
That ratio matters to the provenance and license decision, not just to hiring. Choosing an Apache-licensed non-Llama base can be the legally safer call, and still be the harder one to staff. In Refolk's index the Llama fine-tuning talent concentrates at large enterprises - top employers include UPS, IBM, Uber, JPMorganChase, and Oracle - with only 3 of the 19 profiles in the San Francisco Bay Area and the rest spread across NYC, Boston, Chicago, and other metros. If your rubric points you toward a base family your team cannot readily hire for, price that friction in.
Benchmark validity: why the headline numbers overstate real-task performance
Treat leaderboard scores as upper bounds, not estimates. Benchmark inflation is measurable and runs one direction: contamination and easier task distributions push public scores above what a model delivers on your workflow.
Four documented mechanisms inflate the numbers.
- Contamination: a study found that removing contaminated examples from GSM8K dropped measured accuracy by up to 13 percentage points.
- Saturation: at the frontier, MMLU sits near 93% and GSM8K near 99%, so score gaps fall within noise and stop signaling real differences.
- Scaffold and framing: the SWE-bench scaffold gap alone can exceed 28 points, meaning the harness around the model, not the weights, moves the number.
- Task distribution: Claude Opus 4.5 scored 80.9% on SWE-bench Verified but only 45.9% on SWE-bench Pro, a 35-point collapse on the same weights against a harder task set.
The through-line is transferability. Leaderboard scores answer how a base model performed on a fixed task set under controlled conditions. They say very little once you add a retrieval layer, tool calls, a system prompt, and the actual workflow your agent has to complete.
Leaderboard scores behave as upper bounds. Any adopt decision resting on headline numbers is systematically over-optimistic.
Quantization is the one place where practitioners fear more than the evidence supports, at least at scale. For a 70B Llama-3.1, W4A16-INT quantization recovered 99.53% of the BF16 average score. On large models, serving-cost savings rarely cost accuracy, so cost, not quality, should drive the quant choice. Small models around 8B are less forgiving and need per-task testing before you trust a quantized variant.
The practical response is a private evaluation suite. Cite the benchmarks the card claims, note whether the scores are self-reported and at what quantization, then discount them and run your own. The failure to avoid: comparing two candidates at different quantization, where a Q8 model appears to beat a Q4 rival for reasons that have nothing to do with the models.
The scoring procedure
Score the five dimensions in order, because the early ones can end the evaluation before you spend a day on evals. License and lineage are gates; a fatal clause means you stop. Provenance, benchmarks, cost, and maintenance then shape the decision between adopt and price-it-in.
Vetting an open-weights model, end to end
- Classify the license trackRead the actual license file, not the hub tag, with legal present. Name the license and state whether it is OSI-approved or a custom community license.
- Scan for binding restrictionsCheck for MAU caps, competitor and field-of-use bans, acceptable-use policies incorporated by reference, and remote-restriction rights. Put every binding clause in a risk register.
- Run the provenance checkAssess Data Information disclosure against OSAID, including any proprietary-API synthetic data. Classify the model as open-source or open-weight and rate provenance risk.
- Trace the distillation lineageFollow the base model and its license through every distill or fine-tune step. Record the most restrictive license anywhere in the chain.
- Review benchmark validityIdentify the cited benchmarks, whether scores are self-reported, and what quantization and scaffold were used. Discount headline numbers for contamination and scaffold gap.
- Run a task-specific evalBuild a private test suite and run candidates at identical quantization, context length, and prompts. Rank on your own workflow, not leaderboards.
- Verify distribution and gatingConfirm the exact revision hash, gating status, and token access path in CI. Make the pull reproducible with a pinned revision.
- Size serving cost and hardwareCompute VRAM, GPU count, and cost per token at your target quantization. Model cost per request.
- Convert the score to a decisionCombine the five dimensions into adopt, price-it-in, or reject. Produce a one-page rubric defensible in review.
Serving cost turns abstract until you attach it to hardware. As a reference point, self-hosting Llama 4 Maverick requires roughly 206GB of VRAM, which is two to four H100 GPUs, costing 8 to 16 US dollars per hour in cloud GPU rental. Run your own numbers at your chosen quantization, but that is the order of magnitude a large model implies.
Turning the score into adopt, price-it-in, or reject
The decision is a two-variable judgement: how severe the risk is against how well you can mitigate it. A fatal, unmitigable clause is a reject. A real risk with a known workaround is a price-it-in. Low risk on all five dimensions is an adopt.
The adopt, price-it-in, reject call
The maintenance dimension is what most often pushes a candidate from adopt into price-it-in. Gating is a live dependency, not a checkbox. A gated model requires prospective users to request permission and present tokens before download, and gated does not mean permissive. Authors keep complete control and can revoke access at any time, even after approval and even in automatic-approval mode. A model that passed review in dev can vanish from prod. That is why revision pinning and a mirrored artifact belong in the price-it-in column.
Model + revision hash: ____________________________ License track (2 OSI-approved / 1 community / 0 fatal clause): __ because ____________________________ Lineage (strictest license in chain): ____________________________ score __ Provenance (2 OSAID-level / 1 partial / 0 opaque): __ because ____________________________ Benchmark validity (2 own-suite passed / 1 discounted / 0 headline-only): __ because ____________________________ Serving cost (cost per request at target quant): $______ score __ Maintenance (2 ungated+pinned / 1 gated+mirrored / 0 revocable+unmirrored): __ because ____________________________ Decision: ADOPT / PRICE-IT-IN / REJECT If price-it-in, mitigations owned by: ____________________________
Fill one row per dimension, score 0 to 2, and record the single fact that set each score.
How this goes wrong: the failure modes
Most bad model decisions come from trusting a field that was never designed to be trusted, or from reading a real risk as irrelevant. Each failure below has a false positive that looks green and a specific check that catches it.
- Trusting the hub license tag. A repo tagged apache-2.0 may host a distill whose base is Llama-licensed. The tag is green, the lineage is restricted. Check: trace the base model in the model card, as with the DeepSeek Llama variants.
- Reading the 700M MAU cap as irrelevant. The false positive is "we are tiny, it never binds." It is a discretionary kill-switch that affects investor valuation today, and B2B or platform MAU counting is undefined. Check: model your MAU under realistic growth.
- Assuming fine-tuning frees you from the terms. The false positive is "the model is now mine." Restrictions follow the derivative for both Gemma and Llama. Check: the derivative clause in the Terms of Use.
- Taking headline benchmarks at face value. The false positive is a self-reported SWE-bench Verified score with an undocumented scaffold. Check: contamination-resistant sets like SWE-bench Pro and LiveCodeBench, plus your own suite.
- Comparing models at different quantization. The false positive is a Q8 model appearing to beat a Q4 rival. Check: identical quantization, context length, and prompts across candidates.
- Ignoring synthetic-data provenance. The false positive is clean-looking fine-tune data that laundered test-set content or violated an API's terms. Check: n-gram decontamination and the source API's terms.
- Treating gated as a one-time hurdle. The false positive is access approved in dev, revoked in prod. Check: pin a revision hash and confirm the token path in CI.
Keeping the decision current
A model vetting decision is not durable, because two of its five inputs move after you ship. License families change tracks, and gated access can be revoked. Treat the rubric as something you re-run, not a one-time gate.
Before you call the vetting done
- The actual license file has been read, and every binding clause is in a risk register
- The most restrictive license in the full distill or fine-tune chain is recorded
- The model is classified as open-source or open-weight against OSAID Data Information
- A private eval suite ran all candidates at identical quantization, context length, and prompts
- Headline benchmark scores are discounted for contamination and scaffold gap
- An n-gram decontamination check ran against any fine-tuning corpus
- The exact revision hash is pinned, and the token access path is confirmed in CI
- If the model is gated, a mirrored artifact exists in case access is revoked
- Cost per request is modeled at the target quantization and hardware
- A one-page rubric records the fact behind each score and names the decision
Two mechanisms are worth a standing re-check. First, watch for license migrations in the families you depend on, in either direction: a move to Apache 2.0 removes inherited restrictions, and a tightening in a community license adds them. Re-read the license file whenever you upgrade to a new checkpoint, since a new revision can carry new terms. Second, monitor gating status on any gated dependency, and confirm your mirrored artifact still matches the pinned revision hash. Finding named engineers who have run this kind of evaluation - benchmark contamination audits, production fine-tuning, provenance review - is its own sourcing problem, and describing the exact experience you need in plain language is faster than keyword-matching. Refolk resolves that request across the public GitHub graph, public LinkedIn records, and its own index in one query.
The rubric's value is that it produces a defensible artifact. When a reviewer asks why you built on this model, you point at the one-page score and the fact behind each line, not at a leaderboard screenshot. That is the difference between a decision you can stand behind and a bet you got lucky on.
Questions practitioners ask
What is the difference between open weights and open source for an AI model?
The gap is legal, not technical. Both give you downloadable weights, but open source under the Open Source AI Definition also requires Data Information: enough detail about the training data that a skilled person could rebuild a substantially equivalent system. Most popular releases ship weights without that provenance, which makes them open-weight, not open-source. OSAID deliberately does not require the full dataset, because much of it is encumbered by copyright and contracts.
Does a distilled or fine-tuned model keep its base model's license?
Yes, and this is the most common trap. A repo tagged apache-2.0 can host a distill whose base is Llama-licensed. In the DeepSeek-R1 family, Distill-Qwen variants inherit Apache 2.0, Distill-Llama-8B inherits the llama3.1 license, and Distill-Llama-70B inherits llama3.3. For Gemma, restrictions follow any model fine-tuned on, distilled from, or built on the weights. Always score the most restrictive license in the lineage.
Is the Llama 700 million MAU cap a real risk for a small product?
Treat it as a discretionary kill-switch rather than a distant edge case. Above 700 million monthly active users you must request a license from Meta, which Meta may grant in its sole discretion. The cap can affect investor valuation and due diligence today, and how MAU is counted for B2B or platform products is undefined. Model your MAU under realistic growth and put the clause in your risk register.
Can I trust the benchmark scores on a model card?
Discount them. Removing contamination from GSM8K dropped measured accuracy up to 13 points, the SWE-bench scaffold gap alone can exceed 28 points, and one model fell 35 points from SWE-bench Verified to Pro on identical weights. Leaderboard scores behave as upper bounds, not estimates. Verify against contamination-resistant sets and, above all, your own private test suite run at fixed quantization and prompts.
Will quantization hurt accuracy enough to change my decision?
At scale, rarely. A 70B Llama-3.1 quantized to W4A16-INT recovered 99.53% of its BF16 average score, so on large models cost, not quality, should drive the quant choice. Small models around 8B are less forgiving and need per-task testing. Never compare two candidates at different quantization levels, since a Q8 model beating a Q4 rival tells you nothing about the models.
How do I stop a gated model from disappearing between dev and prod?
Gating is a live dependency. Authors can revoke access at any time, even in automatic-approval mode, so a model approved in dev can vanish from prod. Pin an exact revision hash, confirm the token access path inside CI, and mirror the artifact you were licensed to use. If a model is gated, it belongs in the price-it-in column with those mitigations, not the adopt column.
Try it on the search you came here for
Stop building boolean strings. Just describe the person.
Type one sentence. I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web as it is right now, and hand back a ranked list with the reason next to every name.
01Describe them
One plain sentence. Role, city, stack, stage, whatever matters to you.
02I read the web live
GitHub, public LinkedIn and Crunchbase records, the open web. Not a database that went stale last quarter.
03You read the shortlist
Ranked, with the reasoning under every name. Open a profile, ask a follow-up, narrow it down.
- Staff backend engineers in NYC who shipped Rust in production
- Series A fintechs in SF under 50 people, growing headcount this year
- Maintainers of fast-growing Rust web frameworks on GitHub
- No boolean, no filters, no seat to buy. One box.
- Read at search time, so a profile updated yesterday counts today.
- Every step visible as it runs, every name with its reason.
500 free credits on sign-up. No card, no demo call. See real searches.