Magical Magento figures out how to make and take

Drawing half of contributed code from third parties, Magento seems to have cracked the code for open source success

Magical Magento figures out how to make and take

I didn’t love Dries Buytaert’s article earlier this month (“How takers hurt makers in open source”), as I feel it sets up a misleading war between the “makers” and “takers” of open source. Every company (and individual) on earth—no exceptions—is both maker and taker when it comes to open source. There’s no company I know, however, that does a better job of balancing the two than Magento (now owned by Adobe).

Magento, after all, averages 50 percent of its code coming from developers not on the Magento payroll. In a world awash in single-vendor open source projects who do nearly all of their own development, this is almost unheard of. How do they do it?

“Hugs are like handshakes in the Magento world”

Ben Marks, chief evangelist for Magento, stresses that Magento has always enjoyed a culture of collaboration. While Marks is omnipresent at Magento community events, he’s quick to deflect credit for its community: “I didn’t create it. We (Magento) didn’t create it. We got hugged into it…. Hugs are like handshakes in the Magento world.”

Piling on, Vikrant Shukla writes, “We are all part of a very big family. It’s somewhere an emotional connection irrespective of the country we are from and language we speak.”

But why? How has this “very big family” kept from internecine warfare like so many other open source projects?

One contributor, LimeSoda’s Matthias Glitzner-Zeis, puts it this way:

Magento/Varien grew very fast, M1 [the first product release] was quite advanced and complex for that time in [the] PHP world. We all had to learn together how this (and e-commerce) works. There was so much more work needed than [there were] dev[elopers]/agencies available—there was no need to be competitive at all.

There was no need to divide up the pie, in other words, because it was bigger than any one company, or even one community, could consume.

Not that this big, happy family doesn’t experience its share of family feuds. For example, there is constant tension between Magento’s efforts to build out its own SaaS offering at the expense of community clouds. Such feuds tend to be kept in check, however, through constant, open communication, with the emphasis on ensuring that the company never presumes to dominate the project at the expense of the community. For the most part, the focus is overwhelmingly on ensuring that all are allowed to prosper.

Putting this in Buytaert’s maker/taker terminology, everyone has been so busy making and taking that Magento has continued to boom beyond any zero-sum game.

Contributing to a non-zero-sum game

This is why so many continue to contribute. Magento, as noted, gets 50 percent of its product code from third-party developers. Within that community of contributors, 60 percent of contributed code comes from non-partner/unaffiliated developers, and 40 percent of contributions comes from partners. This is important because, while partners could, in theory, function as an extension of Magento/Adobe Inc., a majority of that contributed code comes from those without a financial arrangement in place with Magento.

Asked to explain the motivations behind contributions, Marks offers three key reasons:

  • Demonstration of commitment and expertise: Contribution in all forms is the currency of open ecosystems, regardless of motivation. Sharing is caring!
  • Ease of maintenance/upgrade: Whether covering a functional gap, fixing a bug, or improving scalability or extensibility, local solutions that are subsequently merged to mainline will require minimal upgrade effort and essentially zero maintenance in subsequent releases.
  • Investment in ecosystem success: The riches in the Magento ecosystem are fundamentally tied to the image and applicability of the Magento application. While it seems counterintuitive for a large agency to share their work with competitors, I know from firsthand conversations and experience that the Magento community groks the concept of coopetition, best understood via the pie metaphor. One could seek to increase one’s slice of the pie or could contribute to increasing the overall size of the pie, thereby growing one’s own share. It’s a fundamental characteristic of the Magento community that participants tend to do the latter.

Magento, it would seem, has cracked the code on what a true open source company can be. In addition to receiving a substantial number of bug fixes and performance optimizations, Magento directs or at least coordinates large-scale contributions such as Multi-Source Inventory, Adobe Stock Integration, and PWA Studio, among others (see Contributors aren’t merely frosting Magento with lightweight contributions; they’re helping to build the core of what makes Magento Magento.

But central to all this is a key innovation within Magento: the community engineering team.

Engineering community

While Magento’s community has long been vocal and involved, the company didn’t get anywhere near the 50 percent contribution number until it created a Community Engineering team. That team is responsible for creating the conditions that make contributing to Magento simple and straightforward.

For example, a review of Magento 2 issues on GitHub shows the effects of that Community Engineering team: “Issues are well-groomed and oriented towards ease of beginning contribution,” says Marks. But this isn’t even the best part. Marks continues:

The more amazing story though are the tools which we built to standardize and scale contribution. Take this comment on an issue: One person reported it, and another person verified it using an auto-provision bot which processes the report and spins up an appropriate instance. From there, the combination of manual and automated feedback allows the ticket to proceed towards resolution by one of our partners…. This solves the biggest challenge of an active ecosystem, which is making sure that their voices are heard and efforts are used.

To round out the team, Magento includes Community Maintainers in its extended family. The Community Maintainers are community members with elevated trust to nudge things along as proxies of the Magento Community Engineering team.

This community collaboration is without parallel in open source, but that needn’t be the case. Magento’s open source productivity is off the charts precisely because it makes no attempt to label the makers and takers within its community, and create licensing conditions that block or facilitate one or the other.

Magento has uncovered a potent way to enable all members of its community to simultaneously make and take, expanding the overall “pie” as they do. It’s a genius strategy and one, importantly, that understands that this “genius” isn’t shared from the company outward, but rather by all participating members of the community, equally.

Copyright © 2019 IDG Communications, Inc.