← Blog

The open-source Split alternative: flags in your repo

dif is an open-source, git-native alternative to Split, the feature-flag and experimentation platform now sold as Harness Feature Management and Experimentation. Where Split keeps flags and their measurement in a hosted service, dif keeps flags and experiments as Markdown files in your repo, reviewed in pull requests and versioned in git.

Split pioneered treating every flag as a measurement, so a rollout and an experiment are the same object. Its stats and impression data are mature, and since Harness acquired Split in 2024 it is part of a larger delivery platform. dif is a smaller, focused, open-source tool with a different model: one file format for flags and experiments, a free CLI and SDK, and state a coding agent can read. This post compares them fairly.

Key Takeaways

  • dif keeps flags and experiments as Markdown files in your repo. Split keeps them in a hosted service you configure through a dashboard.
  • dif is open source (MIT) and self-hostable, with no per-seat fee. Split’s Teams tier is roughly $33 per seat per month, and since the 2024 Harness acquisition its enterprise pricing is a custom Harness contract.
  • Split’s strength is experiment measurement: it treats every flag as a treatment, with a mature stats engine. dif’s analysis stack is newer.
  • dif emits a context.json a coding agent reads on session start. Split’s dashboard cannot hand that to an agent.
  • dif’s honest cost: rollback is a merge and a deploy. Split can flip a flag from the dashboard in seconds.

At a glance

DimensiondifSplit (Harness FME)
Where flags and experiments liveMarkdown files in your repoSplit's hosted service
LicenseOpen source (MIT), self-hostableClosed source, SaaS
OwnershipIndependent, open sourcePart of Harness (acquired 2024)
Pricingdif Cloud, $50/mo for 1M events, unlimited seatsFree Developer tier; Teams ~$33/seat/mo; enterprise custom
Runtime SDK~5 kB, no network call to assignSDK that streams rule updates from the service
ExperimentationFile-based, dif Cloud for statsMature: flags as a measurement layer, impression data
Agent-readable stateYes (context.json)No
Roll back a changeEdit a number, merge, deployToggle in the dashboard

Where flags and experiments live

In dif, a flag or an experiment is one Markdown file in dif/, next to the code it changes, with frontmatter on top and the rationale below. It is reviewed in a pull request, its history is the git history, and a concluded experiment writes its decision back into the file.

In Split, the flag and its targeting live in the hosted service. You configure a flag in the dashboard, and the SDK streams the current rules to your app. That gives Split something dif does not have: a rule change takes effect without a deploy. It also means the source of truth sits outside the repo, so the flag and the code that uses it are in two systems that have to be kept in sync. dif’s case for feature flags in git is that keeping them in one place, the repo, removes that reconciliation.

Open source and lock-in

dif is MIT licensed. The CLI and SDK are free and open, and dif Cloud is self-hostable. Your flags are files in your repo, so leaving dif means keeping your own files.

Split is a closed-source SaaS platform, and since 2024 it is part of Harness. If you already run Harness for CI/CD, having flags in the same platform is a real advantage. If you do not, you are adopting a commercial platform whose roadmap and pricing now sit inside a larger company. For teams that want to own the tool and avoid that exposure, an open-source Split alternative is the reason to look at dif.

Pricing

Split has a free Developer tier for small use. Above it, its Teams plan has been priced around $33 per seat per month, and since the Harness acquisition the published price card has largely given way to custom enterprise contracts. Per-seat pricing means your cost scales with how many people touch the tool, not how much you use it.

dif’s pricing does not have a per-seat line. The CLI and SDK are free forever. dif Cloud is $50/month for 1M events with unlimited seats, then $0.02 per 1,000 events. A ten-person team and a fifty-person team pay the same base price. For a growing engineering org, removing the per-seat scaling is often the clearest saving.

Experimentation and statistics

Split wins this row. It was built on the idea that a feature flag is also a measurement: every flag can be an experiment, with impression data and a stats engine tuned for it. If rigorous experiment analysis tied directly to your flags is the reason you are shopping, Split is strong at exactly that, and dif’s analysis stack is younger.

dif’s experimentation is developer-first and file-based. An experiment is the same Markdown file as a flag, with a hypothesis and a held split. Assignment is deterministic and local: the variant is a hash of the user ID, so there is no network call to assign. dif Cloud runs the statistical analysis and writes results back to your pull request. A/B testing for developers walks the lifecycle, from a hypothesis to a concluded learning on the surface.

Agent-readable state

dif build emits a context.json that lists every active flag and each surface’s latest learning, and a coding agent like Claude Code or Cursor reads it on session start. dif init writes managed blocks into CLAUDE.md and AGENTS.md.

A coding agent cannot log into the Split dashboard, so it cannot see which flags exist or why. When flags are files, the agent reads them like any other source. As more code is written and maintained by agents, feature flags for AI agents that live in the repo are state the agent can use, and a dashboard-based platform cannot give it that.

The honest tradeoff

Split can flip a flag from the dashboard in seconds, because the SDK streams the change. dif rolls back by editing a weight to 0 and merging, which is a deploy. If your build takes ten minutes, your worst-case kill is ten minutes. For a payment path that needs a sub-second kill switch, that difference is real and Split is the better fit for that flag.

dif is also newer and smaller, with a younger stats engine and fewer integrations than a platform now backed by Harness. The case for dif is not that it out-measures Split. It is that for flags and experiments in the repo, open source and owned, with agent-readable state, dif is the simpler and more portable tool.

Who each is for

Choose Split (Harness FME) if you want mature experiment measurement tied to your flags, you already run Harness for delivery, or you need instant dashboard-driven rollout and kill on a hosted platform.

Choose dif if you want flags and experiments as files in your repo, reviewed in PRs, on an open-source tool you can self-host, with no per-seat fee, a 5 kB SDK, and state your coding agent can read.

FAQ

Is there an open-source alternative to Split? Yes. dif is an open-source, MIT-licensed alternative where flags and experiments are Markdown files in your repo. Split, now Harness Feature Management and Experimentation, is a closed-source hosted platform.

What happened to Split.io? Harness acquired Split in 2024, and it is now sold as Harness Feature Management and Experimentation. The product continues, now inside a larger delivery platform, which is a reason some teams look for an independent, open-source alternative.

Is dif cheaper than Split? For most teams, yes. Split’s paid tier has been priced per seat, around $33 per seat per month, plus custom enterprise contracts. dif Cloud is $50/month for 1M events with unlimited seats, and the CLI and SDK are free, so cost does not scale with headcount.

Does dif support instant flag changes like Split? No. Split streams rule changes from its service, so a toggle takes effect without a deploy. dif changes a flag by editing a file and deploying, so your rollback speed is your deploy speed. For most flags that is fine; for a sub-second kill switch it is not.

Can I migrate from Split to dif? You re-author each active flag as a Markdown file and replace the Split SDK call with dif’s at the render site. Since dif flags are plain files, you write the ones worth keeping and drop the rest, with no export to reconcile.

Getting started

dif is the open-source Split alternative for teams that want flags in the repo instead of a hosted dashboard, with no per-seat fee. Install the CLI and scaffold a project:

npm install -g @dif.sh/cli
dif init

dif init writes the dif/ directory, the generated client, and the managed agent blocks. You write a flag as a file, gate the code, and run dif validate in CI. The feature flags page shows the model, and dif Cloud pricing covers the optional hosted analytics.

Split’s ownership, tiers, and pricing come from the Harness Feature Management and Experimentation product page and the Harness acquisition announcement. Verify current pricing with Harness, since enterprise contracts are negotiated and change.