For those who don’t know, Magento is an ecommerce platform that is deeply rooted in the open source philosophy.
Magento was born out of a digital agency’s in-house ecommerce platform, back in the days when people were routinely building their own systems. Varien (Magento) realized early on that although keeping the source code private had some value, having a closed system put a huge emphasis on the internal team for maintenance and growth of the project. Enter open source….
The Open Source philosophy may seem somewhat counter intuitive for those not familiar with it. “Let's make all of our source code publicly visible”.
From a commercial perspective it sounds like suicide. What about the Intellectual Property that the company has invested so much in? Surely it’s better to license the the software and keep it private? This is somewhat logical but also short sighted in many cases.
By opening up source code to a wider audience the emphasis is no longer entirely on a small internal team, instead anyone who views the code is able to point out issues and better ways of doing things.
Yes, a huge security or performance flaw might be exposed in the software but that is exactly the point. You fail faster and are able to apply fixes and produce a better product. Not only this you gain the input of the vast community of developers that are willing to contribute to worthwhile projects.
This is exactly what happened when Magento was made 100% open source during its early days. It is one of the main reasons for its continued success to this day and it continues to stay true to its roots through its community (free) versions. Its strength really is in its community and underlying open source philosophy.
Commercial licensing is of course still present for Enterprise level customers but it is done in an open and fair way and the two versions share much of the same internal code.
Github is a platform built entirely on the open source philosophy and allows any developer to make contributions to projects as they see fit. The project owner can then decide which suggestions make it to the final product via pull requests.
Keep an eye on Magento 2’s github here to see the latest version of the project: