开源项目被 GitHub 要求下架:上游项目闭源了?

2020 年 5 月 15 日

开源项目被 GitHub 要求下架:上游项目闭源了?

近日,开发者 jsiepkes 在 Hacker News 上分享了自己被 GitHub 要求下架开源项目仓库的经历。原因是 jsiepkes 在 GitHub 开源了一个名为 edgefs-smartos 的项目,这个项目使用了 EdgeFS 的代码,早在 jsiepkes 分享这个项目的时候,这些代码还是开源的,可现在这些代码闭源了。


开源项目被 GitHub 要求下架


这位 jsiepkes 小哥的开源项目使用了 EdgeFS 的代码,EdgeFS 的前身是“NexentaEdge”,当时是 Nexenta 公司的开源项目,使用 Apache-2.0 License,结果后来 Nexenta 这家公司被 DataDirect Networks(即 DDN)公司全资收购,DDN 公司大手一挥,表示 NexentaEdge 要改名为 EdgeFS,同时也将其闭源。


将 EdgeFS 闭源之后,拥有其代码版权的 DDN 公司公司手持《美国数字千年版权法案》(DMCA)请求 GitHub 删除其平台上所有已 fork EdgeFS 的开源仓库,其中就包括 edgefs-smartos 这个项目。所以,这位 jsiepkes 小哥收到了 GitHub 发送的 DMCA 删除通知:


https://gist.github.com/siepkes/8e1f51e2ce9e44ba7116ed79e49298f4


EdgeFS 闭源时间引发争议


DDN 公司的做法引起了不少开发者的不满。有开发者表示,DDN 拥有 EdgeFS 的版权,自然有权力将 EdgeFS 闭源,但因此要求删除 EdgeFS 曾经开源时的项目就说不过去了。也有网友觉得应该从 DDN 下架自己在 GitHub 上的代码时开始算起。


因此引起争议的地方在与 EdgeFS 的闭源时间和 edgefs-smartos 发布的时间孰前孰后。最早报道 DDN 收购 Nexenta 这一消息的媒体是 The Register,时间为 2019 年 5 月 7 日:



图片来自 The Register


从 edgefs-smartos 的发布时间来看,第一个版本是 2019 年 7 月 18 日发布的 v1.2.19:



不过,目前并没有明确消息能证明 DDN 公司是在 edgefs-smartos 发布前将 EdgeFS 闭源的,对于这位开发者来说,如果 DDN 公司能够拿出证据证明 edgefs-smartos 发布前自己就已经修改了 EdgeFS 的开源许可,那么小哥的项目就只能被迫下架了。


还有另一种说法:小哥在编写 edgefs-smartos 的时候,fork 的是 GitHub 上的 edgefs 仓库,而这个 edgefs 仓库才是直接 fork EdgeFS 的项目,所以在小哥开源 edgefs-smartos 的时候,可能并不清楚 EdgeFS 是否处于开源状态。


开源项目闭源:不是个例


这样的事并不是第一次发生。在 2018 年 8 月,数据库开发商 Redis Labs 闭源了 RediSearch、Redis Graph、ReJSON、ReBloom、Redis-ML 等项目,当时引起了开源社区不小的骚动;同年 11 月,广受欢迎的图数据库 Neo4j 产品副总裁 Philip Rathle 宣布,从 Neo4j 3.5 版本开始,企业版将仅在商业许可下提供,不再在 GitHub 上提供源代码,所有依赖 Neo4j 的开源项目全部受到影响;还有之前 Oracle 收购 MySQL 后,很多人担心其会不会将 MySQL 闭源,后 fork 出了 MariaDB…


因依赖的开源项目闭源而导致下游项目受限这样的事件虽是小概率事件,但也确实发生了不止一起,希望广大开发者在开源自己的项目的时候也可以多思考一下,避免这种糟心的事情发生在自己身上。


目前 edgefs-smartos 还没有被下架。大家怎么看这件事呢?


延伸阅读


https://news.ycombinator.com/item?id=23113226


2020 年 5 月 15 日 16:361903

评论 1 条评论

发布
用户头像
为什么infoq的评论这么少……
2020 年 05 月 15 日 17:08
回复
没有更多评论了
发现更多内容

深入学习单例模式和组合模式

拈香(曾德政)

单例模式 极客大学架构师训练营 组合模式

2020-06-20-第三周学习总结

路易斯李李李

架构师训练营 -- 第三周 -- 作业1

lei Shi

设计模式应用

wei

架构师训练营 -- 第三周 -- 总结

lei Shi

本周总结

Thrine

week3 命题作业

小叶

极客大学架构师训练营

架构师训练营 第三周 作业

极客

架构师训练营 第三周 作业

极客

极客大学架构师训练营

week3作业

张健

设计模式

wei

week3 作业

a晖

设计模式——架构师的重要武器

拈香(曾德政)

设计模式 架构师 极客大学架构师训练营

Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理

JackTian

nginx Linux 运维 lnmp 正向代理与反向代理

架构师训练营-第3周-总结

Dawn

设计模式 极客大学架构师训练营

架构师课作业-第三周

Tulane

【架构师训练营 - 作业 -3】单例和组合

Andy

架构师训练营第三周作业

坂田吴奇隆

架构师训练营 -week03 学习总结

GunShotPanda

第 03 周作业

Jeremy

架构师训练营第三周总结

olderwei

Week 03 作业

鱼_XueTr

组合模式

面试官:你们公司用什么框架写UT

java金融

Java 单元测试 powermock

架构师第三周

Tulane

学习总结 - 架构师训练营 - 第三周

走过路过飞过

架构师训练营第三周学习心得

路人

极客大学架构师训练营

Week3

泛岁月的涟漪

练习 3-1

闷骚程序员

第三周学习笔记

子豪sirius

手写单例模式

师哥

Week 03 学习总结

Jeremy

开源项目被 GitHub 要求下架:上游项目闭源了?-InfoQ