いつの間にかSixLabors.ImageSharpのライセンスが変わっていたことに気づいた。それによってどういうことが起きたかどうかまでは言及しないが、代替ライブラリを探す必要が出てきた。

現在でもGoogleで調べたりAIに聞いたりするとImageSharpを一番に提案されるが、これは思わぬ落とし穴と言わざるを得ない。

.NET Foundationからの離脱

SixLaborsはこれまで.NET Foundationに加盟していて、Apache Licenseと商用ライセンスのデュアルライセンスでライブラリを提供していたものの、誰も金を払わなかったので、2022年あたりから.NET Foundationを離脱して収益化する方向に方針転換したようだ。

そのため、一定以上の売上規模のある団体で3.x系を使うにはライセンスの購入が必要になった。だったらNuGetで簡単にアップデートできるようにしておくなよ…とは思うところではある。

代替ライブラリ

というわけで、代替ライブラリを探すことになったのだが、Googleの画像処理ライブラリであるSkiaのC#版実装であるSkiaSharpが使えそうだということがわかった。試しに使ってみたが自分のユースケースだと特に癖は感じないし悪くない。

ImageSharpがデファクトだと信じて疑っておらず、ドメイン層やアプリケーション層でも依存していたのは失敗でもあったので、あわせてインフラストラクチャ層に押し込めることにした。

おわりに

便利なものや価値があるものには金を払うべきだし、OSSの善意にフリーライドしている自覚はある。最近もWordPress騒動のようにOSSへの貢献や還元不足が発端となったトラブルもあるが、実際のところ以前よりも個人も企業も財布の紐が固くなってきている近年では簡単には解決できない課題のひとつでもある。