FAQ

Frequently asked questions

The questions people tend to ask before they spend time on Ze. If yours is not here, ask on Discord or open an issue.

What is Ze?

Ze is an open-source configuration and protocol engine. The network operating system built on it speaks BGP, manages Linux network interfaces, programs the FIB, and serves its configuration over SSH, a web UI, API, and MCP.

That operating surface is not hardwired into the core. The core holds a message bus, a config provider and a plugin manager; BGP, interface management and other subsystems register themselves with their own YANG and extend the config tree where they belong.

Once a subsystem declares its model, Ze derives the CLI, completion, validation, web editor and MCP tools from the schema.

Is Ze ready for production?

Not yet, and the site says so everywhere on purpose. The routing core is heavily tested, but production exposure is still limited and the configuration syntax can still change before the first release.

The right place for Ze today is a lab: build a route server, migrate an ExaBGP config, stand up a looking glass, run the interop labs against real FRR or BIRD, and report where it breaks. The roadmap explains what remains before a stable release.

Why would I use Ze instead of BIRD, FRR, or GoBGP?

Those projects are mature, and Ze does not pretend otherwise. The comparison page is blunt about where they are still ahead.

Ze's difference is the model: the core stays protocol-agnostic, and subsystems bring YANG with them. One schema feeds the CLI, validation, web editor, generated references and MCP tools, while plugins extend the daemon without a second operator surface.

What can Ze actually do today?

The BGP implementation is broad: IPv4 and IPv6 unicast, labeled unicast, VPNv4 and VPNv6, EVPN, FlowSpec, add-path, graceful restart in several flavours, RPKI, route reflection, and a growing list of families and capabilities.

OSPFv2, OSPFv3, IS-IS, and MPLS are in the core. Around that sit a firewall, VPN, PPPoE and L2TP access concentration, flow export, and appliance packaging. The features page marks each capability by status, and the comparison page puts every protocol feature next to the other daemons.

I run ExaBGP. Can I move to Ze?

That is one of the paths Ze is built for. Ze aims for an easy migration from ExaBGP rather than perfect compatibility.

There is a config converter (ze config migrate) and a compatibility bridge that lets existing ExaBGP process scripts run with Ze as the engine while you port them over. The ExaBGP migration usage example walks through the conversion, the known differences, and when it is worth rewriting a plugin against the native Ze SDK.

What license is Ze under, and what does that mean for me?

Ze is free software under the GNU Affero General Public License v3. You can run it, read it, modify it, and redistribute it.

The AGPL adds one obligation beyond the GPL: if you offer a modified Ze to others over a network, you have to make your modified source available to those users. Running an unmodified Ze to route your own traffic carries no such obligation.

I want to contribute. What is the CLA about?

Contributions require a signed-off commit (git commit -s), which certifies agreement to the Contributor License Agreement. You keep your copyright.

What you grant is a broad license that lets the maintainer relicense the project, for example to offer a commercial license alongside the AGPL if that ever helps Ze reach more people. Ze stays AGPLv3 for everyone regardless. The contributor guide covers the rest of the process.

The daemon or the appliance: which should I run?

The same binary and the same config drive both. Run it as a daemon when you are fitting Ze into infrastructure you already operate under systemd or another process manager.

Build it as an appliance when you want a purpose-built box: a read-only root filesystem, no shell, no package manager, and automatic supervision, produced with gokrazy. Start with the daemon if you are unsure.

Does the AI and MCP support mean Ze needs an LLM to run?

No. Ze runs entirely on its own. The MCP server is an optional surface derived from the same schema and command catalogue. It lets an AI assistant ask what the running daemon, including compiled-in plugins, can do and then operate it.

Will my configuration keep working as Ze changes?

Until the first release, treat the configuration syntax as not yet frozen. Breaking changes are called out in the changes log, and the policy is no silent breakage: a change that affects your config should come with either an automatic migration or a clear error.

Stabilising the syntax so it stays stable is an explicit milestone on the roadmap.

Who builds Ze, and how is it funded?

Ze is developed by Thomas Mangin, with his time supported by Exa Networks, the ISP that has backed this work since 2009 when it began with ExaBGP.

There is no subscription, no paid support tier, and no separate commercial entity today. The contribute page has the detail.

How do I get help, or report a security problem?

For questions and discussion, use Discord or the issue tracker.

For anything security-sensitive, such as a bug an unauthenticated peer could trigger, follow the security policy and report it privately instead of opening a public issue.