Amazon Web Services (AWS) sponsored this post.
The idea seems impossibly quaint today, but not too long ago the internet was little more than brochure-ware, without the ability for users actually to buy anything. Our modern web is quite different, of course, with virtually everything available to buy online. At the heart of this shift sits Magento, an open source commerce engine co-founded by Roy Rubin in 2008, which in 2020 powers a significant percentage of the web’s commerce.
Rubin did not necessarily set out to upend the burgeoning e-commerce market. He simply couldn’t afford the expensive, proprietary systems available back then.
Unlike many other open source projects, everything about Magento has been influenced by commercial considerations, from the nature of its architecture to the community that supports it. Given that Magento is a commerce platform, this isn’t particularly surprising — though it has led to some surprising attributes, like the fact that, in the beginning, Rubin says he didn’t want a single line of code coming from outside the organization.
But, isn’t open source all about peace, love, and contributions? Don’t worry — it all makes sense. Read on.
In 2001 Rubin headed back to school, but he needed to figure out how to fund his studies. Meanwhile, Amazon.com (1995), PayPal (1998), and other companies were jumpstarting the future of online commerce, with the dot-com boom creating a surplus of excited energy about how the internet could change everything. Rubin was eager to get involved, but he also had rent and tuition bills to pay. So he started a web development company — Varien — and devoted nights and weekends to building commerce-oriented websites.
As a cash-strapped student, however, Rubin didn’t have the means to build those sites using the big, proprietary systems of the day (ATG, IBM WebSphere Commerce, etc.). In an interview, he says they were way out of his league. “I just didn’t have, not only the skillset, but I didn’t even know where to begin,” he says. “These huge systems were owned by large enterprises and there was very little information for someone like me getting started.”
But there was an alternative.
SourceForge, after all, offered a bevy of information about open source alternatives — such as osCommerce, an open source commerce engine founded in Germany in March 2000. Unlike with proprietary options, Rubin notes, with open source, “the information was already out there, available: Here’s a tutorial on how to download the package, install it, and get started.” Rubin and his friend — and Magento co-founder — Yoav Kutner, started using osCommerce and they got good at it. “We knew the ins and outs and we felt very comfortable customizing and modifying it,” Rubin says.
Up to a point, that is. OsCommerce was a bit of a side project itself and saw few updates, Rubin says. As Varien grew beyond a nights- and weekends-style business, with customers demanding increasingly sophisticated solutions, Rubin says the ability for them to expand and take osCommerce to where they needed was limited. This created a fair amount of frustration for Rubin, leading the team to consider either embracing a proprietary offering from one of the enterprise vendors like Oracle, which would take his company into a different direction to be able to support it, or forking osCommerce. “But we didn’t want to be stuck with an older technology stack that didn’t really give me or my customers the best way forward,” Rubin explains.
Ultimately, they did neither. Instead, they built Magento.
A Fresh Start and a Fifty-Cent AdWord
Not only was osCommerce’s code deemed overly crufty, but Rubin also didn’t want to bet on a GPL’d project. “I couldn’t invest a lot of money building something on osCommerce and be restricted by the GPL,” Rubin says.
Too much was in flux, with an imperative need to be able to flexibly iterate for customers. Taking what they’d learned from years of working with customers, Rubin and team created Magento. Even so, Rubin still had to figure out how to fund the new open source project. That’s when a large client answered a $0.50 ad Rubin ran using Google AdWords, offering a contract that would fund the development of the new Magento platform.
Although Rubin licensed Magento under an open source license, he wasn’t really looking for help from an open source community — not with the core platform, anyway.
“I actually didn’t want a single line of code coming from outside the organization,” he says. “My concern was that we had paying customers that were expecting a level of service, and I just didn’t feel comfortable asking third-party developers to deliver and commit to a timeline.”
So why bother with open source at all?
Rubin says there was an opportunity to give access to Magento to as many people as possible, which would create value for the Magento brand. In open source and beyond, Rubin stresses, ultimately customers pay for a brand. Because Varien/Magento didn’t raise any money until a year after Magento was released, Rubin was limited to whatever he could self-fund and he needed an efficient way to distribute and market the software.
“There was no other way for me to spread the word about Magento, and get the product into people’s hands and have them market it on our behalf, except open source,” Rubin says. “What better model is there for that other than open source?”
The Magento Community
A decade later, Magento attracts at least half of its code from external contributors. Clearly that “branding” paid off. Where those contributions come from, however, has been a big part of Rubin’s strategy from the beginning.
Extensibility is a huge issue in e-commerce. When Rubin started, no two retailers were alike. As he describes it, there were always different nuances in terms of how online retailers integrated with their back office systems, how they merchandised and presented their catalog to consumers, and so on. “There was a real focus on differentiation,” he says. “Every project had its own set of challenges and opportunities to build something unique.”
This sounds great for consumers, but it turns out it was difficult to deliver.
Rubin knew from working with osCommerce, which offered limited ability to customize, that he couldn’t afford a custom build of Magento for each customer. Rubin also needed the ability to easily upgrade Magento for security and optimization purposes. And they needed to be able to do all this for an ecommerce world that was exploding in complexity, with different payment gateways, translations, complex workflows, and so on.
With all this in mind, Rubin and team set out to make Magento highly pluggable, enabling a plug-in ecosystem around the core product. This eventually led to Magento Connect, an application ecosystem that grew up around Magento, with a massive array of companies building up consulting practices around Magento — even as technology vendors built out Magento’s capabilities through plug-ins. Such application ecosystems have become somewhat common today, but in 2009 this was a revolutionary approach.
That ecosystem is so vibrant and strong today that the community feels exceptionally strong ownership over Magento (which I experienced while running developer relations at Adobe). There are more than 300,000 Magento developers, 800 technology partners, and 350 system integration partners, all helping to make commerce a first-class citizen on the web.
But it all started with a UCLA student trying to pay his way through school, hoping to be part of this newfangled Internet thing and its ecommerce cousin. Rubin may not have set out to change commerce forever, just as he didn’t try to create a vibrant, code-contributing ecosystem around Magento.
But he did both, anyway.
If you’d like to contribute to Magento, visit the Code Contributions page. Also, if you or someone you know need help funding the infrastructure for an open source project, please visit the AWS Open Source site to learn how open source projects can apply for AWS promotional credits. We’d love to help you build.
Feature image via Pixabay.
At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: [email protected].