When we think of open source contribution, we tend to picture someone writing code or establishing documentation, but Equinix Metal is helping to expand the idea of how hardware companies can get involved. On this episode of the Open at Intel podcast, Fen Aldrich shares how, by donating surplus infrastructure resources, Equinix has built a symbiotic relationship with open source projects that benefits everyone.
Tune in as Aldrich and host Katherine Druckman journey through wide-ranging topics, including how the internet really works, what incentives companies have to support open source contribution, and the ownership responsibilities that come with consuming open source.
Listen to the full episode here. This conversation has been edited and condensed for brevity and clarity.
Katherine Druckman: Thanks for fitting us into your schedule while you’re here at All Things Open, especially because you’re giving two talks. Would you tell us a little about yourself and your talks?
Fen Aldrich: I’m a developer advocate with Equinix. I’ve been doing the developer advocate thing for a little while. I was at Elastic and Red Hat for a bit. I tend to say I do more OpsRel than DevRel because I love to talk to systems engineers. Yesterday, a coworker and I gave a talk about the Equinix open source partner program and how Equinix has given back to open source communities without necessarily being able to contribute code. It’s become a symbiotic relationship where we’re able to give surplus hardware and network resources to open source projects, and we get back insight into our supply chain. My other talk is a back-to-basics networking talk. It reminds me of that classic interview question, what happens when you visit a website? Most people start by saying it does DNS, but before you can hit the DNS server, how does the computer know where those things are before it can resolve a domain name? My talk is about layer two and layer three networking and what they’re good for.
Networking for Newbies
Katherine Druckman: The way we make software has become incredibly complicated, and people are highly specialized now. A developer working in their own world may be far removed from the type of networking technology that you’re talking about. Can you explain how it works as if we knew nothing?
Fen Aldrich: In my talk, I use two routing examples to describe how to send something from one IP address to another. Say you’re 10.10.10.1 and you want to send to 10.10.10.100, and you’re using a 24-bit CIDR. Those IP addresses eventually break down into binary bits, and that /24 you’re used to seeing actually means that the first 24 bits of your subnet mask are one. What the system is doing is saying, for everything that’s a one, this portion of my IP address refers to my network, and everything that’s a zero refers to hosts in that network. So if the networks are both 10.10.10, if you’re sending from .1 to .100, the system says, this is my network, that means I’m nearby. That’s going to send a broadcast out to your network and ask, “Whoever’s 10.100, what’s your Mac address?” And it will say back, “Here’s my Mac address.” Then it wraps the data payload in a packet, wraps that in a data frame, and sends it to the Mac address. The switch says, “Great, I know where that is,” and sends it to the host directly, rather than a broadcast to everybody. The host gets it and does whatever it needs to with the data. That’s your local example, which is nice and easy.
But most of the time we’re talking out to the internet, which is not a system next door. You can’t just say, “Hey, Google, what’s your Mac address?” We have limits so that computers can’t just broadcast to everyone on the whole internet; that would be a problem. When you’re routing, your computer compares the network and says, this network is not the same. Say you’re 10.10.10.1 and you want to send to Google’s DNS, 22.214.171.124. It looks at the network bit and forwards it to the router to let that figure out where it needs to go. The router unwraps it, says this isn’t for me, and wraps it with the next step—maybe your ISP’s default gateway. It sends it up the line until it eventually gets to a router that knows where it is. Then the whole thing happens in reverse when it communicates back. It’s all this processing, and it’s why we have all these layers and packets because it has to do all of these things at different steps.
Building Symbiotic Relationships
Katherine Druckman: Your other talk is near and dear to my heart because it’s about getting involved in open source communities. Will you tell us a little about that?
Fen Aldrich: It’s all about our open source partner program and how we got started. Equinix Metal was originally a startup called Packet that got bought out by Equinix about three years ago. Packet was provisioning bare metal the same way people are provisioning virtual machines in the cloud. We’re racking and stacking servers and then automating all the back end of that. When you spin up a server, you want an operating system on it, so that’s part of what we do—maybe you want Ubuntu or Red Hat. As we were working with all these companies anyway to get their products working on our service, we found an opportunity—if you’re leasing out servers, you need a bunch of them lying around waiting to be leased out. It becomes a really useful surplus that we have to lend out to companies that need the resources to build the products and operate the infrastructure of the open source products. It started out very small. I think it was something like US$25K a year’s worth of services, and we’ve eventually grown to around US$2M a year’s worth of equipment and network services that we donate back to the open source community. We’ve got a formal program through the Cloud Native Computing Foundation (CNCF) for any CNCF projects that need that type of assistance. You can file an issue in the tracker, and it eventually comes to us to determine if it’s a good match for what we can offer. Now we’ve got something like 100 different projects that use Equinix hardware in some way.
Katherine Druckman: Your talk included barriers to contribution. Will you share wisdom about that?
Fen Aldrich: As we got acquired, the larger organization of Equinix’s view of open source initiatives was very much, “How can we be careful not to let too much open source into the organization?” They had a fear around licensing and didn’t want to end up giving away too much of their stuff. Coming into that was a challenge because it meant it was that much harder for us to contribute back to a particular project that was useful for us. Contributing upstream didn’t really make too much sense for us to do, and it was difficult to get approvals to work on those projects during working hours. We took a different angle and considered what else open source projects need. There are always classic non-code examples of writing documentation or localization. I think what often gets overlooked is infrastructure—we never notice it until it’s acting up. Massive projects especially need a massive amount of support. You can’t just download them from nowhere; they’ve got to be somewhere as far as build and distribution.
Katherine Druckman: People want to work with companies that contribute to open source, giving companies an incentive to support open source values. How does this translate to selling open source internally?
Fen Aldrich: For us, it was part of our supply chain and part of our product. So we can say, “Hey, we’re helping the people who also provide a thing and without them, we also fail.” This is a symbiotic connection here. We give them a little bit, they make sure it’s successful for us, and we both now have vested interest in these projects being successful. We also sometimes pull in some esoteric hardware because there aren’t too many people who have fully optimized network cards they’re putting in or installing particular Linux operating systems on heavily GPU-optimized instances. Because we’ve got all these weird hardware configs for various workloads, we end up being both a good testing ground for them, and we give access to them—if we run into a weird driver issue, they can go fix kernel problems. You get that close relationship with people who you depend on for your success and it works out well.
Katherine Druckman: Relying on open source for business-critical things means you have to be involved. Does this play a part in an organization’s awareness?
Fen Aldrich: There’s the classic XKCD comic where a bunch of precariously stacked bricks are being held up by a part-time maintainer in Nebraska. It’s the most true thing. If you’re building something and your entire operation depends on a project being maintained by a guy in Nebraska, maybe reach out to the guy and see if you can contribute back. Now you’ve got a relationship that can help this become a useful project.
A few years ago, there was an NPM product called left-pad that did just what it says, it just padded text on the left. But it turned out to be a dependency for an incredible number of other projects. Most people weren’t even aware because it would be a subdependency of a subdependency of something else. The maintainer just decided they didn’t want to do it anymore, and when they pulled their projects off NPM, it brought down huge swaths of the internet. Suddenly people couldn’t build their website anymore.
Katherine Druckman: What’s exciting to you right now in open source?
Fen Aldrich: Open source is always exciting because of the communities that pop up around it and the way it relies on humans to interact and cooperate. The deep niche corner of ops that I dove into is resilience engineering. It’s a very people-oriented technical discipline that looks at bringing resources to bear more effectively when surprises occur. We’re looking at giving people more autonomy to do the things they know are correct, as opposed to more command-and-control structures.
Katherine Druckman: I had a great conversation with somebody about how there are parallels between the open source community and being an environmentalist. Like with software, you have to be environmentally aware and keep ecosystems clean.
Fen Aldrich: It’s funny you make that connection. I gave a talk at another conference called “Changes in Our Bones” that dives into lichens. For folks who don’t know what a lichen is, it’s not an individual organism, as we thought. It turns out to be a symbiotic relationship between fungus and algae that crosses taxonomical borders. There’s a paper called “Queer Theory for Lichens” about how this doesn’t play out in a vacuum. This is found throughout nature, including with human beings. We think of ourselves as individuals with borders, but we have a microbiome inside of us, and we can’t digest food or create energy without the symbiotic relationships with entirely different species that exist in our lives. Keeping this in mind starts to shift how we conceptualize stuff.
About the Author
Katherine Druckman, Open Source Evangelist, Intel
Katherine Druckman, an Intel open source evangelist, hosts the podcasts Open at Intel, Reality 2.0, and FLOSS Weekly. A security and privacy advocate, software engineer, and former digital director of Linux Journal, she’s a longtime champion of open source and open standards.
Fen Alrich, Developer Advocate, Equinix
Fen is a developer advocate at Equinix Metal and an organizer for DevOpsDays events in the northeast US. Passionate about resilience engineering and mental health in the tech industry, they believe that every technology problem is ultimately, when you get right down to it, a people challenge. Find their work at speaking.crayzeigh.com, and connect on X or Mastodon.