Ona vs GitHub Codespaces
Two managed services, neither of which you can operate yourself. The differences that matter are where the code executes, which forge you are married to, and how confident you are about who owns the vendor next year.
Checked against both vendors' own documentation and pricing pages as of July 2026
The Same Category, Genuinely
Unusually for this site, this is a like-for-like comparison rather than two products in different businesses
Both of these are vendor-operated cloud development environments. In both cases a management plane you cannot install schedules, authenticates, and lifecycles your environments. Neither has a customer-operable version at any tier, so if your requirement is "we must be able to keep running this without the vendor", both are out and the shortlist you want is on the open source CDEs page instead.
Given that shared starting point, three differences do the work. Ona can put runners inside your own AWS or GCP VPC on the Enterprise plan, so source code is cloned and executed on compute in your account; Codespaces cannot do that at any price, and offers regional data residency instead. Ona is not tied to a source forge; Codespaces is sold as part of GitHub and is not available separately. And the two vendors sit at opposite ends of the ownership-stability spectrum.
Everything else - editor choice, prebuilds, dev container definitions, org policy controls - is close enough that it will not decide a serious evaluation. Teams that spend their time on feature grids here usually end up choosing on the basis of whichever demo they saw second.
No winner is declared. Codespaces wins on durability, published pricing, and zero adoption friction for GitHub organizations. Ona wins on forge independence and on keeping execution inside your own cloud account. Those are different requirements, not different scores. Full reviews: Ona and GitHub Codespaces.
At a Glance
The Ona column describes Enterprise where the row depends on it, since that is the tier with the runner model
| Dimension | Ona | GitHub Codespaces |
|---|---|---|
| Management plane | Ona's, always. No customer-operated option. | GitHub's, always. No customer-operated option. |
| Where code executes | Ona Cloud, or your own AWS or GCP VPC on Enterprise | GitHub-managed compute only. No BYOC at any tier. |
| Data location answer | A network boundary you control, on Enterprise | A jurisdiction guarantee. Codespaces reached general availability for GitHub Enterprise Cloud with data residency on 04-01-2026, covering Australia, the EU, Japan, and the US. |
| Source forge | Not tied to one | GitHub. GitLab, Bitbucket, and self-managed Git are not served. |
| Environment definition | Dev Container configuration | Dev Container configuration |
| Operating systems | Linux. No Windows or macOS environments are documented. | Linux containers only. No Windows or macOS. |
| Published price | Core from $20 per month, 80 to 2,200 OCUs, up to 100 members. Enterprise not published. | Every rate published - hourly compute by machine size, plus $0.07 per GB-month storage |
| Billing unit | OCU - a blended unit covering agent token usage and environment runtime | Core-hour - elapsed hours multiplied by core count - plus GB-month storage |
| Who pays for compute | Ona on Core. On Enterprise runners, you pay AWS or GCP directly, in addition to the subscription. | GitHub bills you for it. There is no separate cloud invoice. |
| Ownership status | Agreement to join OpenAI announced 06-11-2026, not closed as of July 2026, subject to regulatory approval | Owned by Microsoft through GitHub, embedded in the flagship developer product |
Sources: ona.com/pricing, Ona's OpenAI announcement, github.com/features/codespaces, and GitHub's Codespaces billing documentation, all checked in July 2026. Citation standard: sources.
The Billing Units Do Not Convert
This is the single most common error in comparisons of these two products
Codespaces bills machine time, and publishes every rate
As of July 2026 the published hourly rates are $0.18 for 2-core, $0.36 for 4-core, $0.72 for 8-core, $1.44 for 16-core, and $2.88 for 32-core, with storage at $0.07 per GB-month. Included allowances are 120 core-hours and 15 GB-month on GitHub Free, and 180 core-hours and 20 GB-month on Pro. A core-hour is elapsed hours multiplied by the core count, so 120 core-hours is 60 hours on a 2-core machine and 7.5 hours on a 16-core one. Storage also keeps billing while a codespace is stopped, and deleting one does not reduce what has already accrued this period.
The upside of that model is that a spreadsheet can be built before anyone signs anything. One developer on a 4-core machine, six hours a day, twenty days a month is 120 hours at $0.36, or $43.20 in compute plus storage. Whether that number is good or bad depends on your alternative, but it is a number, and it is the vendor's own.
Ona bills a blended unit, so agent behavior moves the bill
Ona's Core plan starts at $20 per month for 80 to 2,200 OCUs and up to 100 members, with additional OCUs from $10 per 40. But an OCU is not a machine-hour. Ona's own documentation describes it as a normalized measure of resource consumption covering both agent token usage from planning, coding, and automation tasks, and the infrastructure consumed while environments are running. Your spend therefore tracks how much your agents talk as well as how long environments stay up, which is a genuinely different budgeting problem from an hourly rate card and can move without anyone resizing a machine.
There is no conversion factor between an OCU and a core-hour. Neither vendor publishes one, and none can exist while one unit includes token consumption and the other does not. Any comparison presenting a per-developer-per-month figure for both sides has invented the bridge. The only honest method is a metered pilot on your own workloads, plus a quote for Ona Enterprise if that is the tier you would actually buy.
One further budgeting asymmetry: on Ona Enterprise the subscription does not include the compute, because runners in your account bill to AWS or GCP directly. That total is the Ona contract plus a cloud invoice, and the second one lands in a different budget from the one the purchase was approved against. Codespaces has no equivalent split - GitHub bills for everything. FinOps for development environments covers the controls for both shapes.
Who Should Choose Which
Each condition below decides the question on its own, without reference to any feature grid
Choose Ona when
- Source code must execute inside your own AWS or GCP account, and a regional residency guarantee does not satisfy your reviewer.
- Your code is not on GitHub. This one is dispositive - Codespaces is not sold apart from the forge.
- You want to avoid concentrating your forge, CI, identity, and development environments in a single vendor.
- Coding agents running inside managed environments are a first-class part of the plan rather than an experiment.
- Your commitment horizon is a pilot or a one-year term you are willing to revisit, not a five-year standardization.
Choose GitHub Codespaces when
- You are already fully on GitHub, where identity, permissions, and review workflow are settled and the adoption cost is close to zero.
- You are making a multi-year standardization decision and an unresolved acquisition is not something your timeline can absorb.
- Procurement needs published rates for the tier you would actually buy, rather than a quote-only enterprise plan.
- Usage is intermittent, and hourly billing on off-most-of-the-week environments is genuinely cheaper than a subscription.
- You want one invoice. No separate cloud bill arrives for the compute your developers used.
The order to ask the questions in
Ask about the forge first, because if your code is not on GitHub the comparison is over in one sentence. Ask about the execution boundary second, because a VPC requirement eliminates Codespaces outright and no negotiation changes that. Only then compare cost, and expect to need a quote to finish the job. Teams that run those three in the opposite order build an elaborate scoring matrix and then discover that one of the first two questions had already decided it. Vendor evaluation sets out the sequence.
What Cannot Be Compared
Four things a sponsored comparison would quietly fill in anyway
Cost per developer per month
Not computable. Ona Enterprise is unpublished, and even the published Core plan is denominated in a unit that includes token consumption. There is no defensible way to put an OCU and a core-hour on the same row of a spreadsheet.
Environment startup time
Both products build their startup story on prebuilds, and no independent, reproducible benchmark comparing them was found. The result would depend on your repository, your image, and whether a prebuild was warm, so it would not transfer even if it existed.
Who operates an in-VPC runner
Ona's pricing page and its runners documentation disagree: the pricing page calls the Enterprise deployment Ona-managed in your VPC, while the runners documentation lists AWS and GCP runners as managed by you. Get the answer in the contract. Codespaces has no equivalent ambiguity, because you operate nothing.
What happens to Ona after close
Nobody has said Ona is being discontinued, and this page does not predict it. What has not been publicly addressed is the future of the Core plan, the runner model, or support commitments for existing customers after the OpenAI transaction closes. Unanswered is not the same as bad, but it is not the same as answered either.
The thing that is comparable, and it favors one side
Structural durability is the one dimension where the public record supports a clear statement. Codespaces is owned by Microsoft through GitHub and is embedded in the flagship developer product rather than sold as a standalone SKU, which is a materially harder thing to retire than the separate products this category has already lost - AWS closed Cloud9 to new customers and then closed CodeCatalyst, JetBrains discontinued Space, and Daytona left the category entirely. Ona is a capable platform with a pending change of ownership.
That does not make Codespaces risk-free. Its real risks are repricing on infrastructure you do not control, and the concentration that comes from one vendor holding your forge, your CI, your identity, and your environments. Those are different risks, not smaller ones, and they belong in the same register. Risk management covers weighing them against each other.
Related
The reviews behind this page, and the adjacent comparisons
Self-Hosted vs Managed
The framework behind this choice, and what neither managed option can give you
Ona Review
The runner model, the OCU, and the unresolved ownership question in full
GitHub Codespaces Review
Published rates, the core-hour trap, and the storage that bills while stopped
Coder vs GitHub Codespaces
The comparison to read if operating your own control plane is on the table
Coder vs Ona
Where the word "self-hosted" means two incompatible things
Data Residency
Why a regional guarantee and a VPC boundary satisfy different reviewers
FinOps
Controlling a blended billing unit, and an hourly one that idles quietly
Risk Management
Acquisition risk, repricing risk, and vendor concentration side by side
All CDE Tools
The full field, including the self-hostable platforms this page rules out
Sources and Citations
Every figure on this site with its publisher, date, and link
