LGPL 到多边形

从 LGPL 到多形式非商业型

从第 5 版开始,我们将许可证从 LGPL 更改为 Polyform 非商业型 1.0.0 - 该许可证只允许非商业用途。结合 Polyform 非商业许可证,我们为在商业业务中使用 EPPlus 的客户销售许可证。由于 EPPlus 已经存在了一段时间,您可能会想知道为什么我们决定进行此更改。

EPPlus 背后的故事

我们是两个兄弟- Jan Källman和Mats Alm - 总部设在瑞典斯德哥尔摩。Jan 早在 2009 年就开始在 Codeplex 上推出 EPPlus,原因很简单,即他需要一个电子表格库,而当时他正在处理的项目中没有任何可用的性能和功能。过了一段时间,Mats加入了,我们开始一起构建它,主要是为了好玩。

我们从未销售过 EPPlus,但无论如何,它已经开始在 .NET 社区中传播。大约在 2014 年左右,它是 Nuget 上下载最多的电子表格包。在2019年,它有超过650万次下载,是下载量最多的100个软件包之一,对业余项目来说还不错!

挑战

我们在图书馆的所有工作都必须在业余时间(周末、节假日、晚上/晚上)完成,由于种种原因,我们过去几年花在图书馆上的时间都更少了。同时,EPPlus 的使用迅速增加,在迁移到 github 后,问题和拉取请求的数量也迅速增加。拉取请求是伟大的,但它们可能有点棘手处理,因为库的某些部分测试覆盖率低,并且对于不熟悉代码的人来说,要理解它可能造成的所有副作用并不容易。来自用户的问题/问题开始堆积如山,甚至很难知道从哪里开始,现在和那时只有几个小时。

EPPlus 中的一些代码已有 10 年的历史,需要重构/重新设计和更好的测试覆盖率。同时引入了新版本的 Excel、.NET 框架/标准/核心,需要做更多的工作才能跟上这一点。

对于我们和 EPPlus 的用户来说,这都不是一个好情况。

2018 年底,我们到达了一个必须决定如何处理该项目的问题。

EPPlus 软件

我们创立了EPPlus软件,以便能够与EPPlus全职工作,我们相信从长远来看,这将带来更好的产品。

我们现在发布EPPlus 5,这是新许可证模式下的第一个主要版本。EPPlus 5 是我们与律师合作以确保我们合法地可以更改许可证的过程的结果。但是,我们还实现了许多新功能修复了 EPPlus 4 中的许多问题,并改进了早期版本的代码。

EPPlus 4 会发生什么情况?

EPPlus 4 仍然(并且将永远)在 LGPL 下获得许可。当然,您可以继续使用 EPPlus 4 和以前的版本,您仍然可以通过 Nuget 安装它们。

                    
 PM> Install-Package EPPlus -Version 4.5.3.3 
                    
                

EPPlus 4 的代码将保持在github 存储库Jan Källmans,并且可以根据 LGPL 许可证分叉/使用。

然而,我们的重点是第5版。

Pending pull requests

If you have submitted a pull request to EPPlus 4 and think that the pull request should be applied to EPPlus 5, you need to resubmit it to our new github repo. Legally (under LGPL) the pull request is your intellectual property, not ours, and it needs to be resubmitted under our new CAA (Contributor's Assigment Agreement). For more info see CONTRIBUTING.md

新的许可证模型

EPPlus 5 获得 Polyform 非商业 1.0.0 许可证的许可。在此处阅读更多有关它。

未来的工作方式

我们希望保持社区驱动的工作方式。与其他商业替代方案不同,我们的代码仍将完全可用和开放。代码中没有要设置的用户特定的许可证密钥,只需在调试模式下设置一个许可证上下文属性,以便用户了解新许可证。EPPlus 5的代码,新的示例项目和wiki已经转移到EPPlus软件的github帐户

欢迎来到EPPlus软件!