Joyent CTO Bryan Cantrill was pumped at the last Docker Seattle Meetup. Extremely pumped. Not ‘here is another product offering’ excited, more.. we have put absolutely everything into our new cloud offering and you’d be nuts not to ride with us through this release and beyond. Including an opening preamble heavily seasoned with container puns, not being able to contain himself etc. I loved it.
How did we get here? Cantrill gave a brief history on how we arrived at containers, explaining how Joyent have essentially been sitting by themselves for the last ten years, albeit further along the food chain, having turned up to the party early, “You show up to a party a decade early; it’s a long decade to sit by yourself. And that’s effectively what we did. We’ve been running containers in production since 2006, I’ve been with Joyent since 2010, and kind of the core organizing belief of Joyent was that OS-based virtualization was the future of computing.”
What Cantrill did really well in this talk was create the need.. true heavyweight C-level stuff, pointing out the limitations of Docker in the enterprise whilst acknowledging the benefits of it being able to capture scripts in an image which can be quickly and repeatedly deployed to production, “When people rattle off their production challenges with Docker, and you may have some others, but definitely the ones that come to most people’s mind are, first and foremost security. How am I going to secure these containers from one another? How am I going to do network virtualization? ..Things like persistence, how are you going to go deal with persistence? These are all really thorny problems.”
It just happens that the guys at SmartOS, Joyent’s open source OS, have spent a decade filling out the limitations (by tinkering around further down the stack) which people are only now seeing more widely yet Joyent’s position as a container specialist was accompanied by the message in this presentation that they failed to anticipate the fact that developers might actually be interested in using containers for production environments.
One of the most intriguing parts of this talk was a bit of nostalgia where Cantrill also reminded us why open sourcing things is a good idea. In January 2014, a guy called David Mackay, an Illumos community member was instrumental in making the impossible possible, to natively emulate Linux and run Linux binaries on the SmartOS Kernel, which is Unix and restore the LX Brand, which had seemingly been consigned to the Joyent archives, explaining that he knew of many people in the community that were interested in LX zones.
Cantrill drilled it, “If you are having an open source debate in your company, this is why you open source something, because you never know when some crazy flying pony is going to come flying by and poop out a rainbow directly on you, which is exactly what happened and you’re like, ‘thank you mystical pony’.. I don’t even know if this is a person. For all I know, this is the hand of God, I actually don’t know because David Mackay then disappeared into the ether, I mean, like a legend.”
The lesson here, Cantrill explains, is that if someone is not told that a certain thing is impossible, they they do not have anything to hold them back which might be tapping away in the back of their mind telling them, when they launch face first into a task. Which is the power of the open source community – of ultimate, unadulterated, unshackled exploration into the deep and as Joyent know, it can be astonishing.
Part of last week’s Reconciliation Proposal by the guys at io.js to merge the Node.s and io.js projects was based around the Node.js Foundation’s adoption of certain documents submitted by the proposal. At the very centre of this is the wish that the Foundation would be jointly governed by the Technical Committee which would have the final say in technical direction and whilst the Committee has yet to be assembled, a more notional proposal could be to revisit the story of Mr.Mackay.
As Mikeal Rogers notes in the discussion, ‘Historically, the project has suffered because the skill set necessary to contribute directly to core, and as you’ve noted eventually (hopefully) gain influence, is very different from the skill set of the majority of users. The question is “How do we bring the user community in to the core project if they can’t contribute directly to core?”‘
‘The first thing we’ve done is created a project that is much more than just core and worked hard so that people can contribute to every layer of the that project. We have working groups that build the roadmap, website, evangelism, and i18n. All of these working groups attract people much closer to the user community and being autonomous from core has helped them attract a community that might be intimidated by core.’
These comments plus the LX Brand story could give Joyent some food for thought.