微軟發佈新品被指剽竊!交涉無果,兩年開源項目被迫終結

作者 | Tina

“我的開源項目被市值高達 1.4 萬億美元的微軟偷走了。”

一名開發者用兩年的業餘時間開發並維護了一個開源項目 AppGet,項目取得了比較大的成功,並引起了微軟的注意。

不幸的是,微軟在 Build 2020 大會上推出了同樣的項目。最終,這名開發者只得停止維護並終結掉了自己的開源項目,但他給出了一系列的證據表示微軟在剽竊。

1 填補空白的官方 Windows 軟件包管理器 WinGet

Linux 和 macOS 的開發者經常用包管理器來安裝和管理應用,特別是一些需要不同依賴的命令行程序,比起手動一個個去官網下載代碼編譯要方便高效得多。Linux 系統有一些常見的包管理命令,如 apt-get、yum 或 dnf,而 Windows 在“包管理工具”方面則一直乏善可陳。

爲了留住開發者和 Linux 愛好者,讓 Windows 與 Linux、macOS 使用上差別越來越小,5 月 20 日,微軟在 Build 2020 大會上宣佈開源一個新工具:Windows Package Manager(WinGet),Windows 軟件包管理器。

WinGet 由一個命令行工具和一組用於在 Windows 10 上安裝應用的服務組成,可以幫助使用者快速輕鬆地發現地安裝不同的工具,只需要輸入一個命令即可:winget install

這次官方發佈的 WinGet 命令行工具可以說是意義非凡。有了它之後,不僅是安裝軟件方便了不少,開發者在其他操作系統中的習慣可以延伸到 Windows 上,也能讓 Windows 的工作流更加靈活,特別是通過腳本調用或者部署軟件都能更加高效。

已經開源兩年的 AppGet

在 Build 2020 大會之前,微軟官方雖然一直沒有軟件包管理器,但是位於加拿大的凱文·貝吉(Keivan Beigi)早在 2018 年就發佈了一個開源免費的軟件包管理器 AppGet,用以在 Windows 中安裝和更新軟件。AppGet 基本上可以模仿 apt-get 在 Linux 中的工作方式,例如,使用命令 appget install winrar 將在計算機中下載並安裝 WinRAR 瀏覽器。

AppGet 開源至今已經包含了 1400 多個軟件包,每個軟件包都經過了驗證。並且還擁有相當大量的使用者,早已成爲 Windows 生態系統的重要補充。

但是這個開源項目的結局並不太好,在微軟發佈 WinGet 之後,AppGet 的作者 Keivan 表示:“將不再從事 AppGet 開發工作。AppGet 的客戶端與後端服務將立即進入維護模式,並從 2020 年 8 月 1 日起被永久關閉。”

更爲讓人喫驚的是,Keivan 列舉了一系列證據,表示微軟的軟件包管理器剽竊了他的工作。

一年前,Keivan 在 2019 年 7 月 3 日的時候收到了微軟高級經理 Andrew 的電子郵件,對方要求和 Keivan 見面溝通 AppGet 的發展。最初他很高興微軟注意到了他的這個業餘項目,所以馬上答應可以在微軟溫哥華分部見面。隨後他和 Andrew 以及 Andrew 產品組內的中另一位微軟工程經理討論了 AppGet 背後的設計思路,以及 AppGet 未來發展的下一步計劃。

Keivan,

我是 Windows App Model 工程團隊的負責人,主要管理應用程序部署方面的工作。首先,我要感謝您在 appget 開發方面投入的心力——它已經成爲 Windows 生態系統中的重要補充,降低了 Windows 開發者們的工作難度。我們接下來幾周計劃在溫哥華與其他幾家公司會面,如果屆時您恰好有空,我們也希望能跟您和您的團隊直接交流,聊聊怎麼推動 appget 更好地發展下去。

一週之後,Keivan 再次收到了來自微軟的郵件:

Keivan,

很高興認識您,並瞭解到關於 appget 的更多信息。我們正在爲您規劃一條新的發展道路。如您所知,我們一直非常重視 Windows 系統上的軟件包管理工具,也希望在這個領域中有所建樹。我們的團隊正在成長,當前的一大目標就是建立起專項小組,確保 Windows 上的軟件包管理器與軟件分發功能得到顯著改善。這也許將給 Windows 平臺上的軟件分發方式帶來重大改進,機會難得哦(至少在我看來,這確實是個好機會)。這項工作,有望定義 Windows 乃至整個 Azure/Microsoft 365 生態中的未來應用程序分發方式。

有鑑於此,您有沒有考慮過在 appget 身上投入更多時間和精力,甚至直接加入我們微軟?

微軟希望 Keivan 將全部精力都放在 AppGet 身上。如果 Keivan 同意,屆時微軟會決定是否需要調整 AppGet 的名稱。但在數次溝通交流過程中,Keivan 都弄不清楚自己將在微軟中得到怎樣的職位,比如職責是什麼、需要向誰報告等。但微軟方面一直希望 Keivan 能快速移交代碼所有權,雙方在具體方法上沒有達成共識,於是 Keivan 只能繼續等待微軟下一步的迴應。

不幸的是,在接下來的 6 個月裏,他再也沒有收到任何後續消息。直到上週他聽說微軟將在第二天發佈 WinGet。

Keivan,

您好,祝您和您的家人一切順遂——跟美國比起來,加拿大對 COVID-19 疫情的控制還比較到位。

我很遺憾地知會您,上次商議的僱用事宜沒能解決。但我們仍然非常感謝您的意見與建議。我們一直在開發 Windows 軟件包管理器,而且首個版本將在明天正式發佈。我們在相關博文中也提到了 appget,微軟希望 Windows 平臺上能夠有多種不同軟件包管理器的生存空間。我們的軟件包管理器同樣基於 GitHub,但其中也包含自己的實現成果。這個項目將保持開源,我們期待着您能夠爲它帶來寶貴的貢獻。

在明天項目上線之後,我打算再跟您聊聊微軟的這款軟件包管理器。但在此之前,項目本身還是完全保密的,因此請您不要向他人透露。

祝好

Andrew

WinGet 核心原理、術語、manifest 格式或者結構,就連軟件包 repo 的文件夾結構都跟 AppGet 一模一樣。

Keivan 對這個結果也無可奈何,停止維護 AppGet 之後,他表示:“這樣一家市值高達 1.4 萬億美元的企業早在多年之前就該做好這項工作。Windows 應用商店曾是無數用戶的噩夢,同樣的事情不該在軟件包管理器身上重演。”而且還大方承認:“無論我在 AppGet 的推廣方面投入多少精力,都不可能讓它像微軟官方解決方案那樣獲得足夠的重視與普及度。我開發 AppGet 不是爲了賺錢或者被微軟聘用;相反,我的想法非常簡單——讓 Windows 用戶也能獲得比較正常的應用程序管理體驗。”

他說,真正讓他難受的,是整件事情的處理方式。緩慢而低效的溝通速度、永無應答的交流對象,最後則是給人沉重一擊的官方公告。客觀上講,WinGet 的大部分設計靈感都來自 AppGet,但微軟卻刻意把 AppGet 描述成一個恰好存在、因此可以順帶一提的管理器方案。相比之下,反倒是其他跟 WinGet 共通點不多的軟件包管理器,在官方公告中得到了更多提及與強調。

3 AppGet 終結之日

AppGet 是一個開源項目,遵守了 GitHub 上的開源協議,也凝聚了這位開發者兩年多的心血。但得知微軟發佈了相同產品之後,他沒有任何掙扎地直接終結掉了這個項目。

有網友評論說不應該慣着微軟:“他們閱讀了 AppGet 的代碼,然後將其重寫了。根據美國版權法,這是非法的。應該去起訴他們!他們要麼買斷 AppGet,要麼必須取消該項目,解僱從事該項目的每位員工,然後僱用一個從未見過 AppGet 代碼的全新團隊來遵守法律。”

事實上,微軟十年前也曾因爲要進軍中國的社交網絡市場,從而剽竊了加拿大一家名叫“Plurk”的類似微博網站的代碼。Plurk 公開指責微軟“公開盜竊代碼、設計和用戶界面”,於是微軟在這場公關危機中迅速的關閉了新項目並表達了歉意。

但也有更多網友表示,Keivan 所經歷的不過就是這些大公司的通用策略,比如組織技術人員與他交流,套取有用信息,然後發展自己的產品。

雖然很多人支持他發起訴訟,但也有人並不看好這個方式:

“第一,將 apt-get 的想法應用到 Windows 空間,這對個人項目而言是不利的定位,基本上逃脫不了最終被大型公司的產品所取代的命運。對微軟來說,不過就是個時間問題,只需看看 VS Code 和 TypeScript。

第二,大公司可以無限期的將訴訟進行到底。開發者個人屬於弱勢的一方。

第三,首先就不應該信任他們,不應該跟他們進行交流。”

但是不管怎麼樣,開源項目 AppGet 還是被終結了。

參考閱讀:

https://medium.com/@keivan/the-day-appget-died-e9a5c96c8b22



往期推薦爲避免種族歧視,谷歌Chrome將不再使用“黑名單”等詞 | 文末送書爲什麼 Linux 默認頁大小是 4KB一篇有趣的負載均衡算法實現
 直面Java第324期:什麼是Java dump?深入併發第013期:拓展synchronized——鎖優化如果你喜歡本文,
請長按二維碼,關注 Hollis.轉發至朋友圈,是對我最大的支持。點個 在看 喜歡是一種感覺在看是一種支持↘↘↘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章