Open source: Why naiveté might be the key to success

Commentary: What open source founders don't know might be their superpower. Find out more in this interview with Envoy founder Matt Klein.

opensource.jpg

Image: Artur, Getty Images/iStockphoto

In our efforts to uncover the keys to open source success, we may be overlooking the most important attribute of all: Profound naïveté. Talk to Dries Buytaert (Drupal) or Daniel Stenberg (cURL) or [insert name of your preferred project founder] and in nearly every case they started their respective projects to "scratch an itch" with no real sense of how difficult the work would be. 

The same holds true for Matt Klein, founder of the popular Envoy project. Envoy is an open source edge and service proxy that today boasts significant contributions from Google, Apple, Salesforce, and others, but it started as one engineer's quest to help his employer (Lyft) move from a monolithic architecture to a microservices-based infrastructure. The decision to open source Envoy, Klein said in an interview, was only possible because "we were all very, very naive."

SEE: How to build a successful developer career (free PDF) (TechRepublic)

The benefits of being naive

Klein started working on Envoy in 2015, having spent years building infrastructure at Twitter (he was lead developer of Twitter's proprietary 2nd generation HTTP/SPDY/HTTP2 L7 reverse proxy, which handles all incoming site traffic), AWS, and Microsoft. By early 2016, the service mesh (Envoy) he developed was successfully running at Lyft when he and his team floated the idea of open sourcing it. For Klein, it was a chance to further his career. For Lyft, it was a chance to brand the company as an innovator.

For both, it was an exercise in complete and utter naïveté.

As Klein described it, he spent the next year "killing himself" to do his day job at Lyft (managing the shift to a microservices architecture) while working another full-time job, building Envoy's community success. The goal was to get another Silicon Valley "unicorn" like Stripe or Square to start using Envoy, but that's easier said than done. Engineers from other companies loved the ideas behind Envoy, though no company can swap out its networking stack in a day. Even with an enthusiastic audience, the amount of work (and time) necessary for making Envoy a success was gargantuan.

But, ultimately, successful. Today far more code comes to Envoy from outside Lyft than from within. Lyft benefits from a global, active community.

Getting beyond "net negative"

Now that Klein and Lyft have had phenomenal success with Envoy, you'd think they'd be anxious to kick-start their next open source adventure. Well, not exactly. The interest in open source is as strong or stronger than ever, but, "We're probably more rigorous now about open sourcing," Klein said. Why? Because the naïveté is gone, and the stakes are apparent in a way they weren't for Klein the first time.

If you open source code, he stressed, and "you don't 'win,' it's a net negative." How so? "Once it's out there, you can't take it back. Open source done poorly is not a great look for a company."

SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic) 

This doesn't mean Klein has given up on open source. Far from it. "We obviously care about open source, and we've continued to do some open source projects where it makes sense but whereas I think previously we had a pipeline of random projects that people might have been open sourcing, now we've actually pushed back on that more." For Lyft, there's no desire to do open source halfway because they understand the costs involved. There's also no interest in shipping open source code simply to have done so. 

Ultimately, Klein said, open source is an "optimization exercise." As he explained, "If I can win the market with an open source project and by doing that I can get effort from outside that will be greater than what we put in," it's open source worth doing. Without that return on his open source investment, however, it's worse than a waste of time. It's a "net negative."

Disclosure: I work for AWS but the views expressed herein are mine.

Also see