A Journey Down the Open Road - SymfonyCon Paris 2015
-
Upload
yoav-kutner -
Category
Technology
-
view
174 -
download
0
Transcript of A Journey Down the Open Road - SymfonyCon Paris 2015
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
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
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
• 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.
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!
• 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
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
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)
Next Day January 16, 2008 Sun acquired MySQL
for $1 billion!!!
Twiistup Los Angeles January 15, 2008
Introducing Magento to the World
Magento Ecosystem
The Magento system integrator
ecosystem is significant, with estimated
collective revenues approaching
Forrester Research, June 2011
$1 billion annually
• 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
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
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.
Yoav KutnerFounder &
Chief Executive
Officer
Jary CarterFounder &
Chief Revenue
Officer
Dima SorokaFounder &
Chief Technology
Officer
Roy RubinAdvisor
• Tools for business application development
• Enabling business application suite
• Application compatibility and integrations out of the box
OroPlatform Goals
OroCRM is the most flexible, open source CRM.
We’re redefining what you should expect from
customer relationship management.
www.orocrm.com
300,000+Unique Site Visitors
15,000+Registered Community
Users
2,000+Active EE Customers
16+Worldwide Partners
35,000+Product Downloads
• All of Oro Platform Productivity Tools
• Corporate customer accounts with
configurable roles, permissions and
workflows. Multiple business units and
flexible ACLs
• Multiple price lists
• Configurable payment term levels
• Personalized catalogs
• Configurable quote-to-order
submission process
• Quick order forms
• Contract pricing
• Reports, dashboards and data insights
• Multi-business / multi-brand websites
(including catalog-only websites)
• Fully personalized customer
experience
• Built-in flexible content management