License Enforcement Changes and a New Subscription Tier

Build with confidence, license with clarity.

Over the past few years Six Labors libraries have become a critical part of many production systems. That adoption has been fantastic to see, but it also means we need to make sure our licensing model is both sustainable and fair. To support that, we are introducing some important updates.

Why the change? #

Until now, licenses have been enforced purely through legal terms. Some organizations comply, but our download statistics indicate that the number of compliant commercial users is a very low percentage of the expected number. That hurts those who do the right thing and pay for their usage.

To level the playing field, Six Labors projects will now introduce a build time license key. This ensures that only organizations with the correct license can compile projects that directly depend on our libraries.

This only applies to direct dependencies. If you use a third party package that depends on our libraries, you do not need a license. The responsibility is on the immediate consumer.

What is not changing? #

  • The license terms remain the same, and there is no intent to change them.
  • If you already hold a valid license, your entitlement does not change.
  • Usage scope is unchanged. Enforcement applies to direct dependencies only, not transitive installs.
  • There is no change to library behavior. The only addition is build validation using a license file.

What is changing? #

  • Starting with future major releases, a sixlabors.lic file will be required to build projects that directly depend on Six Labors libraries.
  • Standard licenses are valid for one year and are delivered automatically when you purchase a subscription.
  • Trial licenses are valid for 90 days and are delivered automatically when you start an evaluation.
  • A sample sixlabors.lic file can be downloaded from this post to allow people to play around with upcoming releases. This sample key is valid for one year, until 2026-09-04.

Open Source and source available projects, Non-Profit organizations, registered charities, and for-profit companies with under USD 1M annual gross revenue can apply for a license.

Specifically the product versions requiring license keys are:

  • ImageSharp v4.0.0
  • ImageSharp.Drawing v3.0.0
  • ImageSharp.Web v4.0.0
  • Fonts v3.0.0
  • PolygonClipper v1.0.0

Download a sample license file #

You can download a sample license file here:

Download sixlabors.lic

This file will allow you to experiment with upcoming releases before the enforcement goes live.
It expires on 2026-09-04.

How to use the license file #

By default, the build searches from each project directory for sixlabors.lic. Place the supplied file in the directory that contains the project file, or in a subdirectory below it. Use the file as supplied; it already contains the complete license string required by the build.

If you want to keep the file somewhere else, including a repository root that sits above the project directory, set SixLaborsLicenseFile in your project file or a shared props file:

<PropertyGroup>
  <SixLaborsLicenseFile>path/to/sixlabors.lic</SixLaborsLicenseFile>
</PropertyGroup>

If you do not want to store the license on disk, pass the license string directly from an environment variable or secret store. When extracting the value from sixlabors.lic, use the full file contents, not only the Key field:

<PropertyGroup>
  <SixLaborsLicenseKey>$(SIXLABORS_LICENSE_KEY)</SixLaborsLicenseKey>
</PropertyGroup>

You can also pass the key to common .NET CLI commands.

PowerShell:

dotnet build "/p:SixLaborsLicenseKey=$env:SIXLABORS_LICENSE_KEY"
dotnet publish "/p:SixLaborsLicenseKey=$env:SIXLABORS_LICENSE_KEY"

Bash and other shells that expand environment variables with $NAME:

dotnet build -p:SixLaborsLicenseKey="$SIXLABORS_LICENSE_KEY"
dotnet publish -p:SixLaborsLicenseKey="$SIXLABORS_LICENSE_KEY"

Build as normal after the file or property is configured. If the license is missing or invalid, the build fails with a clear error. You do not need to reference the licensing package directly; it is carried by Six Labors libraries.

New subscription tier: Agency #

We are also introducing a new subscription tier to better fit medium sized teams.

The former Boutique Agency tier is now simply called Boutique. We’ve also introduced a new Agency tier for organizations with 11–20 developers. If you previously held a Boutique Agency license, you’re now in the Boutique tier with no change to your entitlement.

This new tier gives growing teams an affordable path before stepping up to Enterprise licensing.

Closing thoughts #

Our aim with these changes is to make sure the rules are applied consistently, and that the investment you make in licensing is matched by the confidence that everyone else is held to the same standard.

Thank you to every team and individual who continues to support our work. Six Labors exists because of you.