We believe in Open Source
Walmart is a fervent supporter of Open Source Software. In recent years, the company has been making significant contributions to OSS by publishing some of its internal projects on github.com and sponsoring open source events.
eCommerce represents an important part of our company’s future and we understand very well the advantages associated with investing in open source: not only do we benefit over time by improving our image as a technology company, it also boosts our brand awareness and it has been a successful way to hire engineering talent and improve diversity within our teams by reaching out to a broader audience in the developer community.
For WalmartLabs, the advantages of open source don’t stop there, especially while dealing with many verticals. Our inner source model works in a very similar way across properties within the company. We encourage and train our teams to leverage the open source philosophy internally, in order to obtain a high ratio of code reuse.
Beyond Open Source
The vast majority of open source projects today are just ad hoc and only solve unique and specific problems. Most companies open source a limited subset of their ecosystem using a piecemeal approach. This puts the burden on adopters to achieve custom and complex integration within their own stack. This will frequently lead to a situation where external contributions, such as security and bug fixes, won’t get merged easily within each inherited project.
Additionally, when following this model, open source adopters often have concerns around stability and commitment to long term support as their codebases diverge, sometimes significantly, from the original software.
Everyone understands the downsides of this piecemeal approach and nothing is really wrong with this, since it’s free software. But this is not ideal.
What we believe is that companies should go beyond open sourcing ad hoc software, and open source their ecosystems and platforms.
open source what’s vital and what makes the business run.
That’s exactly what we did with Electrode, our universal React/Node.js application platform that powers customer experiences on walmart.com (you can read more about Electrode here). We are sharing our vital internals, the platform, as a whole. This is a very similar approach to our sister project, OneOps, which has followed the same philosophy for DevOps. Another project following the whole platform approach in the testing space we are very excited about, is TestArmada. We encourage you to check these projects for yourself.
The main complaint about developing with whole systems is that their design is usually very monolithic. That is why it’s also really important to architect those systems as smaller parts that become a greater whole. This way, adopters can consume specific parts of the platform and continue benefiting from contributions to the core project. The Electrode platform is composed of a dozen projects and because it was designed with this principle from the ground up, developers are able to cherry-pick individual projects or adopt the platform as a whole.
Shifting our open source philosophy
When we talk about “beyond open source,” it means releasing the codebase for a vital platform, including not only the core of the application platform but also all of the technologies around it: its configurations, security and performance modules, and the tool suite that enables the team to enhance reusability, file and memory footprint, and performance.
With Electrode, we open-sourced all of it, and this represents for us a fundamental shift in how we open source at WalmartLabs. We aren’t just open sourcing independent projects, but whole platforms.
As we keep building, delivering and open sourcing more solutions, we will continue exploring this model.