写点什么

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

  • 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:314266

评论

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

Nodejs - 9步开启JWT身份验证

南城FE

JavaScript 前端 nodejs JWT

云服务器是干什么的?其工作原理及优势解析

天翼云开发者社区

云计算 云服务器

IBM Storage Ceph:现代数据湖仓的理想技术底座

财见

云MySQL 主节点故障

腾讯云混沌演练平台

混沌工程 MySQL主节点故障

关于「日志采样」的一些思考及实践

京东科技开发者

跨语言高性能 RPC 框架 Focus 发布 V1.2.0

dinstone

RPC框架

新型生成式 AI 助手 Amazon Q(预览版)上线

亚马逊云科技 (Amazon Web Services)

人工智能 生成式人工智能

Wireshark中的TCP协议包分析

小齐写代码

代码可控是什么意思?有哪些优势?

行云管家

信创 国产化 代码可控

2023 OpenHarmony年度运营报告

OpenHarmony开发者

OpenHarmony

文心一言 VS 讯飞星火 VS chatgpt (192)-- 算法导论14.2 2题

福大大架构师每日一题

福大大架构师每日一题

大前端CPU优化技术--NEON技术

江湖修行

性能优化 大前端 arm架构 异构计算

TDengine 签约杭州云润,助力某大型水表企业时序数据处理

TDengine

tdengine 时序数据库

低代码平台如何快速开发应用?

互联网工科生

低代码开发 JNPF

云电脑超详细技术讲解

天翼云开发者社区

云计算 云电脑

Databend Stream 的设计与实现 | Data Infra 第 18 期

Databend

演讲回顾:如何为大规模研发团队加速CI构建,实现高效流水线

龙智—DevSecOps解决方案

DevSecOps Atlassian

重构商业生态:支付宝小程序云与AI融合的无限可能

TRaaS

小程序 支付宝小程序 AI 小程序云

职场逆袭:被裁成为薪资翻倍的契机

测试人

软件测试

专科学历被裁,我是如何逆天改命的?

霍格沃兹测试开发学社

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