天天看點

被侮辱、被無視,Swift 之父離開核心團隊:純屬浪費時間

作者 | 褚杏娟

當地時間 2 月 21 日,Swift 項目核心團隊成員 Ted Kremenek 表示,目前核心團隊正在考慮重組項目的上司層,為社群成員積極參與項目管理提供更多途徑。

在 2014 年 WWDC 蘋果開發者大會上,蘋果釋出了開發語言 Swift,該語言可與 Objective-C 共同運作于 Mac OS 和 iOS 平台,用于搭建基于蘋果平台的應用程式。次年,蘋果公司宣布将 Swift 開源。目前,Ted Kremenek 是蘋果的指定代表,負責社群相關工作。

“未來幾周内,我們希望引入一個新的語言工作組,該工作組将專注于語言本身的核心演變。”根據 Kremenek 介紹,Swift 之前引入了更多的工作組來關注技術和非技術投資(這個想法在其他語言和 OSS 項目中已經成功)。目前決策目的是讓核心團隊有更多的精力進行項目整體管理,同時通過建立一個更大的語言工作組,讓更多的社群成員參與語言決策。

據悉,Swift 核心團隊是負責戰略方向的工程師小組,現在共有七名成員,這些成員由蘋果公司根據開發者的技術專長和對社群的貢獻進行任命。

被侮辱後,溝通無效離職

從公告中可以看出,Swift 核心團隊有意加強與社群的互動。Kremenek 也提到了前核心團隊成員、LLVM 和 Swift 的設計者 Chris Lattner 的離職。2017 年 1 月,Chris 辭去了在蘋果的工作,但還活躍在 Swift Evolution 社群中。

Lattner 一直是 Swift 背後的中堅力量。2010 年 7 月開始,Chris 開始設計 Swift。完成基礎架構後,Chris 帶領開發小組陸續完成文法設計、編譯器、運作時、架構、IDE 和文檔等相關工作。

在 2 月初與社群成員的互動中,Chris 提到了去年年中以來就不再是核心團隊成員一事,在社群成員的追問下透露了自己離職的根本原因。文章回複如下:

無論如何,Ted 在這個文章中的簡單回複沒有錯,但我離開 Swift 核心團隊和 Swift Evolution 社群決定的背後當然還有更多原因。

5 年前,我離開了蘋果公司,但我生活中唯一不變的就是“忙碌”。Swift 對我來說很重要,是以,為改進項目和指導社群而花費大量時間我是很高興的,其中包括每周的核心團隊會議(最初是面對面,後來是通過 WebEx),但我也還是有很多時間可以閱讀和響應 Swift Evolution,并親自推動 / 編寫 / 疊代許多 Evolution 提案。是以,我在去年夏天作出離開核心團隊的決定其實并不容易。

我決定離開核心團隊的根本原因是糟糕的會議環境。催化劑是去年夏天的一次會議:在 WebEx 上被侮辱和大吼大叫之後 (這不是第一次,也不隻是一個核心團隊成員),我決定先休息一下。終于在去年秋天,我找上司層談了談,但他們找借口回避,并明确表示不會為此采取任何措施。是以,我決定不回去了。不過,他們安慰我說:“希望根據我們所談的内容,能確定其他人未來的生活更美好。”

對于 Swift Evolution,我的初衷是繼續參加論壇。但在數次頗具熱度的讨論後,我的正式提案審查意見和擔憂被單方面忽略了,與核心團隊合作的透明度也面臨挑戰。我認為我的努力是在與同樣的人引發同樣的摩擦,是以我純屬浪費時間。我想并非隻有我有這種感受。比如在這個文章裡的一些社群成員,他們顯然不了解這個提案的真正動機,也沒有人傾聽他們的意見,是以才聯系了我,因為他們認為我可以幫助他們。

很明顯,Swift 已經不需要我了,我關心的一些設計理念似乎不再流行。但同樣明顯的是,除了 Swift,我還有很多愛好,也不乏要花時間去做的事。我是那種總在向前看的人,是以盡管難過,但我還是會繼續前進,不理會這些肯定會開心很多!

很多懷有善意和超級才華的人在推動 Swift 發展。他們面臨着複雜的局面和巨大的壓力 (包括崇高的目标、固定的時間表、需要清除的漏洞隊列、内部人員希望在公衆通路之前就審查 / 設計的内容以及來自外部的壓力),這導緻他們與社群很少互動。當事情傳到我們這裡時,計劃已經進行很久了,人們可能會依附于對他們投入大量精力的設計。這對所有參與者來說都充滿了挑戰。

我認為 Swift 是一門了不起的語言,未來會很長、很成功,但它肯定不是社群設計的語言,這是非常确定的事情。關于如何改進事物的新想法聽起來很有希望——我希望這能解決工程師 / 上司者面臨的根本性激勵系統問題,正是這些問題導緻了如今的局面。我認為,一個健康和包容開放的社群将繼續有利于 Swift 的設計和發展。

Swift 核心團隊與社群聯系的唯一途徑就是論壇。作為對比,社群一直是 Python 的核心。隻有少數開發人員全職從事核心程式設計語言的工作,大部分代碼來自一群志願者。前 PSF 執行董事 Ewa Jodlowska 曾說過,吸引代碼貢獻者聚集在一起需要大量的外展活動和一個緻力于推進 Python 強大的協作社群。

“如果沒有這種外展活動、沒有花時間確定世界各地的人們都有資金真正學習 Python 和所有那些好東西,它不會成為今天的第一語言。”

社群成員:Swift 似乎變了

在 IEEE Spectrum 釋出的 2021 年度程式設計語言排行榜中,Swift 已經排名第十。“作為一個在 Swift 上做過大量投入的人,以及 2015-2019 年左右社群的活躍成員,看到該語言的發展方向,我有點難過。”網友 skohan 寫道。

“我從開始嘗試 Swift 時候起,就非常喜歡這門語言的設計哲學。它似乎确實優先考慮擁有一組結構良好的系統,每個系統都有自己設計合理的界面,組合起來又可以做真正強大的事情。Swift 是一種非常具有表現力的語言,用它寫代碼的清晰程度令人難以置信——在編寫 Swift 代碼時,我總覺得自己是在問題領域層面編寫,而不是在編寫文法。同時,它提供了非常好的特性來確定安全性和正确性,例如 ADT 和一流的可空性文法。”

skohan 指出,這個語言的進展有時似乎進展很緩慢,但背後的權衡是, Swift 的每個特性都是經過深思熟慮的,并且在添加到語言中時将負面影響降到最小。但在幾年之前,情況似乎發生了變化。“在我看來,為支援 SwiftUI 而添加到語言中的一些特性——特别是屬性包裝器和函數建構器——感覺非常倉促,并且是基于外部期限被迫加入到該語言中的。”

“不受 BDFL 統治的語言受制于每個團隊成員,而每個團隊成員被自我、名望和職業的激勵,都想在語言中加入自己的特性。”有開發者評價道。“這在所有的公司軟體中都有發生,比如人們競相将他們新的視訊會議系統硬塞到你的日程表中。這對于終端使用者軟體來說可以忍受,但對于特征互動增長為 N^2 的程式設計語言來說是可怕的。”

注:Python 之父 Guido van Rossum 在社群被認為是“仁慈的獨裁者(BDFL)”,意思是他仍然關注 Python 的開發程序,并在必要的時刻作出決定。他在 Google 工作,但有一半的時間用來維護 Python 開發。

放棄 Swift,投身人工智能

“我要感謝你為 Swift 及其社群所做的一切。你的貢獻是傑出和無價的。”有網友留言道。實際上,Chris 對于蘋果的貢獻遠不隻是 Swift。

根據公開資料,Chris 在碩士畢業時提出了一套完整的運作時編譯思想,奠定了 LLVM 的發展基礎。在博士期間繼續上司 LLVM 編譯架構向前發展。LLVM 可以基于 GCC 前端編譯器的語義分析結果進行編譯優化和代碼生成,是以 Chris 在 2005 年畢業時就已經成為業界知名的編譯器專家。

值得注意的是,蘋果是 LLVM 項目的主要資助者。早年間,蘋果一直使用 GCC 作為官方編譯器,但蘋果對 GCC 的性能并不滿意。蘋果使用 Objective-C 語言進行開發,但 GCC 對 Objective-C 的支援度并不高。是以,蘋果一直在尋找 compiler 的開源替代品,于是将目光轉移到了 LLVM 身上。

2005 年,蘋果直接雇傭了 Chris 及其團隊。Chris 在蘋果的幾年中不僅大幅度優化和改進 LLVM 以适應 Objective-C 的文法變革和性能要求,同時發起了 CLang 項目,旨在全面替換 GCC,這個目标也已經實作。從 OS X 10.9 和 XCode 5 開始,LLVM+GCC 已經被替換成了 LLVM+CLang。LLVM 也已經被微軟、谷歌、Facebook 等各大公司采用。

2010 年 7 月,Chris 開始為 iOS 和 OS X 平台開發下一代程式設計語言 Swift。最初 Swift 完全是由 Chris 開發,到 2011 年才陸續有若幹編譯器專家加入 Swift 團隊。終于在 4 年後的 2014 年,Swift 的第一個版本在蘋果的 WWDC 大會上正式釋出。

現在,Swift 之父已經換到了人工智能賽道追逐夢想。在離開蘋果後,Chris 短暫入職特斯拉,負責自動駕駛軟體的開發。2017 年 8 月 14 日,Chris 開加入了聚焦深度學習和人工智能研發的 Google Brain 團隊。3 年後的 2020 年 1 月,Chris 加入專注于 RISC-V 架構的晶片初創公司 SiFive,任職平台工程進階副總裁。

今年 1 月,Chris 推出了旨在重建人工智能基礎設施的 Modular AI,并擔任 CEO 一職。

繼續閱讀