We’ve been working on an integration of the Magento e-commerce platform for opentaps Open Source ERP + CRM, and some of our long-time users have also talked about integrating opentaps with Spree. I took a quick look at both and make some notes about them. Since we’re not developers of or service providers for either one, and we plan to support integration with both in opentaps, I hope you’ll consider this an unbiased if somewhat “bird’s eye” comparison of Spree vs. Magento.
Spree is lightweight and easy to use, and the user interface for both the online store and the backend administrative module were quite intuitive. There is a good amount of documentation on the Spree website, and the authors of Spree seem really interested in helping you understand their system and work with it. Their BSD license is one of the least restrictive open source licenses. There is an active community around Spree, as evidenced by the Spree extensions available. Finally, Spree is written in Ruby on Rails, which is a very well-thought out web development frameworks.
Magento is a much bigger application than Spree. Its online store is also very intuitive and easy to use, but it’s altogether more polished and commercial-looking than Spree. The backend administrative applications are bit more complex, though. The free documentation available seems to be just the Magento wiki, which has a lot of content available but is not as consistent. There are also several books on Magento, ranging from to Magento: Beginner’s Guide to The Definitive Guide to Magento and php/Architect’s Guide to E-Commerce Programming with Magento. (Note: I haven’t read these books yet and can’t give them any recommendations.) Finally, Magento is written in PHP and the code seemed well-organized on first inspection, which means that a good developer should not take too long to get familiar with it.
Magento has a commercial/open-source licensing model, and the free version is licensed under the OSL 3.0 license. The OSL 3.0 is also a true open source license approved by the Open Source Initiative, but it is more restrictive than the BSD and the GPL license. (See the GNU Project’s comments about the OSL, for example.) Still, do not view this as purely negative. If the commercial/open source licensing model can support full-time professional developers to work on Magento’s open source version, then ultimately it would benefit most real end users of the open source Magento e-commerce platform.
The biggest advantage for Magento, though, seems to be its large number of third party modules available. There are over 1300 add-on modules available for Magento. (And the opentaps-Magento integration will soon be one of them!) Although most of these are commercial (as in “for pay”), and many of the free ones are in “beta” status, there still seems to be a lot of stable, free modules available.
How to Choose?
My personal opinion is that this comes down to a decision between Ruby on Rails and PHP. You should ask yourself which one you would prefer to work with and feel more comfortable with. However, keep in mind that while Ruby on Rails has been a very successful web development framework, PHP is simply the most dominant one today. (See for example O’Reilly’s State of the Computer Book Market and the TIOBE Software Index.) Therefore, there are many more developers, service providers, and add-on modules for PHP than Ruby. For example, Facebook’s developer API is mainly for PHP. Until Ruby on Rails comes up with a “killer app” that does something which PHP fundamentally is not well-suited for, I would not expect this to change.