Fluent Assertions 版本 8 发布及许可变更总结
主要观点
Fluent Assertions 是一个广受欢迎的 .NET 库,用于在单元测试中实现更具表达性的断言。在 2025 年 1 月 13 日,Fluent Assertions 发布了版本 8,并与 Xceed Software 合作,将其许可证从 Apache 2.0 变更为专有许可证。这一变更引起了开发者社区的强烈不满。
关键信息
许可变更
- 新许可证:Fluent Assertions 版本 8 采用了新的专有许可证,允许免费非商业使用,但任何商业使用都需要购买付费许可证。
- 旧版本:版本 7 将继续保留在 Apache 2.0 许可下,允许在任何类型的项目(包括商业项目)中免费使用。
- 价格:单个开发者席位的年费为 129.95 美元。
合作与集成
- 合作伙伴:Xceed Software 是一家加拿大 .NET 组件提供商,提供 UI 控件和其他辅助库(如 .ZIP 格式工具)。
- 集成:Fluent Assertions 将被集成到 Xceed 的开发工具套件中。
开发者反应
- 负面反馈:开发者社区对新许可证的变更表示强烈不满,认为价格过高,且维护者在最终拉取请求中将许可证变更为专有许可证的行为缺乏诚意。
- 替代方案:开发者可以选择继续使用版本 7,或者转向其他类似库,如 Shouldly 或 AwesomeAssertions。
历史与背景
- 创建者:Fluent Assertions 由荷兰开发者 Denis Doomen 创建,自 2010 年发布以来,已成为 .NET 领域最受欢迎的库之一,下载量超过 4.5 亿次。
- 维护者:自 2018 年以来,丹麦开发者 Jonas Nyrup 与 Doomen 共同维护和发展该库。
重要细节
开发者建议
版本锁定:建议开发者在其
.csproj
文件中使用括号版本标签来锁定版本 7,以避免无意中升级到新许可证模型。<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
替代方案
- AwesomeAssertions:一个基于 Fluent Assertions 预发布代码的分支,仍保留在原始许可证下,仅用于现有功能的直接替换,不会有任何进一步发展。
- Shouldly:另一个类似的库,提供了从 Fluent Assertions 迁移到 Shouldly 的指南。
社区讨论
- GitHub 讨论:开发者们在 GitHub 的拉取请求评论中对许可变更进行了激烈的讨论,认为这种变更有违 Apache 2.0 许可证的条款。
- 历史类比:一些开发者提到,这次许可变更让人联想到其他 .NET 生态库(如 ImageSharp 和 EPPlus)转向商业许可的情况。
结论
Fluent Assertions 版本 8 的许可变更为专有许可证,引发了开发者社区的广泛争议。尽管新许可证允许免费非商业使用,但商业使用需要付费,且价格被认为过高。开发者可以选择继续使用版本 7 或转向其他替代库,以避免受到新许可证的限制。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。