
Image: boygovideo, Getty Images/iStockphoto
One clear indicator of open source “wokeness” isn’t always what a company contributes, but what it enables others to build. This seems to be the message from Weaveworks’ delicious new Weave Ignite, an “open source VM with a container UX and built-in GitOps management.” Built on Firecracker, AWS’ lightweight, open source virtualization technology for running multi-tenant container workloads, Ignite offers a serious upgrade of the virtualization experience for developers. It’s incredibly cool technology, while also being a key indicator that, yes, AWS just might understand how the open source game is played, after all.
Upgrading the upgrade
When AWS released Firecracker, developers responded with enthusiasm. Sure, it was open source, and that was (supposedly) novel for AWS, but it was also incredibly cool. In a world leaning toward serverless, AWS “needed something that could give us the hardware virtualization-based security boundaries of virtual machines, while maintaining the smaller package size and agility of containers and functions.” That’s the good thing.
SEE: How to build a successful career as a DevOps engineer (free PDF) (TechRepublic)
The bad, as Weaveworks CEO Alexis Richardson told TechRepublic in an interview, is that Firecracker, while an upgrade on the current state of virtualization, remained too hard to use. Why? Because the developer and user experiences were “poor and unfamiliar,” in his words, and “key ecosystem features like networking were missing.” As outlined in a blog post, Weave Ignite remedies these problems by using a container API and ecosystem, similar to what Docker did for LXC. Basically, it brings the now familiar container developer experience to VMs. Anyone that uses Docker can use Ignite, as they use the same APIs.
It’s a genius upgrade on a genius upgrade, technology-wise. But it’s also a genius upgrade on an outdated way of building software.
Opening up AWS
In other words, it’s open source. Just as Google did with Kubernetes, AWS took code that it was using to run AWS Lambda and Fargate, and did the hard work to open it up and make it consumable by third-party developers. At the six-month mark, AWS provided an update, demonstrating significant interest and involvement in Firecracker:
Over these six months, we have merged 87 commits from 30+ external contributors into the Firecracker master branch (representing ~24% of all commits in that time span). These contributions covered device model virtio spec compliance, support for CPUs without one-GiB hugepages, and memory model improvements, as well as improvements in documentation, API specification, testing, and bug fixes.
It’s an awesome indication that interest in open source Firecracker was running hot, but the real test for just how open this open source project is, however, is Weave Ignite. Or, rather, for things like Ignite.
SEE: The rise of Kubernetes epitomizes the transition from big data to flexible data (ZDNet)
It’s one thing to open source code–it’s quite another to have someone actually build on top of it. This is when you know you’re doing open source correctly. When I asked Richardson how it was working with AWS (and associated docs/resources) to build Ignite, he responded, “Our experience was fantastic. We have no complaints.” That’s not merely a function of code: That’s an indication of good docs, sample code, tutorials, live support (Twitter, Stack Overflow, etc.), and more.
None of which is to suggest that AWS has mastered open source, but it does call into serious question the tired meme that AWS doesn’t understand open source. As AWS executive Matt Wilson put it, “As a very early adopter of Free and open source software (going back to migrating from Unix to Linux in 2002!), folks at Amazon have extensive understanding of Open Source, and also how developer communities of all types grow around technology.”
With Firecracker, this shows, because Weaveworks, not AWS, built Weave Ignite. That’s how good open source ecosystems grow.