开发者 jsiepkes 在 Hacker News 上分享了自己被 GitHub 要求下架开源项目仓库的经历。
具体情况是,jsiepkes 在 GitHub 开源了一个名为 edgefs-smartos 的项目,这个项目使用了 EdgeFS 的代码(edgefs-smartos fork 自 EdgeFS)。而 EdgeFS 原本是 Nexenta 公司的开源项目(当时叫做 “NexentaEdge”,使用 Apache-2.0 License),后来 Nexenta 被名为 DataDirect Networks(下简称 DDN) 的公司全资收购,然后 DDN 公司将 NexentaEdge 重命名为 EdgeFS,并选择将其闭源。
拥有 EdgeFS 代码合法版权的 DDN 公司根据《美国数字千年版权法案》(DMCA)请求 GitHub 删除其平台上所有已 fork EdgeFS 的开源仓库,其中就包括 edgefs-smartos 项目。
简而言之,jsiepkes 基于 EdgeFS 开发了 edgefs-smartos,并将其开源。后来 EdgeFS 选择了闭源,而享有 EdgeFS 著作权的 DDN 公司以“EdgeFS 不是开源项目”的理由,希望 GitHub 删除全部基于 EdgeFS 开发的开源项目,为此 jsiepkes 收到了 GitHub 发送的 DMCA 删除通知。
删除请求查看 https://gist.github.com/siepkes/8e1f51e2ce9e44ba7116ed79e49298f4DDN 公司的做法当然引起了大家的不满,因为这违背了开源许可证的条款。大多数人的看法是 DDN 作为 EdgeFS 的著作权方,当然有权决定是否将 EdgeFS 开源,但不能因此而追回 EdgeFS 曾经作为开源项目的权利。
这里有争议的地方在于时间节点,EdgeFS 到底是什么时候被闭源的?
因为根据媒体的报道,DDN 收购 Nexenta 的消息最早出现的时间为2019年5月7日,而 edgefs-smartos 首次提交的时间是2019年7月18日,可以认为这是 edgefs-smartos 宣布开源的最早时间。
有人发现 EdgeFS 的许可证文件在2019年5月的时候有过变动(线索查看 https://www.reddit.com/user/dmitry_yus/),因此如果 DDN 公司能证明 edgefs-smartos 在开源的时候自己已修改 EdgeFS 的开源许可,那么 edgefs-smartos 很难举证自己是基于开源项目进行开发。
事实上,edgefs-smartos 的直接上游项目是 https://github.com/inevity/edgefs 仓库,而后者才是直接 fork EdgeFS。所以 edgefs-smartos 使用 EdgeFS 的时候,可能也不知道最上游的 EdgeFS 是否还处于开源状态。
目前 edgefs-smartos 还没被下架。