Free PHP Open Source Ecommerce Shopping Carts – Reviews and Prospects

Being a store owner or company that sell goods or products to customers will usually make you think how to maintain or even increase the sales. One viable solution is by selling online. By putting products on the internet, products will be exposed to larger audience and there will be bigger chance to improve the sales. There is traditional merchants that help people selling products like eBay. Using eBay service, after registering you can simply put your homepage and start selling. However, with more various products and goods you offer and more control you need over your sales, hosting and operating your own shopping cart can be a better solution.

This article will provide comparisons among different popular shopping carts software available on the internet. As every businessman tends to minimize operational cost, only free open source ecommerce shopping carts will be compared and reviewed. The scope is also narrowed to PHP based shopping carts as most budget-wise hostings support PHP.

There are some free carts offered on the net but not so many are popular. Here, we’ll discuss 4 free shopping carts worth considering. The list includes osCommerce, ZenCart, VirtueMart, and Magento. To give you some idea about the popularity of these carts, let’s use data from Google Trends:

Google trends for some php open source shopping carts
Recent Google trends for some PHP Shopping Carts

Basic Info You May Need To Know

The table below provides basic information about each cart. Data is extrapolated from several resources.

OsCommerce ZenCart VirtueMart Magento
License GPL v2 GPL v2 GPL v2 OSL v3
First Release 2003 2005 2005 2007
Owner/Leader Harald Ponce de Leon Zencart Team Sören Eberhardt-Biermann Varien
Parent osCommerce phpShop
Dependency Joomla*
Status stable stable stable beta**
Cost $0 $0 $0 $0
Commercial Ver. CRE Loaded
Download osCommerce ZenCart VirtueMart Magento
*) VirtueMart is basically an extension of Joomla
**) as of December 28th, 2007

osCommerce is by far the most mature cart compared to others. This, however, doesn’t automatically mean that osCommerce outperforms other contenders. We’ll see more in-depth specifications and reviews for all carts.

1. Oscommerce

Technical specifications:

Code base PHP 4
PHP 5 compatibility Partial (3rd party module not assured)
Framework used
Database MySQL
Latest release 2.2 RC1

Feature specifications:

Web based installation yes
Multi-lingual yes
Multi-currency yes
Customer group via contribution
Product types physical and downloadable
Unlimited products and categories yes
Product image 1 per product
Configurable product via contribution
Product discount simple discount enabled, other type of discounts via contribution
Product attributes yes, minimal
Product tax yes
Coupon/gifts via contribution
Product import/export via contribution
Product reviews from user yes
Affiliate system via contribution
SEF URLs via contribution
SSL support yes
Payment modules (default) Authorize.net, Chronopay, Cash on delivery, iPayment, Check/money order, NOCHEX, Paypal, Paypal IPN, PayQuake, 2Checkout, PSIGate, SECPay, Sofortüberweisung Webseite besuchen, Worldpay Junior
Shipping modules (default) Flat Rate, Per Item, Table Rate, USPS, Zone Rates

Difficulty level for development:

Template integration Easy to advanced
Module/coding work Easy to advanced
Scalability (same system) Scalable through massive base code rework, profiling

Review:
osCommerce can be considered as the most widely recognized free php-based shopping cart on the net. Someone who needs to setup quick online stores can just download the application, buy desired templates from a lot of template stores and start running the store. osCommerce is suitable for small to mid size stores which run normal selling and checkout process. With just default features installed, one shouldn’t have a lot of difficulties running his/her own store after spending some time reading the documentation.

Problem comes when store owner wants to customize the cart or implement advanced features such as group discount, configurable products, custom payment module, etc. These features are not enabled by default and store owner has to rely on contribution made by other osCommerce. US store owner may also complain because there is no default UPS shipping module and osCommerce forum should be the last resort for getting information which module to use. The caveat for this situation is unavailability of long term support from contribution author. Some contributions are not well-maintained thus increasing risk of its insecurity and incompatibility.

For owner with minimum coding/development experience but urging for customization, assistance from developer or designer is needed. osCommerce also doesn’t have a specific templating system. To create a unique new template, big chance is store owner will end with tons of question in forums. Hence, hiring a designer to build the template usually become the best option. Fortunately, due to its popularity there are a lot of companies or freelancers offering osCommerce template or coding work.

Given that osCommerce is popular albeit its shortcomings, some forks (branch project) of osCommerce are around to be picked, including the maximized version oscMax.

Prospect:
Although osCommerce is popular, recently its development seems sluggish and its shortcomings may prevent incremental download trend. If there is better cart shipped in the future year, there is possibility to some degree for osCommerce users to shift to a new solution.

2. ZenCart

Technical specifications:

Code base PHP 4
PHP 5 compatibility Yes
Framework used
Database MySQL
Latest release 1.3.8a

Feature specifications:

Web based installation yes
Multi-lingual yes
Multi-currency yes
Customer group only for pricing
Product types physical and downloadable
Unlimited products and categories yes
Product image multiple images
Configurable product yes
Product discount yes
Product attributes yes
Product tax yes
Coupon/gifts yes
Product import/export yes
Product reviews from user yes
Affiliate system via module
SEF URLs via module
SSL support yes
Payment modules (default) Authorize.NET, credit card (offline), cash on delivery, ZenCart free charge card, Linkpoint API, check/money order, NoChex APC, PayPal (IPN/ Website Payments Standard, Website Payments Pro, Express Checkout) and other non defaults
Shipping modules (default) Flat rate, free shipping, per item, per unit, store pickup, table rate, UPS, USPS, zone rates

Difficulty level for development:

Template integration Easy to medium
Module/coding work Easy to advanced
Scalability (same system) Scalable through massive base code rework

Review:
ZenCart has better innate functionalities compared to osCommerce. Most are basically features that osCommerce users crying out to be included into the package like featured products, more complete shipping modules, coupons/gifts, and more robust discounts.
There is strong relation between osCommerce and ZenCart users that is ZenCart users often had osCommerce experience in the past. As ZenCart is a fork project from osCommerce, this is understandable.

A big caveat using ZenCart is its admin panel. Because of lots of features loaded, the admin panel looks a bit messy and counter intuitive (in short term, big usability problem). Without paying lots of attention to the documentation, first try using the admin panel might let somebody lost in endless clicks and guesses.

ZenCart is shipped with standard frontend template which in most cases will make store owner changes the default template with a better one. Good news is ZenCart uses templating system so that it’s more friendly for developers (still, it’s not friendly for someone who’s new to the HTML, CSS, and PHP islands). Store owner can ask support from the forum or hire developer or designer to do custom template or development work.

Just like osCommerce, ZenCart doesn’t have native SEF URLs support.

Prospect:
osCommerce user who has tinkered with ZenCart for a while will likely move their store to ZenCart platform. With similar functionalities but more complete features and faster development, ZenCart has its own growing niche from former osCommerce users. However, Zen Cart is sometimes a turn-off for those who want quick comprehension on using all the features it has and professional-look default template.

3. VirtueMart

Technical specifications:

Code base PHP 4
PHP 5 compatibility Partial (3rd party module not assured)
Framework used Joomla CMS Framework
Database MySQL
Latest release 1.0.13a, 1.1 beta2

Feature specifications:

Web based installation yes
Multi-lingual yes
Multi-currency yes
Customer group yes
Product types physical and downloadable
Unlimited products and categories yes
Product image multiple images
Configurable product yes
Product discount yes
Product attributes yes
Product tax yes
Coupon/gifts yes
Product import/export yes
Product reviews from user yes
Affiliate system yes, external system integrated
SEF URLs minimal, 3rd party SEF
SSL support yes
Payment modules (default) 2Checkout, Paypal (IPN, Payflow Pro), Authorize.NET (AIM), eCheck, eProcessingNetwork, eWay, Ikobo, Dankort, NoCHEX, Paymate, PayMeNow, WorldPay, Cash on Delivery, Purchase Order other non defaults
Shipping modules (default) DHL, UPS, other non defaults

Difficulty level for development:

Template integration Easy to medium
Module/coding work Easy to advanced
Scalability (same system) Scalable through Joomla code base rework, profiling

Review:
VirtueMart enjoys its shares through the fame of Joomla and Mambo. Originating from phpShop, Virtuemart has transformed into the only shopping cart solution for Joomla CMS. Installed as another extension of Joomla, VirtueMart offers Joomla users to create their own online stores within Joomla environment through the simple process (installing via Joomla backend admin panel). Talking about usability, VirtueMart has better user-friendliness compared to osCommerce and ZenCart.

VirtueMart is perfect for store owner who wants added functionality for their store or site owner who wants shopping cart enabled within his/her site. One can also setup full online stores in VirtueMart but he will undermine the power of Joomla.

As the consequence of being a part of Joomla, Virtuemart is likely to suffer performance issue when it’s used on high-traffic site. Besides horizontally scaling (ie. adding more servers), VirtueMart can be optimized by minimizing Joomla code base or the classic profiling + static apache/lighthttpd compile.

Prospect:
Virtuemart will retain its growth in accordance with Joomla growth. As Joomla is mostly used by small or medium sites, VirtueMart is best fitted for small to medium stores. For big stores with complex product chains, store owner will likely go with another solution.

4. Magento

Technical specifications:

Code base PHP 5
PHP 5 compatibility Yes
Framework used Zend Framework
Database MySQL
Latest release 0.6.14100

Feature specifications:

Web based installation yes
Multi-lingual yes
Multi-currency yes
Customer group yes
Product types physical and downloadable
Unlimited products and categories yes
Product image multiple images
Configurable product yes
Product discount yes
Product attributes yes
Product tax yes
Coupon/gifts yes
Product import/export yes
Product reviews from user yes
Affiliate system no
SEF URLs yes, optimal
SSL support yes
Payment modules (default) CC (offline), check/money order, purchase order, Authorize.NET, PayPal (Direct, Express, Payflow Pro)
Shipping modules (default) Table rates, free shipping, flat rate, UPS, USPS, FedEx, DHL

Difficulty level for development:

Template integration Medium to advanced
Module/coding work Medium to advanced
Scalability (same system) Scalable through code minimization and optimization, profiling

Review:
Professional. That’s the first impression I had when trying Magento. Magento has almost all features a store owner may need. I was a bit surprised to see a lot of functionalities offered considering its status as open source product. Getting its first buzz by being featured in Zend Framework homepage, Magento gradually gets more positive responses from testers and reviewers.

With PHP 5 as code base and Zend Framewok as skeleton, Magento harnesses XML power offered by PHP 5. With fully object-oriented design, Magento offers modularity even in its smallest block of codes.

Store owner may find how flexible Magento is. Each product can have its own attributes and unique URL. Owner can also create different landing pages for different categories by modifying HTML from admin panel. The admin panel is user friendly and AJAX is used to make administration more interactive and easier. Features like drag and drop and live update which are missing from other free carts can be found in Magento admin panel. If you have tried several free carts before and decides to try Magento, you will immediately like it because it does what an enterprise shopping cart does (but in free notion) until…

Magento is evil when it comes to performance and development. At current phase, Magento is not well-suited for store owner with limited budget who can’t host in VPS or dedicated server and hire decent developer. Magento loads very slow at the first time and might make visitor think about getting snacks or drinking coffee while waiting for the page to fully loads. AJAX interface is sometimes unstable and resource extensive. Once I got memory allocation failure (request took memory more than maximum allowed for single request) while updating product category. However, speed puzzle in Magento is “easier” to be solved by implementing trivial effort like profiling or caching and code optimization (only for professional developers). Because Magento utilizes Zend Framework, once Zend Framework gets faster, Magento will also follow.

Developing in Magento can also be a nightmare for non developers or those with minimum MVC experience. Templating in Magento is not straightforward and technical skill is undoubtedly necessary.

Prospect:
Although it’s still in beta phase, a lot have mentioned that Magento has bright future. Talking about its current features and flexibility, this will probably become a reality. Magento is backed by a company hence there is more definitive milestones and roadmap. Once the performance issue has been addressed and Magento reaches its stable release, we might see migration from mid-size osCommerce or ZenCart stores to Magento.

11 Responses to “Free PHP Open Source Ecommerce Shopping Carts – Reviews and Prospects”


  • Excellent article for those of us looking for options in cart without trying out each one!!! I’ve done a lot of research on Magento, and it doesn’t seem to feature downloadable products at this time (although it is planned).

    Thank you!

  • great review -we are looking at Magento at the Mo.

  • Magento seems to be working fine now and many bugs are removed.

    I offer service for magento owner: http://www.website1service.com

  • @Matt
    there is a difference between “seems to be working fine” and “working fine to fit the corporate or company business requirements”. Magento DOES provide all the fancy features and astounding user experiences demanded by enterprise shopping carts but it still strives to get around the scalability problem (even after 1.0 release).

    this is indeed a tough question to answer. when one wants to improve scalability, in most case he will deteriorate the flexibility deliberately or accidentally.

  • I dont agree with this, oscommerce has a very bad implementation of templating resulting in redundant coding of multiple pages from product listing to product detail and checkout. it doesnt give you the ease of making things in one place not like what magento, virtuemart and zendcart has. in part of coding wise oscommerce does not deliver a good class structure since it doesnt have a built on framework that developers can understand and relate to. in part of database structure its not well done and naming conventions was not implemented wisely. so these are the reasons why i think this discussion is faulty.

  • @Oliver
    Thank you for your opinion. However, I think you need to scrutinize the content of my review and discern “difficulty level” from “effectivity” in a templating system.

  • I’ve had some experience recently withMagento and have to agree with the general user population. Once installed it’s like a dream. Everything seems to work well, yet just like a dream there are certain things that for no apparent reason get “weird”. Lots of complaints about the order emails not going to admin and other random things you would think would be ironed out. However, it is an excellent product with huge potential and after a bit of education (all available on the magento site) developing a store based on it is quite easy.

  • I think zen cart is a good choice – it’s more advanced than oscommerce If you’re interested in switching to zen cart you can try online service called cart2cart. It automates data migration to zen cart and makes it accurate (www.shopping-cart-migration.com)

  • Thanks for the useful post. I think im gonna try magewnto, even though i dont have dedicated server, ill let everyone know how it goes.

  • Greetings! I’ve been following your website for a long time now and finally got the courage to go ahead and give you a shout out from Dallas Tx! Just wanted to mention keep up the great work!

Leave a Reply