What do you do when your e-commerce site adds at least a million new products every month, and sometimes more than a million in a single week? According to Jeremy King, who is senior vice president and CTO for Walmart Global eCommerce, one of the things you do is invest in open source, both as a user and as a developer. But how do you convince the suits in the front office to release code developed in house as open source?
"The good part about WalmartLabs is that we sort of didn't ask for permission," he admitted last week before a crowd of over 2,000 at the All Things Open conference in Raleigh, North Carolina. He was being interviewed on stage by ATO's master of ceremonies, community manager Jono Bacon, in a "fireside chat" during the opening day keynote sessions. "We sort of started off with that approach. As we got bigger, obviously you don't open source a product that you've spent resources on for a couple of years without really talking to the enterprise, so it really was a baby step as you go in."
King has been with Walmart since 2011, a relationship that began with a phone call from a recruiter who told him he was representing a large company that had "underinvested in technology on the e-commerce side for a long time" but which had a policy of using "technology to lower costs of goods so we could give that back in price to our consumers."
"I remember sitting at my desk saying 'Fortune One company, what is the number one company in the world?' and literally didn't even think about Walmart at the time as being the player that they were talking about," he remembered. "I had to look it up while I was talking to this person on the phone."
At first, King and his team worked on "little things," such as Hapi, a framework for restful API services. As they began going to open source conferences, they were well received and began moving further into open source space, both as contributor and developer.
"We really didn't have an open source contribution policy in the company, so that was really the first thing, and one of the things I wanted to stress for the organizations that are in here," he said. "It's great to accept and use open source technology, but as you get heavier and heavier into the use, you really need to turn back to your corporations and say, 'We need to have a contribution policy and let people contribute while they're working. Not just on their personal time, but actually contribute back.'"
In other words, make sure the bosses understand that the open source model is only sustainable if sharing is a two-way street.
This led him to ask the question: "Do we want to build all the cloud connectors to all the different cloud providers or should we open source this and let it go?"
Last October, OneOps was released as open source under the Apache License, which has become WalmartLabs' license of choice. This has led to the platform having "the ability to deploy on Rackspace, Azure or our own internal clouds, and with a click of a button you can move any one of your workloads from an internal cloud to an external cloud or any others. That was really our first way of saying 'this is something really big that I want to contribute.'"
Although the open sourcing of OneOps was big news, King and his team recently made even bigger news when they open sourced another application.
"The nice part about OneOps is that it's a platform that everyone can use, but it's one of those all-in-kind platforms," King explained. "As we worked with Facebook on React, we decided that React has a great set of capabilities, but it really needs some framework around it in order to use it. So we built a program we call Electrode and we just open sourced that around two weeks ago."
In many ways, Electrode is the crown jewel of Walmart's portfolio of applications, as it's the platform used to power Walmart.com, a site that not only sees 80 million monthly visitors, but which makes 15 million items available for purchase.
These efforts have certainly been beneficial for Walmart. Since taking King on board, the company has grown to become the second largest online retailer on the planet, just behind Amazon. The efforts have also been good for the development community as well. WalmartLabs' GitHub page currently lists eight pages of open source projects.