Apache StreamPark(incubating) 是一个流处理应用程序开发管理框架。初衷是让流处理更简单,旨在轻松构建和管理流处理应用程序,提供使用 Apache Flink 和 Apache Spark 等编写流处理应用程序的开发框架。同时,StreamPark 提供了一个流处理应用管理平台,核心能力包括但不限于流应用开发、调试、交互查询、部署、运维、实时数仓等。2021 年 4月 以 StreamX 为名进行开源,于 2022 年 8 月更名为 StreamPark,随后通过投票于 9 月 正式成为 Apache 开源软件基金会的孵化项目。
被抄袭侵权
前几天,有开发者跟我们反馈,有项目 copy StreamPark 的代码并且没有声明版权,起初我们不相信,以 Apache 项目的知名度和 Apache 开源协议的宽松程度一般不会有项目这么干,毕竟直接在代码中注明引用即可,协议对代码分发没有任何限制。带着疑惑和不解,我们在 GitHub 上找到了赤兔实时计算平台这一项目的主页以及代码,令人触目惊心的发现确实存在大量对 Apache StreamPark 代码的抄袭、并且所有引用代码的地方都删除了 Apache License 抬头,将 Apache License 2.0 协议修改成了 GPL 3.0。
在这里列举了几个证据来证明这一点,每个读者可自行下载源码进行对比。
赤兔代码:
https://github.com/streamxhub/chitu-sdp
StremaPark:
https://github.com/apache/streampark
注:这里的赤兔代码是 fork 到我们仓库的,非原始仓库,原始仓库可自行查阅
拷贝 StreamParm 源码的事实
在其 flink 模块中存在大量的 StreamPark 项目源码, 由于篇幅有限,这里只罗列部分内容的对比,我们先看 common模块, 可以看到目录结构如下:
接着我们随便打开几个文件进行源码对比:
对比后发现整个 common 模块代码全部来自 StreamPark,只是更换了包名。接着我们看 flink-submit 模块 :
我们再打开一个源码文件进行对比:
对比结果看到:除了部分包名和类名发生变化之外,源码部分基本都来自 StreamPark 。结论:整个 chitu-sdp-flink 模块下 80% 以上的代码都 copy 自 StreamPark。
未声明来源
Apache 软件许可的软件允许对代码进行修改,但是代码在使用的过程中需要进行相关的声明。赤兔的开发团队更改了所有软包名称,删除了 Apache 软件基金会的抬头,在重新发行时没有保留 Apache 软件基金会和 Apache StreamPark 的 LICENSE(许可证)和 NOTICE(告知)文件。
此外,我们在对方的网站上和公众号等媒体平台也找不到任何关于使用 StreamPark 代码的版权的声明,赤兔团队也从来未曾提及这部分代码来自 StreamPark。
更改 License 再发行不合规
Apache StreamPark 使用的是 Apache-2.0 license 开源许可证,赤兔采用 GPL 3 开源许可证。被 copy 的代码再次分发未保留 Apache License Header,则默认和项目的开源协议一致是 GPL 3.0 开源许可, 根据 Apache 2.0 License 的相关规定,这是明确禁止的, 不能将 Apache 2.0 许可证下的代码未经授权的情况下转换为另一种许可证。
以上事实证明赤兔实时平台违反了 Apache 2.0 许可证,没有尊重 Apache 软件基金会和 Apache StreamPark 的知识产权和品牌。
关于赤兔高调宣布开源
该团队不仅没有认识到侵权这一客观事实,反而高调的宣称项目开源,完全视开源协议为无物,不尊重他人付出。请问该团队在如此重要的大会上宣称开源的时候,是抱着什么心理?有对代码的敬畏吗?有对原作者的尊重吗?这份拿来主义换的荣耀您揣着踏实吗?
以下内容摘自赤兔官方公众号:
作为 O**** 开源合作方,跨越速运集团受邀参加其 3月25日 在北京举办的开源生态大会-O**** DevCon 。届时跨越速运集团高级架构师 ** 将作为受邀嘉宾与大家共同分享 《赤兔+ O**** 构建实时应用》 ,并同时宣布“赤兔”产品开源。
除此之外可以看到在其官方公众号里看到,该团队多次参加相关技术峰会,做主题演讲。
以下内容摘自赤兔官方公众号:
赤兔实时计算平台已于3月25日的 O****e 开发者大会上,正式宣布开源,赤兔的开源,已经引起了业界的广泛关注。
为了让更多的开发者了解赤兔,赋能更多的企业用户,*** 老师将于4月1日再赴苏州,参加 Suzhou GDG “AIGC 与数据科学” 专场分享会,进一步向与会嘉宾、业界专家等分享赤兔实时计算平台的应用场景和使用方法,从而推动赤兔在企业中的落地及应用,拓展业界对跨越速运的品牌认知度。
这两年经常听到大家说软件改变世界,开源吞噬软件,从国家政策到各种形式的开源组织都在鼓励大家踊跃参与各种开源项目,这是好的,国内的开源发展一路狂飙。但是随之而来的代码抄袭,开源合规,知识产权等问题也随之而来,这些相关的意识是否同步跟上,是个值得讨论的问题。我相信 StreamPark 不是第一个被侵权也不是最后一个,广大的开发者该如何维护自己的合法权益,也是我们不得不去面对的问题。不知道针对这种拿着别人项目的源码,剔除声明,修改开源协议,参加行业峰会,呼吁大家积极加入的行为,大家如何看待?
我们的要求
Apache StreamPark(incubating)从最初的构想到开发出来,是开发者们用汗水换来的,而该项目也在我们的努力下被更多的人知道,有了更多的开发者加入,有了大量的企业去使用,有培训学校出了相关的教程,逐渐获得了一些业内专业人士的认可和一些奖项,万万没想的是我们的项目面临被抄袭的困境,被非法侵权,针对赤兔这种侵权行为我们已经提出了相关意见并保留采用法律手段维权的权利:
1. copy 的源码必须遵守 Apache-2.0 license 的合规要求,保留 Apache-2.0 License Header,声明来源
2. 公开回应,并且道歉,消除影响,合规使用开源代码
最后我们想说:作为项目的维护团队,我们深知自己力量渺小更无意与大厂抗衡,只希望以我们的经历向大家切身说法,呼吁对开源协议和知识产权的保护,开源是因为热爱才诞生,技术也是因为开源才变的更好。身为每一个技术从业者的我们,更要坚守开源的底线才能让开源世界得到更好的发展。希望这类事件能少一些,原创项目多一些,真诚奉献多一些,不要寒了广大开发者的心,也败了自己的名。