← Back to main site

ImageSharp

ImageSharp is a modern, cross-platform, high-performance image processing library for .NET. Developed by Six Labors, it aims to provide a comprehensive API for image manipulation without relying on native system libraries like System.Drawing.Common. However, its licensing model has been a significant point of discussion within the .NET community.

The Licensing Change (Six Labors Split License)

In July 2022, Six Labors formalized the "Six Labors Split License" (SLSL) for ImageSharp and its related libraries (like ImageSharp.Web). This dual-license model means:

  1. Apache 2.0: The library remains under the permissive Apache 2.0 license for:

    • Open Source or Source available consumers
    • Anyone consuming the Work as a Transitive Package Dependency
    • For-profit companies/individuals with less than 1M USD annual gross revenue
    • Non-profit organizations or Registered Charities
  2. Commercial License: Organizations exceeding the revenue threshold or using the library in ways not covered by the Apache 2.0 terms must purchase a commercial license.

The stated goal was to ensure the project's financial sustainability and fund ongoing development, allowing the core team to work on it full-time.

Commercial Pricing

Six Labors offers the following pricing options for their Commercial Use License:

Monthly Billing

PlanPriceFeatures
Boutique Agency$80 USD per month- Up to 10 developers*
- Unlimited APIs
- Unlimited client applications
- Unlimited redistributions
Enterprise$520 USD per month- Unlimited developers
- Unlimited APIs
- Unlimited client applications
- Unlimited redistributions

Annual Billing (25% off)

PlanPriceFeatures
Boutique Agency$799 USD per year- Up to 10 developers*
- Unlimited APIs
- Unlimited client applications
- Unlimited redistributions
Enterprise$4999 USD per year- Unlimited developers
- Unlimited APIs
- Unlimited client applications
- Unlimited redistributions

* The limit reflects the number of developers currently employed by the purchasing entity, not individual teams/departments.

The Commercial Use License gives you all the freedom of the Open Source License for all Six Labors libraries at a single price, allowing you to:

ImageSharp and the .NET Foundation

In October 2022, ImageSharp left the .NET Foundation after negotiations regarding the license changes failed. According to Six Labors:

"Unfortunately those negotiations have failed and we have no option but to leave the .NET Foundation. We're obviously disappointed that the situation resolved itself in this manner but we understand that the .NET Foundation has a very difficult job to do in an ever changing landscape."

This move was necessary as the new split license model did not align with the .NET Foundation's requirements for OSI-approved licenses.

License Details

The Six Labors Split License (Version 1.0, June 2022) defines important terms including:

The licensing is determined based on specific criteria, with the Apache 2.0 license applying in certain scenarios and the Commercial License applying in others.

Community Reaction

The licensing change sparked considerable debate:

Alternatives

Developers seeking alternatives to ImageSharp, especially due to licensing, often consider:

  1. SkiaSharp: A cross-platform 2D graphics API for .NET based on Google's Skia Graphics Library. Often used for drawing but also has image loading/saving/manipulation capabilities. (MIT License)
  2. Magick.NET: .NET wrapper for the powerful ImageMagick library. Offers extensive format support and features. (Apache 2.0 License)
  3. System.Drawing.Common: The built-in .NET library. Warning: Microsoft has deprecated its use outside of Windows due to native dependencies and potential instability on other platforms. Not recommended for cross-platform applications.

Conclusion

ImageSharp is a technically excellent image processing library for .NET. However, its dual-licensing model requires careful consideration, especially for commercial projects or larger organizations. Teams must evaluate whether their usage falls under the Apache 2.0 terms or if a commercial license is necessary, weighing this against the features offered and the availability of alternatives.

Links and References

Related News

  • 2022-07-16

    License Changes for Six Labors Products

    The Six Labors libraries occupy a domain of software development that is considered very complex. As such, huge effort is required to research, develop, and maintain the libraries which is unsustainable for a very small team of developers working in their spare time.