写点什么

我的开源代码被科技巨头偷了,对方还跑到我面前演示

  • 2021-07-12
  • 本文字数:2005 字

    阅读完需:约 7 分钟

我的开源代码被科技巨头偷了,对方还跑到我面前演示

近日,一位开发者发博揭露了一次被科技巨头窃取代码的经历。

我的开源代码被偷了


对于开发人员来说,可能或多或少听过 DTrace,这是一款表现优异的性能分析工具。《性能之巅》这本书从推荐序开始就不停地给 DTrace 打广告,该工具由 Sun 公司开发,没错,就是推出了著名的 Java 编程语言的 Sun 公司。


Sun 曾经有多么辉煌想必各位开发者也都了解。顶峰时期,Sun 的市值一度超过 2000 亿美元,吊打第二名 Google 和第三名 IBM,它发明的多项技术至今仍然流行。比如 Sun 发布的 NFS (网络文件系统),至今都是计算机网络文件共享的标准。此外,这家公司还是开源软件的忠实支持者,但偏偏就在这事儿上翻了车。


前不久,一位名叫 Brendan Gregg 开发者在博客上公开了自己写的与 DTrace 项目相关的开源代码被 Sun 公司“偷走”的往事。


早在 2005 年,Brendan Gregg 就忙着编写和发布 DTrace 相关的高级性能工具,包括他自己编写的开源 DTrace Toolkit 以及其他 DTrace 脚本工具。做着做着,他发现了一个奇怪的现象:作为该工具的发行者,Sun 公司发布的相关工具竟然比自己发布的还少,这是什么情况?难道 Sun 公司内部在酝酿某个神秘的大版本或者大项目占用了太多精力?


由于作者本人并不是 Sun 公司的员工,所以不太了解 Sun 的内部运作情况,但当时也负责为 Sun 提供培训与咨询支持,支持他们的客户完成系统管理与性能优化方面的工作。不久之后,Sun 公司联系 Brendan Gregg,表示有位极具份量的人物要从美国去澳大利亚拜访(作者本人常年呆在澳大利亚),希望可以为 Brendan Gregg 演示基于 DTrace 打造的新产品。


Brendan Gregg 对此期待不已,因为那个时候的 Sun 开发了很多非常不错的工具和技术。


见面后,Brendan Gregg 虽然觉得对方语气不佳,但也非常配合地看完了对方的全部演示,只可惜并没有出现预期中的重磅功能,甚至发现其中一些工具是自己编写的脚本,而且这些工具非常不成熟,是作者当年随手写了并对外开源的,里面有很多奇怪的组合,比如在 defaultargs 之前使用 PFORMAT 之类,而且有很强烈的个人风格。


随后,作者用 grep 在所有演示工具中都找到了自己的名字,当初就明明白白写在工具的标题注释里,足够证明这些都是作者所有。但是,作者什么都没找着,看来 Sun 把名字都给删掉了。


一部分工具里倒是出现了以下内容:


Author: Brendan Gregg [Sydney, Australia]


作者立刻提出质疑,相当于 Sun 不仅使用了作者的开源代码,还特意隐去了作者的姓名、版权及许可证等相关信息,并且还千里迢迢过来给作者演示,之后再公开出售。


盗用了我的代码就算了,还跑到我面前演示,这就是你不对了吧?


当然,不排除这件事情是 Sun 公司个别员工的行为,毕竟此前作者开发的 DTraceToolkit 至少被四次内置在可观察性产品当中,但许可证仍然保留原样。


相比于 Sun 公司的行为,苹果和甲骨文的做法就让作者舒服很多。博客最后,作者表示,几年后,苹果把我的几十款工具添加进了 OS X 系统中,并完整保留了作者的姓名、版权以及 CDDL 开源许可证,甚至还对功能进行了改进与增强。多年之后,甲骨文在 Oracle Solaris 11、BSD 社区在 FereBSD 上也采取了同样的开源成果吸纳方式。


作者本人的完整叙述:http://www.brendangregg.com/blog/2021-06-04/an-unbelievable-demo.html

开源不易,且用且珍惜


创造并维护一个开源项目是非常苦的事情。


此前,坐拥百万用户的开源项目 Babel 引起开发者关注。Babel 宣布,尽管有 Airbnb、Facebook、Salesforce、Gitpod、GatsbyJS、Discord 和 Elastic 等企业的赞助,但由于花钱速度继续高于获取捐赠的速度,项目储备资金目前只够维持到 2021 年底。


去年,Redis 之父宣布退出开源项目维护,他说:“最近几年来,我每天的工作内容发生了很大变化。我把大部分精力花在检查其他开发者提交的 Redis 代码、改进代码质量以及提升软件正确性、速度与安全性方面。但我真的不喜欢这类维护工作。”


更重要的是,这种全年无休的上班生活让他无法放松,从而无法做一些创造性的工作。


甚至对于全球顶级的开源项目 Linux,Linux 之父也很担忧没人继续维护内核。


没钱、没人,全靠开发者的热情很难以为继。并且,近几年大公司“偷盗”开源项目代码的事件时有发生。


去年,一名开发者停掉了用两年的业余时间开发并维护的开源项目 AppGet,虽然项目取得了比较大的成功,但不幸的是,微软在自家大会上推出了同样的项目。最终,这名开发者只得停止维护并终结掉了自己的开源项目,但他给出了一系列的证据表示微软在剽窃。


对此事件感兴趣的读者欢迎阅读:https://www.infoq.cn/article/71svTTgb7Q3Nx5rvmBk8


就连 Brendan Gregg 本人也表示,这不是第一次有人拿着自己代码跑过来演示了。最后,希望所有开发者在遇到比较理想的开源工具或者库的时候,不要直接重写,而是按照原样进行 Build,并定期获取更新。很多开源方案都在不断演进中,重写(分叉)只会分流工程资源,甚至导致客户用到已经过时的版本。


开源不易,且用且珍惜!

2021-07-12 08:314155

评论

发布
暂无评论
发现更多内容

[大厂实践] 零配置服务网格与按需集群发现

俞凡

架构 netflix 大厂实践

十一假期带上HUAWEI Mate 60系列,HarmonyOS 4让旅行更精彩!

最新动态

2023 年 Bitget Wallet 测评:这个钱包到底靠不靠谱?

石头财经

专访中欧财富伍春兰:财富管理行业数字化转型升级,数据库如何选型?

TiDB 社区干货传送门

实践案例 数据库架构选型

如何搭建一个专属的认证中心(一)

Kevin_913

spring security OAuth 2.0 java 架构

API商品数据接口调用

Noah

API 文档

Web3钱包大比拼:Metamask、Trust Wallet、Bitget Wallet 和 Coinbase Wallet

小哈区块

哪家强?Bitget Wallet vs Metamask 从安全性能角度全方位 PK!

股市老人

Python 布尔类型

小万哥

Python 开源 程序员 软件 后端

【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器

OpenHarmony开发者

【中秋国庆不断更】OpenHarmony定义扩展组件样式:@Extend装饰器

OpenHarmony开发者

OpenHarmony

【运维实操】TIDB v6.1.1:全量备份、全量恢复和增量备份方法解析

TiDB 社区干货传送门

实践案例 安装 & 部署 备份 & 恢复

幸福城市平台:数据库选型与优化实践

TiDB 社区干货传送门

数据库架构选型

商业版 Plus '遥遥领先' | 相约10月

开源物联卡管理平台-设备管理

物联网 IoT 国际化 物联网应用 国产开源

【原理篇】Supabase的API Key工作机制和使用场景

张文平

权限 Supabase API Key

华为校园公开课|哈尔滨工业大学(威海)圆满收官

最新动态

三力四总线,为智能世界画一张蓝图

脑极体

华为

【玩转 EdgeOne】边缘行者,速必达

指剑

腾讯云 CDN EdgeOne

[大厂实践] Zuul连接控制实践

俞凡

架构 netflix 大厂实践

如何搭建一个专属的认证中心(二)

Kevin_913

spring security springboot OAuth 2.0

玩 DeFi 必备的钱包!教你快速学会玩转 Web3 应用!

BlockChain先知

【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(上)

HarmonyOS开发者

三地五中心,TiDB POC最佳姿势探索

TiDB 社区干货传送门

7.x 实践

我来聊聊面向组件的前端开发

欧雷

软件工程 前端开发 前端架构 组件化 前端工程化

自动群发节日祝福,1行Python代码搞定!

程序员晚枫

Python 微信 开源 机器人

我的开源代码被科技巨头偷了,对方还跑到我面前演示_AI&大模型_核子可乐_InfoQ精选文章