Building a Robust Future for Mutagen

Mutagen v0.17 is bringing some fundamental changes to Mutagen’s licensing and monetization model, but not its commitment to open-source and sustainability. I wanted to give users an overview of Mutagen’s roadmap and hopefully address any concerns that might arise due to these changes.

What’s changing for users?

Starting with Mutagen v0.17, certain new Mutagen features are going to require a paid, subscription-based license. This is the exact same subscription currently used in the Mutagen Extension for Docker Desktop, so existing customers will have immediate access to this new functionality.

We’re also giving this subscription a name: Mutagen Pro. You can sign up for a Mutagen Pro subscription at mutagen.io. The current cost for this subscription is $7/user/month. Users interested in volume licensing can contact [email protected].

Two new features in v0.17 will require this subscription: xxHash hashing and Zstandard compression. Both of these are focused on synchronization performance and provide measurable performance boosts to filesystem scanning and file transfers (see the release notes for more information).

Going forward, Mutagen will continue to add functionality to both its free and paid tiers. We expect upcoming releases to add paid support for UDP forwarding, additional permissions-related functionality, custom transports, and more. We’re also planning to ship some exciting new functionality in the Docker Desktop extension, but that’s a story for another blog post 🙂.

Most importantly, by building a sustainable revenue stream for Mutagen, we’ll be able to continue improving the free core functionality that Mutagen offers.

What’s changing in the code and releases?

First and foremost: nothing is being taken away. All of Mutagen’s core code is staying under the MIT license, with all dependencies similarly staying under non-copyleft licenses. Any Mutagen functionality that falls under the Mutagen Pro subscription will be new functionality, and all of it will be open-source.

Yes, that’s right: all of the source code for the new paid functionality shipping in the Mutagen release binaries will be available under the Server Side Public License. Mutagen has already been shipping certain code under this license since mid-2022, specifically its support for fanotify filesystem watching in the Mutagen sidecar image. We plan to use this license for all new paid Mutagen features, as well as certain unpaid features such as the aforementioned fanotify support and future Mutagen API client libraries.

Why ship everything open-source? Well, we like open-source — Mutagen wouldn’t exist without it, it feels like the morally right thing to do, it makes export compliance simpler, and it provides a guarantee of future availability that closed-source software simply cannot. While we’re aware of the objections to the SSPL, the simple reality is that there’s no other open-source license out there that solves the SaaS value-extraction problem. The SSPL is also nearly identical to the venerable GNU General Public License, with the only additional restrictions affecting SaaS platforms, not individual users.

Because of this new functionality, Mutagen’s official release binaries are now going to include a mix of MIT, SSPL, and other non-copyleft code. These binaries are the same for both free-tier and Mutagen Pro functionality — the paid functionality will simply be disabled without a Mutagen Pro subscription. These new binaries may not be suitable for all platforms, projects, and products, so we’ve gone to great lengths to ensure that MIT + non-copyleft binaries (which are what we’ve been shipping since Mutagen’s inception) can still be built and interoperate with the official release binaries. The story is the same for Mutagen Compose binaries. We’re also going to continue building and shipping a non-SSPL variant of the Mutagen sidecar image.

If you’re a non-profit, open-source project using Mutagen and these new SSPL-licensed binaries aren’t suitable for your use case, please feel free to reach out to [email protected] or join the Mutagen Community Slack Workspace and we’d be happy to help you build binaries with only MIT and non-copyleft code.

What about sponsorship?

Over the years, many users have asked about supporting Mutagen via platforms such as GitHub Sponsors and Patreon. While these platforms are wonderful initiatives, they can be a tax complexity nightmare if you want to give something back to your users in return for their support. Moreover, they’ve proven to be an unreliable source of sustainment for many (if not most) open-source projects and open-core businesses, and in almost all cases they put the burden of sustaining a project on individual end-users, not the companies or products extracting the most significant value from a project.

By offering its own subscription at a price akin to common GitHub Sponsors tiers, Mutagen will be able to ensure its compliance with sales tax, VAT, and GST regulations, while also giving something back to its paying users. It will also allow Mutagen to offer volume and/or commercial licenses to companies who are using Mutagen at scale or embedding Mutagen into their own revenue-generating products.

What’s changing for projects and products?

NOTE: This section is not legal advice — it is merely a high-level overview of the relevant Mutagen changes. You should consult legal counsel for a full understanding of the implications of this change.

For other projects and products, the biggest change is going to be the inclusion of SSPL-licensed code in the official Mutagen release binaries. If you are currently vendoring the official Mutagen release binaries, then you’ll need to be cognizant of this change when updating to v0.17.x or later. This change will not affect the v0.16.x release series (which will still be supported until 21 March 2023) or any older release series. The most important effect of this change will likely be the inclusion of SSPL-licensed code in mutagen-agent binaries, meaning that using those binaries as part of a SaaS platform will trigger Section 13 of the SSPL. Other aspects of the SSPL may also be triggered by tight integration and the exchange of data with a mutagen binary containing SSPL-licensed code.

If you’re building Mutagen binaries from source or including Mutagen source code into your project, then nothing will change automatically — all of the SSPL-licensed functionality is opt-in when building the code, so it can’t be activated accidentally.

For companies who are interested in acquiring a commercial license for Mutagen’s SSPL-licensed code, or receiving support for building non-copyleft binaries, we are offering a commercial licensing scheme with add-ons for consulting and contracting support (including on-site support). For more information on this program, please reach out to [email protected].

The future

At the moment, Mutagen’s future looks positive. Not only has it seen significant user growth over the last three years, but it’s seen adoption in products from Docker, Adobe, Garden, Bunnyshell, Jetpack.io, and others. Going forward, we want to experiment with new models of open-core sustainability, but more importantly we want to offer new and more ergonomic modes of cloud-based development. Building a more sustainable revenue stream, especially in proportion to the value that Mutagen creates for other products, will be crucial to sustaining its pace of development.