It’s been clear that the relationship between “the Magento Inc. spun out of eBay and purchased by Adobe” and its open source community has been strained for a long time. While there were individuals inside the company who tried to nurture and maintain this relationship, the software engineering that Magento Inc. did usually made it harder for open source users to use and implement the traditional PHP/MVC Magento system.
It sounds like this dynamic is reaching its inevitable endgame, with Adobe’s Magento architects talking about a plan to replace large parts of the commercial platform with Adobe I/O services.
This, combined with radio silence about a roadmap for the open source version of Magento, had led to eighteen people from the Magento community, (developers and business owners alike), to announce their intent to create a defensive fork of Magento 2 in anticipation of the day it’s deprecated or discontinued.
Immediate Results
I don’t think we’ll see anything big out of this effort right away. Both the open letter and this blog post from the folks behind Hyvä talk about creating an upstream compatible fork — one that presumably mirrors changes made in the main Magento repository while building out its own project infrastructure to prepare for the day the Magento 2 open source project is deprecated or discontinued.
These are the first steps towards a fork, but we’re still pretty far off from having a second set of PHP and javascript code that can run an online retail system.
Adobe Challenges
While Magento’s code is released under an open source license, there are things that Adobe could do to hamper this effort if they decide the fork threatens their core business. They own legal trademarks to the Magento name and could delay/hamper the effort by being sticklers about use of the word Magento anywhere in the new project. They also have a lot of influence over the third party companies that implement Magento systems and could easily start a disinformation campaign about the new project.
There’s also the uncomfortable fact (or perhaps threat) that these are small human scale businesses looking to fork Magento and Adobe is an enormous multi-national corporation with what seems like ∞ money.
Hopefully cooler heads prevail and the proactive reaching out to Adobe that the Magento Open Source Community Alliance is doing goes well. If Adobe’s Magento leadership team is good at their jobs they’ll know the path to their success is to focus on their customers and build the best microservices enabled commerce platform they can, and that hampering an open source project can only lead to distractions for their team, bad press, and ill will all around.
Technical Challenges
Forking Magento 2 will mean more than just forking the Magento 2 repository in GitHub. When Magento Inc. spun off from ebay their embrace of open source included building a not insignificant technical moat around the project.
Magento 2 is intended to be installed and run via composer, but Magento doesn’t publish packages to the public packagist repository. Instead, they have a third party repository named https://repo.magento.com
where individual packages are published. This repository is not public — it requires a composer username and password that’s tied to your Magento Inc. account.
Rumor has it that Private Packagist powers this repository, but the code that publishes the individual packages from Magento’s main project repository is not, to my knowledge, shared publicly or open source. I’ve long thought it might be interesting to build a tool that looks at the Magento code in their GitHub repository and confirms it’s the same code that’s been published to the private composer repository.
This packagist repository is also how Magento distributes extensions via its Marketplace — both free and paid. It used to be possible to download your purchases as stand alone zip archives, but Adobe disabled that feature at some point. How a fork interacts with these marketplace extensions could be another tricky thing to work out.
From a technical point of view, forking Magento 2 probably means recreating this infrastructure. Perhaps, on a long enough timeline, it could even mean simplifying it.
Wrap Up
It’s an interesting era for folks still working with Magento. Only time will tell if there’s still enough demand for custom built self-hosted ecommerce stores and if that demand’s enough to keep the open source platform going. The self-run era of software systems may be fading into the history books.