Solomon Hykes, founder of Docker Inc., is a familiar name in the world of open source today, but he wasn’t always an open-source developer. In a keynote at the OSCON conference on May 18, Hykes detailed Docker’s open-source voyage and released a trio of new tools as open source.
Docker Inc.’s core vision is to help build everything that is needed to make the Internet programmable, in a scalable and sustainable way, said Hykes (pictured). “Along the way, we’re doing a lot of open source.”
Docker today has approximately 50 different open-source repositories of various sizes for software development projects. Approximately 2,000 developers have contributed to Docker’s open-source projects and across all the projects, as hosted on Github, 18,000 issues have been opened, Hykes said.
“That’s 18,000 people that have said, ‘I don’t like this’, ‘please add that’ or just ‘ how can I help,” Hykes said.
Across all the Docker open-source project repositories, Docker receives about 1,200 patches every month. In open source, a patch is a code contribution of sorts, providing either a fix for an existing feature or a new feature to a project.
The most difficult part of the week is making sense of all patches that come in and making decisions on what’s good and what’s not, Hykes said. Learning how to deal with patch volume has been one of the key challenges for Docker overall.
“We basically knew nothing about open source when we started, and along the way, we have learned,” Hykes said.
The first key lesson that Hykes learned is that saying “no” is temporary, but saying “yes” is forever. What that means is whenever an open-source project is asked to add something and is in doubt about whether it should be added, the project should say “no,” Hykes said. “Once you say yes, you can never take that back.
Once a feature is added, it’ll often stay in code for a long time and isn’t easily removed, so it’s easier just to say no when there is some doubt, he said. Saying “no” is not without difficulty, though.
“There are people with pitchforks that send patches, and they are really upset when you don’t merge them,” Hykes said. “But you have to resist that pressure.”
The second key lesson that Hykes learned about open source is that it levels the playing field in terms of competition. With open source, there is potentially a large pool of developers that can help a project solve whatever challenge it wants to solve, he said, adding that the key to benefiting from open source is understanding what it can provide, and what it can’t.
“Open source doesn’t magically make your product great, and it won’t magically help you to figure out what problem to solve,” Hykes said. “If you do have specific insight and a specific focus, [open source] will really multiply it, and we use that a lot.”
Rather than just talk abstractly about open source, Hykes used his time on the OSCON stage to actually open-source technology. In March, Docker announced new native Docker clients for Mac and Windows. Those projects are still in a closed beta, but three core technologies that enable Docker Native on Mac were made open source live on stage by Hykes during his keynote. The three new projects are the HyperKit, lightweight virtualization toolkit for OS X, the DataKit pipleine framework for distributed components and VPNKit library for embedding virtual networking.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.