IT资讯 DotNetCore.NPOI 被下架,其 GitHub repo 被迫归档

chapman · 2020-10-20 07:00:06 · 热度: 40

DotNetCore.NPOI 是一款支持 .NET Core 的 Office 操作组件,由 NCC 从 NPOI 移植而来。NPOI 是一个 .NET 工具库,可用于在没有安装 Microsoft Office 的情况下对 Office 格式文件(如 Word 或 Excel 文档)进行读写操作。

NCC(即 .NET Core Community)是国内 .NET 开发者民间组织的开源社区,非微软官方或 .NET 基金会主导。

由于在 2016 年时 NPOI 没有提供 .NET Core 版本,其作者也无意为此做迁移和维护,而社区对于 .NET Core 版本的 NPOI 又有强烈的需求。在这种情况下,开发者 Savorboard 遵守开源协议将 NPOI 适配并移植到 .NET Core (https://github.com/yuleyule66/Npoi.Core),此项目就是后来的 DotNetCore.NPOI,自此 DotNetCore.NPOI 作为 NPOI 的下游项目诞生了。

两者均以 NuGet 包的形式提供给开发者使用,截至 DotNetCore.NPOI 被下架前,其下载次数累计超过 180 万次,NPOI 则超过了 708 万次。

DotNetCore.NPOI 被下架,其 GitHub repo 被迫归档

根据 NCC 发布的通告,由于上游项目 NPOI 作者 Tony Qu 向微软 NuGet.org 发起 DMCA 审查请求,导致 DotNetCore.NPOI 被下架并被删除(目前已不可被检索)。

个人认为 DotNetCore.NPOI 这一名称难免会让人误以为它来自微软官方,而且 NCC logo 与微软官方的 .NET Core 也较为相似,这些因素综合起来可能被微软判定有侵权之嫌,并因此导致被下架。

DotNetCore.NPOI 被下架,其 GitHub repo 被迫归档

根据开源中国从 NCC 成员了解到的后续情况,就 DotNetCore.NPOI 包下架一事,NCC 没有在微软给出的 5 个工作日时间内提起上诉,原因是 NCC PMC 认为 DotNetCore.NPOI 包已完成特定历史阶段的历史使命,“NCC 没有必要,也没有足够的精力与上游项目就此次争端长时间纠缠”。

被下架后,NCC 建议 2016-2017 期间交付的项目如果使用了 DotNetCore.NPOI 尽快做出相应调整,避免因微软删除 NuGet 包而出现故障。另外,为避免引起更大的纠纷,NCC PMC 讨论后决定将 DotNetCore.NPOI 项目 GitHub repo 归档。

DotNetCore.NPOI 被下架,其 GitHub repo 被迫归档

整件事简单概括就是上游项目作者请求微软审查其下游项目的版权问题,并因此导致下游项目被下架。下游项目选择将 GitHub repo 归档以息事。

NCC 移植自 NPOI 的 DotNetCore.NPOI 完全遵守开源协议,也一直在项目中标注其迁移自 NPOI,他们没想过要将原作者的功劳占为己有。因此 NCC 认为自己没有违反开源协议并无过错。

那么上游项目 NPOI 作者 Tony Qu 向微软 NuGet.org 发起对 DotNetCore.NPOI 的 DMCA 审查请求有错吗?他的做法虽然有争议,但算不上过错,因为下架是微软决定和执行的。

NCC 在通告提到 NPOI 作为上游项目,Tony Qu 无权要求下游项目归档。如果「要求下游项目归档」的确由 Tony Qu 提出,确实有违开源精神,而且开源协议也没有此类条款。不过这是 NCC 单方面的说法,我们无法得知他们讨论时的语境。

而且我们看到 Tony Qu 对 NCC 也颇有微词

DotNetCore.NPOI 被下架,其 GitHub repo 被迫归档

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册