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.
9. 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
existing contacts.
http://www.wikihow.com/Choose-a-Travel-Partner
12. Open Source
• Open Source: is a philosophy, or pragmatic methodology that promotes
free redistribution and access to an end product's design and
implementation details.
http://en.wikipedia.org/wiki/Open_source
• 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
software.
http://en.wikipedia.org/wiki/Open-source_software
13. 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
criteria:
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
5. No Discrimination Against Persons
or Groups
6. No Discrimination Against Fields of
Endeavor
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
http://opensource.org/osd
16. • 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
program.
• In November 2010 the development of osCommerce v2.2 was met with another stable release.
Version 2.3
• 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.
19. 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.
20. 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
21. So let’s select a framework!
• PHPDevShell
• Prado
• Pronto
• QPHP
• Seagull
• Symfony
• ZOOP
• Akelos
• Ash.MVC
• CakePHP
• Codelgniter
• DIY
• eZ Components
• Fusebox
• PHP on TRAXz
Not an easy thing to do!!!
Selecting a Framework
22. 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
23. Magento Development Time Line
December 2006
January 2007
February 2007
May 2007
June 2007
August 2007
September 2007-February 2008
March 2008
April 2007-June 2008
July 2008
July- Nov 2008
December 2008
Decision to create a new open source ecommerce platform
Begin by selecting the Zend Framework, and creating the core team (3
developers)
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)
49. Magento Ecosystem
The Magento system integrator
ecosystem is significant, with estimated
collective revenues approaching
Forrester Research, June 2011
$1 billion annually
52. • 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“
https://en.wikipedia.org/wiki/Fork_(software_development)
Don’t Be Afraid of Forks
53. 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
56. Lessons Learned
Don’t create a company or a product to sell it. Create it
because there is a need for what you are creating and you
believe that you can create a great business of it.
65. • Tools for business application development
• Enabling business application suite
• Application compatibility and integrations out of the box
OroPlatform Goals