Clearing up this mesh: Linkerd creator 'not a fan' of steering committees but went ahead and made one anyway

The Linkerd project, a lightweight service mesh for Kubernetes, has formed a steering committee as it competes for developer attention with Google-sponsored Istio as well as other projects.

A service mesh adds essential features like traffic management, observability, and network security to microservices running on Kubernetes. Linkerd is implemented in Rust and its original creator, Buoyant CEO William Morgan, designed it to solve the service mesh problem in the simplest way possible, writing it in Rust for performance and memory safety.

Morgan said on Twitter last week that he was “generally not a fan of steering committees. To me, they are associated with a certain bureaucratic style of open source projects with lots of SIGs, WGs, committees, meetings and process” – running contrary to the Linkerd mantra of “keep it simple, keep it small.”

However, Morgan said that existing feedback channels such as GitHub issues and Slack threads were not doing enough to engage users, hence the formation of a steering committee. “The Linkerd Steering Committee represents the voice of the user,” he said, “and to even be eligible for membership you need to be currently responsible for a production Linkerd deployment of non-trivial size. No representation without productionization.”

The new committee has a charter which declares that along with giving feedback to project maintainers, it will “provide neutral mediation for non-technical disputes” and develop a project continuity plan. Initial members are Chris Campbell (HP), Christian Hüning (finleap connect), Justin Turner (H-E-B), and William King (Subspace), and the first meeting is planned for later this month. Linkerd is an incubating project at the Cloud Native Computing Foundation (CNCF), also the home of Kubernetes.

One of the challenges for the Linkerd project is that Google, the creator of Kubernetes, sponsors an alternative service mesh called Istio, although the company’s governance decisions have caused some disquiet in the open-source community. One of the components of Istio is Envoy, a distributed proxy and communications bus.

Linkerd makes a point of not using Envoy. Morgan said it was too complicated. “As of November 2020, the Envoy repo weighs in at 172 KLOC [thousand lines] of C++ code, with a ‘complexity score’ (measured in terms of branches and loops) of 19k. By contrast, Linkerd2-proxy comes in at 30 KLOC and has a complexity score of 1.5k.”

Last year Microsoft entered the space with its own Open Service Mesh (OSM) project, saying that it too is lighter than Istio, but that, according to director of product for the Microsoft Azure Application Platform Gabe Monroy, “a lot of the ecosystem is rallying behind Envoy.”

OSM, therefore, uses Envoy. The Microsoft scheme is a sandbox project at CNCF but not yet ready for production use.