A platform’s fit turns on two independent measurements — what it structurally is, and how it charges you for being that — not on a single “headless” or “open source” label. This map is current as of July 2026, checked against PrestaShop 9.0, Sylius 2.x, Vendure 3.7.x, OroCommerce 7.0 LTS, nopCommerce 4.90.4, and the live Shopware and Saleor pricing pages. Where a fact couldn’t be confirmed against a primary source during this pass, it’s marked as such rather than smoothed over.
Why architecture category and operating model are two separate axes
A platform’s architecture category describes what it structurally is: a packaged cart, an application framework, a headless or composable engine, a marketplace engine, or an enterprise suite. Its operating model describes how you pay for it: fully open source, open core with paid tiers layered on top, or quote- or usage-priced SaaS. These are independent measurements, not one sliding scale.
Shopware and Saleor prove the point. Both are headless-capable — Shopware through its API-first core, Saleor as an API-only backend by design. But Shopware bills flat monthly tiers regardless of revenue, while Saleor Cloud layers gross-merchandise-value (GMV) overage onto an identical open-source core. Same category, opposite operating model.
The reverse also holds. WooCommerce and nopCommerce are both fully open source, but one is a WordPress plugin extending a CMS and the other is a standalone application — different categories, same operating model. Cross-tabulate the two axes and a platform’s actual position stops being a guess.
Vendor roundups that flatten this into one label — “headless platforms”, “open-source platforms” — are the specific mechanism that misleads buyers. A comparison calling Shopware, Saleor and Vendure all “headless” says nothing about which one bills you for growing revenue.
graph TB
subgraph CAT["Architecture category"]
A1[Packaged cart]
A2[Application framework]
A3[Headless / composable engine]
A4[Marketplace engine]
A5[Enterprise suite]
end
subgraph MODEL["Operating model"]
B1[Fully open source]
B2[Open core, flat tiers]
B3[Open core, usage overage]
B4[Quote-priced SaaS]
end
A1 -.->|WooCommerce, nopCommerce| B1
A3 -.->|Shopware| B2
A3 -.->|Saleor| B3
A5 -.->|OroCommerce, Adobe Commerce| B4
Where cart, framework, headless, marketplace and suite platforms actually sit
Packaged cart. WooCommerce, a plugin on top of WordPress, runs on 8.2% of all websites W3Techs (opens in a new tab) can identify a CMS for — 11.7% of the CMS-detectable market — in its July 2026 capture, against Shopify’s 5.3% (7.6% CMS-share). No other single platform in this series has that raw footprint. PrestaShop 9, released 6 June 2025 (opens in a new tab), also sits in this category, but its back office now runs on Symfony 6.4 LTS with a CQRS-style command/query split — proof that “cart” describes a shape, not a frozen stack.
Application framework. Sylius, now on its 2.x line (opens in a new tab) since 2.0.0 shipped on 12 November 2024 (opens in a new tab) on Symfony 7 and PHP 8.3+, and Spryker, which ships continuous dated releases (opens in a new tab) such as 202512.0 alongside per-module semantic versioning, both hand a developer components to assemble rather than a finished storefront.
Headless / composable engine. Vendure (opens in a new tab) (3.x line, 3.7.x as of July 2026) and Saleor (BSD-3-Clause core) expose commerce logic purely through an API, with no bundled frontend. commercetools goes deeper still: it’s SaaS with continuous releases and no fixed version to cite — record a documentation capture date (opens in a new tab) instead — and it carries the most extensively documented headless API surface in this series.
Marketplace engine. Sharetribe (opens in a new tab), also continuously released SaaS, is built for multi-vendor marketplaces from the ground up — a genuinely different problem from a single-vendor cart, even a headless one.
Enterprise suite. OroCommerce (7.0 LTS) and Adobe Commerce/Magento Open Source (2.4.x line) both target complex B2B and multi-brand operations. Adobe’s own released-versions page (opens in a new tab) puts 2.4.9 at 12 May 2026, with regular support for that line running to May 2029; 2.4.8-p5 shipped the same day for the previous line.
Shopware doesn’t fit one row. Deploy Community Edition and you have a cart; add Evolve or Beyond and its API-first core turns headless-capable — the category shifts with the plan, not with the codebase.
Open source, open core and quote-priced SaaS: the operating-model axis
Fully open source means the code carries no plan gate at all. nopCommerce 4.90.4 (opens in a new tab), released 16 March 2026, ships under the nopCommerce Public License v4.0 — AGPLv3 plus an attribution requirement — with every feature available to anyone who deploys it.
Open core with flat tiers means the free edition is real but capped, and paid tiers add fixed-price capability rather than charging by usage. Shopware (opens in a new tab)’s Community Edition is free; Rise starts from €600/month (excl. VAT) with 8-hour support; Evolve starts from €2,400/month and adds B2B components and advanced search; Beyond is custom-quoted with 24/7 priority support. The bill doesn’t move with revenue.
Open core with usage overage runs the same mechanism against a different meter. Saleor Cloud (opens in a new tab)’s Select tier is $1,599/month up to $200,000 of monthly GMV, then 0.8% on the excess; Volume is $3,999/month up to $1,000,000, then 0.4%; Enterprise is negotiated. The BSD-3-Clause core is identical to what you’d self-host for free — Cloud charges for the operated service, and the overage clause is what a flat-fee comparison table tends to hide.
Quote-priced enterprise tiers skip a public number entirely: OroCommerce Enterprise Edition and Adobe Commerce’s commercial licensing both require a direct vendor quote.
commercetools and Sharetribe are continuously released SaaS with no version string at all — record the pricing or documentation capture date next to any fact you cite, because “current” for these platforms means “current on the day you checked.”
Quoting “Saleor: from $1,599/month” without the overage clause isn’t wrong, it’s incomplete — and incomplete in the direction that hides cost as revenue grows.
What headless and composable commerce actually mean versus MACH marketing
Headless means the storefront’s presentation layer is decoupled from the commerce backend via API, with no bundled frontend rendering — the backend has no opinion about what renders the page. Composable commerce goes a step further: assembling best-of-breed services — search, payments, catalogue, checkout — instead of deploying one monolith that does all of it.
Most of the marketing vocabulary around both terms traces back to the MACH Alliance (opens in a new tab), which describes itself as “the global industry body for open, composable, and connected enterprise technology.” MACH is widely expanded as Microservices, API-first, Cloud-native, Headless. commercetools identifies itself as a founding member (opens in a new tab) on the alliance’s own member page.
None of that vocabulary describes licensing, completeness, or plan boundaries. A shortlist labelled “headless” happily puts Shopware next to Saleor and Vendure — and quietly erases the fact that Shopware’s B2B components sit behind a paid plan, and that none of the three ship first-party multi-vendor marketplace support. “Headless” names a position on the architecture-category axis. It says nothing about what a specific plan includes, and nothing about the operating model that determines the bill.
Which platforms ship AI-agent tooling versus raw API depth
Having a deep API and shipping AI-agent tooling are different claims, and 2027 buying conversations routinely conflate them.
Saleor ships an official, first-party MCP (Model Context Protocol) server (opens in a new tab) — read-only, compatible with Saleor 3.21 and later — that lets an agent query product, customer and order data with no custom integration layer. OroCommerce shipped its own MCP Server covering both Back-Office and Storefront (opens in a new tab) as part of the 7.0 LTS line, exposing pricing rules, account hierarchy and approval workflows directly to agents.
commercetools has the deepest documented dual REST/GraphQL surface in this series, and it ships first-party agent tooling too: mcp-essentials (opens in a new tab), public and MIT-licensed since June 2025, plus a template for a remote MCP server hosted on commercetools Connect (opens in a new tab). Both are considerably younger and less starred than Saleor’s, so treat “ships an MCP server” as the start of the question rather than the end of it — what matters for a purchase decision is which objects each one actually exposes.
The sequence below shows why the gap matters in practice: a platform with a shipped MCP server answers an agent’s query directly, while a platform without one routes the same query through a team that has to build the equivalent layer first.
sequenceDiagram
participant Agent as AI agent
participant MCP as Saleor / OroCommerce MCP server
participant API as commercetools REST/GraphQL API
participant Team as Integration team
Agent->>MCP: Query order status
MCP-->>Agent: Structured response, same day
Agent->>API: Query order status
API--xAgent: No agent-facing tool exposed
Team->>API: Build custom MCP-equivalent layer
Team-->>Agent: Integration ships weeks later
Ranking commercetools above Saleor and OroCommerce on “AI-readiness” purely from API completeness forces a team to fund the build step the other two skip.
The edition and pricing boundaries vendors don’t lead with
OroCommerce’s own documentation (opens in a new tab) states that multi-organization support, multi-website support, multi-currency support and multi-warehouse inventory management are Enterprise Edition-only. The OSL-3.0-licensed Community Edition core doesn’t include them — not a degraded version of them, an absence.
Shopware’s boundary runs on the same mechanism inside a different category. B2B components and advanced search are gated to Evolve and Beyond; the free Community Edition core doesn’t have them at all. Both vendors withhold specific, named capabilities behind a plan line, and both accurately call the free tier “open source” — accurate, but incomplete, if you stop reading at the license.
Saleor’s boundary works differently. Nothing is withheld from the code; the Select and Volume tiers meter GMV and bill overage past a threshold. The same open-source core runs identically whether you self-host it for free or pay Saleor Cloud for the operated version — usage-based, not feature-based.
The failure case is concrete and common: a buyer picks OroCommerce Community Edition for a multi-brand, multi-currency rollout, builds against it for weeks, then discovers multi-website and multi-currency support are Enterprise-only exactly when the second brand needs to launch.
graph LR
subgraph CE["OroCommerce Community Edition"]
O1[Catalogue and checkout]
O2[Single organization]
O3[Single website]
end
subgraph EE["OroCommerce Enterprise adds"]
O4[Multi-organization]
O5[Multi-website, multi-currency]
O6[Multi-warehouse inventory]
end
subgraph SWCE["Shopware Community Edition"]
S1[Storefront and catalogue]
S2[Checkout]
end
subgraph SWPAID["Shopware Evolve / Beyond add"]
S3[B2B components]
S4[Advanced search]
end
Before scoring any platform “open source” on a comparison sheet, write down which named capabilities move behind the paid tier — not just whether a paid tier exists at all.
Build your own two-axis evaluation without this article
The same five-step check works on any platform this series didn’t cover.
First, read the vendor’s own architecture documentation and assign a category — cart, framework, headless engine, marketplace engine or suite — against the feature set actually deployed on the plan you’d buy, not the marketing page.
Second, identify the exact mechanism of the paid boundary: feature-gated, GMV- or usage-linked, or fully quote-priced.
Third, record a capture date next to every version and price, since continuously released SaaS — commercetools, Sharetribe, Saleor Cloud pricing — has no fixed version to point at instead.
Fourth, check for a first-party MCP or agent product before crediting any platform as “AI-ready” on the strength of its API alone.
Fifth, cross-check any single-source version or end-of-life claim against the vendor’s own release notes before it lands in a purchase decision document.
{
"platform": "<name>",
"architecture_category": "packaged-cart | application-framework | headless-engine | marketplace-engine | enterprise-suite",
"operating_model": "open-source | open-core-flat | open-core-usage | quote-priced-saas",
"paid_boundary_mechanism": "feature-gated | usage-linked | fully-quoted | none",
"first_party_mcp_or_agent_product": "confirmed | not-confirmed | not-applicable",
"version_or_capture_date": "<version string or YYYY-MM-DD>",
"source_url": "<primary vendor documentation URL>",
"confidence": "high | medium | low"
}flowchart TD
A[Platform to evaluate] --> B[Read vendor architecture docs]
B --> C[Assign architecture category]
C --> D[Identify operating model and boundary mechanism]
D --> E[Record capture date on every fact]
E --> F{First-party MCP or agent product?}
F -->|Confirmed| G[Mark AI-agent ready]
F -->|Not confirmed| H[Mark needs verification]
G --> I[Cross-check versions against vendor release notes]
H --> I
I --> J[Enter sourced, dated row in the two-axis grid]
You should now see: a filled two-axis grid entry for your own shortlist, sourced from primary vendor documentation, with a confidence level attached to any fact you couldn’t verify directly.
What this series didn’t verify, and what to re-check before you buy
This pass has known gaps, stated plainly rather than smoothed over.
Two gaps from an earlier pass have since been closed against primary sources, on 5 August 2026: Adobe’s released-versions page (opens in a new tab) confirms 2.4.9 at 12 May 2026, matching what third-party trackers had reported; and commercetools does ship first-party MCP tooling, which an earlier pass had failed to find. Both are dated facts about fast-moving products — re-check them rather than inheriting them.
Several current point releases at capture date remain unconfirmed: Shopware’s current core minor, Sylius’s current 2.2.x patch, OroCommerce’s current 7.0.x patch, and Spryker’s current dated identifier.
This article doesn’t benchmark performance, hosting cost or migration effort for any platform — that requires hands-on testing per platform, not a synthesis pass.
Re-run every version and pricing check against the vendor’s own site at the moment you decide. SaaS and open-core pricing pages change with no changelog entry to flag it.