Sharing the experience of managing an Open Source Project like Magento, some of the key decisions we made that lead to Magento becoming the leading eCommerce application in the world and the challenges, failures and successes we had.
Choose Your Travel Partner(s)
• Seek travel partners who share a common interest.
• Discuss your trip budget when choosing adventure companions.
• Review your ideal itinerary and travel dates.
• Travel on a short excursion before taking a longer one.
• Locate potential travel partners online if you can't find any through your
Co-Founder and x.CEO,
• Open Source: is a philosophy, or pragmatic methodology that promotes
free redistribution and access to an end product's design and
• Open Source Software :(OSS) is computer software that is available with
source code: the source code and certain other rights normally reserved
for copyright holders are provided under an open-source license that
permits users to study, change, improve and at times also to distribute the
The Open Source Definition
Introduction: Open source does not just mean access to the source code. The
distribution terms of open-source software must comply with the following
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
5. No Discrimination Against Persons
6. No Discrimination Against Fields of
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral
Open Source Technologies
• osCommerce was started in March 2000 in Germany by project founder and leader Harald Ponce
de Leon as The Exchange Project.
• As of August 2008 the osCommerce site says that there are over 14,000 'live' websites using the
• In November 2010 the development of osCommerce v2.2 was met with another stable release.
• Version 3.0 has been released on March 31, 2011 and is a major re-write of the program to
incorporate an object-oriented backend, a template system to allow easy layout changes, and
inclusion of an administration-area username and password definition during installation.
Select a Programing Language
A Modular Application
• OO support. We wanted Magento to be an OO application
so it would be considered as a platform and allow to
extend and develop it. We also wanted Enterprise
organizations to consider this platform.
• The added support for Encapsulation (privet, protected
public), Interfaces, and Static Methods etc allowed us to
create a true OO architected application in PHP.
• We were worried about the support for PHP5 when it
comes to hosting (even considering creating 2 versions of
Magento) but the PHP4 End of Life announcement made
our decision much easier.
Selecting a Framework
Prior to Magento we were using an in-house developed framework (PHP4).
Lead to problems:
• Specifying hiring criteria when it comes to developers.
• Long training process due to lack of documentation and training materials.
• Collaborating with other companies on big projects was a nightmare.
• Maintaining and Supporting our framework without a large community was hard
both in allocating resources and without a large “collective wisdom”
• Many different coding styles – each code I looked at was different
So let’s select a framework!
• eZ Components
• PHP on TRAXz
Not an easy thing to do!!!
Selecting a Framework
Criteria for Selecting a Framework
• Must have a commercial company behind it.
• Widespread community support.
• A wealth of documentation and training.
• A use-at-will architecture that enables developers to use the
Framework for the functionality they need.
• A clear roadmap and transparency
• Open Source Licensing that protects the entire ecosystem of products
built on the platform
Magento Development Time Line
September 2007-February 2008
April 2007-June 2008
July- Nov 2008
Decision to create a new open source ecommerce platform
Begin by selecting the Zend Framework, and creating the core team (3
Core team starts designing the application architecture (3 developers)
First “proof of concept” a semi-working ecommerce application (3 developers)
Start working on First Beta (core team 5 developers)
Magento Beta release (core team 5-7 developers)
12 Beta releases (core team 5-8 developers)
Magento 1.0 released (core team 6-8 developers)
Seven 1.0.x releases (core team 6-8 developers)
Magento 1.1 released (core team 6-8 developers)
Eight 1.1.x releases (core team 5-7 developers)
Magento 1.2.0 released (core team 5-7 developers)
• In software engineering, a project fork happens when
developers take a copy of source code from one software
package and start independent development on it, creating a
distinct piece of software
• Free and open source software may be legally forked without
the approval of those currently managing a software project or
distributing the software, per the definitions of "free software
and open source“
Don’t Be Afraid of Forks
The way to deal with forks is to be attentive to the
reason(s) the fork was created and release often.
Don’t Be Afraid of Forks