Quick answer
- Pick Bagisto if your team knows Laravel, or you want a headless store, B2B features or a multi-vendor marketplace on a modern PHP stack.
- Pick OpenCart if you run a single store, want the simplest install on ordinary PHP and MySQL hosting, and are happy to build from a large extension marketplace.
- Pick Drupal Commerce if the shop is one part of a content-heavy Drupal site, or you need several stores, currencies and languages managed in one CMS.
All three are free, open-source PHP applications. You host them yourself, so you also take on updates, backups and security.
At a glance
The first five rows are live: they come from our nightly refresh of each project’s repository, the same data behind every Repoly ranking. The last two are our summary of the official docs.
| Bagisto | OpenCart | Drupal Commerce | |
|---|---|---|---|
| Health | |||
| Stars | 28k | 8.2k | 410on git.drupalcode.org |
| Last commit | |||
| Latest release | v2.5.0 | 4.1.0.4 | None found on git.drupalcode.org |
| Licence | MIT | GPL-3.0 | GPL-2.0 |
| Tech stack | PHP 8.3+, Laravel, Vue.js; MySQL, MariaDB or PostgreSQL | PHP, MySQL; no framework | PHP 8.1+, a module for Drupal 10.3 or 11 |
| Best for | Laravel teams, headless, B2B and marketplaces | Single stores on standard PHP hosting | Shops inside a content-heavy Drupal site |
Health is our 0 to 100 maintenance score: commits in the last 90 days, release recency, stars, archive status and Docker support. The formula is on our data page. Two caveats apply here. Drupal Commerce’s code lives on git.drupalcode.org, so its star count is not comparable with the GitHub projects. Its releases are published on drupal.org rather than as releases our refresh can read, so the score gets no release points (more on that below).
Bagisto
Bagisto’s README calls it an “Open Source eCommerce & Multi-Vendor Marketplace Platform Built with Laravel”. The storefront and admin use Vue.js, and the code is released under the MIT licence.
Strengths. If you already write Laravel, Bagisto is familiar territory: a Composer project installed with composer create-project and an artisan command, with a web installer, Docker and Laravel Sail documented as alternatives. Channels, languages, currencies, taxes and inventory sources are built in, and the README lists more than 20 locales, including Arabic and Hebrew. A REST API and a GraphQL endpoint, shipped as a separate bagisto/bagisto-api package, make it usable as a headless backend; the README links a Next.js storefront. For B2B, the free, MIT-licensed B2B Suite adds company registration and approval, role-based permissions, requisition lists, quick order, request for quote and company credit.
Weaknesses. The multi-vendor marketplace, the feature in Bagisto’s own tagline, is a paid extension: $449 on bagisto.com at the time of writing. The requirements are modern: PHP 8.3 or 8.4, Composer 2, MySQL 8.0, MariaDB 10.11 or PostgreSQL 16, and a recommended 512 MB PHP memory limit. Check that your host offers all of them before you choose. The upgrade guide covers 2.1 onwards only, one version at a time, and warns that re-running php artisan bagisto:install wipes the database.
Who it suits. Laravel developers and agencies, headless builds, B2B stores, and marketplaces where the extension fee is acceptable.
Project health. Bagisto scores 88/100 (GOOD) in our data, with 547 commits in the last 90 days and 28 open issues. The latest tag we record is v2.5.0. Note that this can be a pre-release: on 3 October 2026 version 2.5.0 was in beta and 2.4.12 was the current stable release.
OpenCart
OpenCart calls itself “a free open source ecommerce platform for online merchants”. It is plain PHP with no framework underneath, licensed under GPLv3.
Strengths. The install is the simplest of the three. Upload the files over FTP or cPanel, rename config-dist.php and run the web installer; no Composer or command line is needed. The official marketplace lists “more than 13 000 modules and themes”, free and commercial, sold by third-party developers. Multi-store is built in (“manage multiple stores from one admin interface”), as are any currency with automatic rate updates and more than 40 languages, including right-to-left ones.
Weaknesses. There is no built-in multi-vendor or B2B support; both come from third-party extensions, and the ones we found are paid. Upgrades are the bigger risk. The upgrade notes for 4.1.0.4 cover only 4.1.0.0 to 4.1.0.3, and we found no official upgrade path from 3.x to 4.x. The README warns that even a minor release “would likely break some 3rd party modules”, so every extension you add is something to retest. The official requirements disagree with each other: the README badge says PHP 8.0 or newer, the 4.1.0.4 installer checks for PHP 8.1, and the download page still says PHP 5.4. OpenCart mentions an API for third-party applications, but we found no REST or GraphQL documentation.
Who it suits. Owners of a single small to mid-sized store who want to install on ordinary PHP and MySQL hosting and assemble features from the marketplace.
Project health. OpenCart scores 86/100 (GOOD), with 567 commits in the last 90 days, 147 open issues and 4.1.0.4 as the latest release.
Drupal Commerce
Drupal Commerce is an e-commerce module for Drupal, which its docs describe as “an open-source eCommerce platform that lets you sell any type of product to anyone in the world”. It is licensed GPL-2.0-or-later.
Strengths. Products, orders and editorial content share one CMS, with Drupal’s content modelling, permissions and translation behind them. Its maintainer, Centarro, says it supports “multi-store use cases out of the box”, “every currency in the world” and “any number of additional languages”. The project site counts “100+ integrations in our free module library”, and our dataset describes it as working with “dozens of payment, shipping, and shopping related modules”. For decoupled front ends there is a Commerce API built on Drupal’s JSON:API, though it is still a release candidate.
Weaknesses. You need Drupal skills: it installs only through Composer (composer require drupal/commerce), and Commerce 3.x needs PHP 8.1 or newer, the bcmath extension and Drupal core 10.3 or 11. The Commerce Kickstart starter project and the contributed Commerce Marketplace module both state “There are currently no supported stable releases”. Centarro says you can build a B2B portal “without any code” , and lists price lists, purchase orders and quotes, but does not say which modules provide them or whether they are free. Commerce 1.x runs on Drupal 7, which reached end of life on 5 January 2025, so a 1.x store faces a rebuild either way.
Who it suits. Teams already on Drupal, publishers adding a shop to a large content site, and multi-store or multilingual setups with developers to configure them.
Project health. Drupal Commerce scores 55/100 (SLOWING) in our data, with 32 commits in the last 90 days, so the code is active. The score is held back because our refresh finds no release on git.drupalcode.org. drupal.org lists 3.3.10, from September 2026, as the latest release, and says upgrading from 2.x to 3.x is supported.
Head-to-head comparison
| Bagisto | OpenCart | Drupal Commerce | |
|---|---|---|---|
| Ease of setup | Composer and artisan, or the web installer, Docker or Sail | Upload files, run the web installer; no command line | Composer only, on top of a Drupal site |
| Extensions and themes | Bagisto marketplace, free and paid; README cites 200+ extensions | Marketplace of 13,000+ modules and themes, free and commercial | Contributed modules on drupal.org; 100+ free integrations |
| Multi-vendor | Paid official extension | Third-party extensions only | Multiple stores built in; marketplace module has no stable release |
| B2B | Free B2B Suite (MIT) | Third-party extensions only | Possible with modules; which ones are free is unclear |
| Hosting needs | PHP 8.3+, Composer 2, MySQL 8 / MariaDB 10.11 / PostgreSQL 16, 512 MB memory; Elasticsearch 8 and Redis optional | PHP and MySQL with curl | Drupal 11: PHP 8.3+, MySQL 8 / MariaDB 10.6 / PostgreSQL 16 / SQLite 3.45 |
| Community and maintenance | Forum, Facebook group, GitHub Discussions; upgrade guides from 2.1 on | Forum, GitHub Discussions, Teams chat; no 3.x to 4.x upgrade path | Slack #commerce, drupal.org issue queue; supported 2.x to 3.x upgrade |
Ease of setup. OpenCart is the only one a non-developer can install from a hosting control panel. Bagisto expects a developer comfortable with Composer, although its web installer helps. Drupal Commerce expects a developer who already knows Drupal.
Extensions and themes. OpenCart has the largest marketplace by its own count, and paid extensions are normal on both it and Bagisto. Drupal Commerce follows Drupal’s model: contributed modules are free, and the cost is the developer time to assemble and configure them.
Multi-vendor and B2B. Bagisto is the only one with first-party answers to both: a paid marketplace extension and a free B2B suite. With OpenCart you depend on third-party extensions. Drupal Commerce can run several stores, but the marketplace module has no stable release.
Hosting needs. OpenCart runs on the most basic PHP and MySQL hosting. Bagisto and Drupal Commerce want a VPS or managed PHP host where you control the PHP version, Composer and, for Bagisto, optionally Elasticsearch and Redis.
Community and maintenance. All three are actively committed to; the health column above shows how recently. The difference is the upgrade story. Drupal Commerce documents a supported 2.x to 3.x upgrade, Bagisto documents upgrades from 2.1 onwards, and OpenCart documents only patch-level upgrades within 4.1.
Moving from Shopify
Shopify runs the servers, updates, checkout and app ecosystem for you. On any of these three, those become your job or your developer’s.
- Hosting and updates. Budget for a server, backups, PHP and database upgrades, and applying security releases promptly. OpenCart’s warning that minor releases can break extensions applies to all three in practice: test updates on a copy first.
- Theme. Your Shopify theme will not carry over. Each platform has its own theme system, so plan a rebuild or a marketplace theme.
- Apps become extensions. List the Shopify apps you rely on and find the equivalent extension or module before you choose. Payments, shipping and tax all come through the platform’s own settings and extensions, so confirm your payment provider has a maintained one.
- Data. Treat products, customers and orders as a separate migration project. Keep the old store live until the new one has taken real orders.
Bagisto and OpenCart are both on our ranked list of open source alternatives to Shopify, alongside other self-hosted platforms such as Medusa, Saleor, Sylius and PrestaShop, if none of these three fits.
FAQ
Is OpenCart still maintained?
Yes. Our data records 567 commits in the last 90 days and 4.1.0.4 as the latest release. On 11 August 2026 OpenCart shipped 4.1.0.4 and 3.0.5.1 together, so the 3.x line also still gets releases, and the main branch is working towards 5.0. There is no published support or end-of-life policy.
Which is easiest to self-host?
OpenCart. It installs by uploading files and running a web installer, on standard PHP and MySQL hosting. Bagisto and Drupal Commerce both need Composer and a recent PHP version, which usually means a VPS or a managed PHP host.
Is Bagisto free?
The core is free under the MIT licence, and so is the B2B Suite. The official multi-vendor marketplace extension is paid ($449 at the time of writing), and the extension marketplace mixes free and paid items, including paid themes.
Can Drupal Commerce run a multi-vendor marketplace?
It supports multiple stores out of the box, and its docs name marketplaces as one use for them. The contributed Commerce Marketplace module has no supported stable release, so expect custom development.
Which is best for B2B?
Bagisto has the most complete free option: its MIT-licensed B2B Suite covers company accounts, roles, quotes, quick order and company credit. Drupal Commerce can do B2B with modules and configuration. OpenCart relies on third-party extensions.
Verdict
Choose Bagisto for a modern Laravel codebase with an API, B2B or a marketplace. Choose OpenCart for the quickest route to a single store on ordinary hosting, accepting that extensions and upgrades need care. Choose Drupal Commerce when the store belongs inside a Drupal site, or when multi-store and multilingual content matter more than setup speed.
If you are still deciding whether to leave Shopify at all, see every open source Shopify alternative ranked by health, or browse the full e-commerce category.
Sources
- Bagisto README: github.com/bagisto/bagisto
- Bagisto requirements: devdocs.bagisto.com/getting-started/before-you-start.html
- Bagisto installation: devdocs.bagisto.com/getting-started/installation.html
- Bagisto upgrade guide: devdocs.bagisto.com/getting-started/upgrade-guide.html
- Bagisto API: devdocs.bagisto.com/api/introduction.html
- Bagisto B2B Suite: github.com/bagisto/b2b-suite and docs.bagisto.com/b2b-ecommerce-platform/introduction.html
- Bagisto multi-vendor extension: bagisto.com/en/extensions/laravel-multi-vendor-marketplace/
- OpenCart README, INSTALL.md and UPGRADE.md: github.com/opencart/opencart
- OpenCart features: opencart.com/index.php?route=cms/feature
- OpenCart download and requirements: opencart.com/index.php?route=cms/download
- Drupal Commerce project page: drupal.org/project/commerce
- Drupal Commerce code and composer.json: git.drupalcode.org/project/commerce
- Drupal Commerce docs: docs.drupalcommerce.org
- Drupal Commerce features: centarro.io/drupal-commerce/features
- Commerce Kickstart: drupal.org/project/commerce_kickstart
- Commerce Marketplace: drupal.org/project/commerce_marketplace
- Commerce API: drupal.org/project/commerce_api
- Drupal system requirements: drupal.org/docs/getting-started/system-requirements
- Drupal 7 end of life: drupal.org/about/drupal-7/d7eol
- Live health, stars, commits and releases: Repoly open data, refreshed nightly