首頁/ 遊戲/ 正文

我的開原始碼被科技巨頭偷了,對方還跑到我面前演示

作者 | 核子可樂、鈺瑩

近日,一位開發者發博記錄了一次被科技巨頭竊取程式碼的經歷。

我的開原始碼被偷了

對於開發人員來說,可能或多或少聽過 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,並定期獲取更新。很多開源方案都在不斷演進中,重寫(分叉)只會分流工程資源,甚至導致客戶用到已經過時的版本。

開源不易,且用且珍惜!

集虎卡,開鴻運!最高拆522元驚喜福袋!

相關文章

頂部