Linux之父的傳奇 - Linux之父 活著的傳奇人生

2017年12月12日 12:02 來源: 作者: 我要評(píng)論(0)

標(biāo)簽:Linux(209063)安卓系統(tǒng)(20543)

  開發(fā) Linux,只選對(duì)的

  最初 0.01 版本只有 10000 行代碼,內(nèi)核編程的前六個(gè)月都是 Linus 一人完成,但是 1992 年起 Linus 開始采納其他開發(fā)人員的補(bǔ)丁。

  如今,Linus 擁有一個(gè)實(shí)力超群內(nèi)核維護(hù)小組,Linux 系統(tǒng)的協(xié)助模式是 Linus 負(fù)責(zé)總體的協(xié)調(diào)和溝通,他會(huì)對(duì)接十余名核心貢獻(xiàn)者,每個(gè)人都有自己負(fù)責(zé)的具體領(lǐng)域和項(xiàng)目內(nèi)容,每次有新的開發(fā)任務(wù)時(shí) Linus 會(huì)將它分配給對(duì)應(yīng)的人;而這十余位核心貢獻(xiàn)者又有各自的熟知并信賴的高手小團(tuán)隊(duì)。Linus 只需知道將任務(wù)交給他自己團(tuán)隊(duì)中十余名成員哪個(gè)人即可。

  這樣多層次小團(tuán)體的工作模式,現(xiàn)在看起來更像是目前備受推崇的微服務(wù)開發(fā)組織架構(gòu);不過 Linus 這樣做的并不是因?yàn)轭I(lǐng)悟了康威定律的 two-pizza 團(tuán)隊(duì)原則,Linus 認(rèn)為他能信任并依賴的程序員也就 10 個(gè)左右?!澳憧赡苡泻荦嫶蟮纳缃?a target="_blank">網(wǎng)絡(luò),比如在 LinkedIn 上你可能有 5000 個(gè)好友;但是其中有多少人是你信任的?”在 Linus 看來,工作上的關(guān)系和生活中的朋友類似,Linux 的開發(fā)模式要保證真正熟知并且雙向協(xié)作起來都很愉快。

  VMware 開源技術(shù)總監(jiān) Dirk Hohndel 曾經(jīng)問 Linus,這樣開發(fā)模式是否是可持續(xù)性的?Linus 笑著回答如果當(dāng)前團(tuán)隊(duì)中有程序員變老變胖不想繼續(xù)做下去的話也沒有問題,因?yàn)闀?huì)有新的程序員補(bǔ)充進(jìn)來。Dirk 又追問 Linus 道,在內(nèi)核不斷提升迭代的過程中,是不是你具有著絕對(duì)的決定權(quán)?Linus 回答到“不是的”,他發(fā)自內(nèi)心地鼓勵(lì)大家按照自己的需求建立 fork,如果最終這樣的想法有良好的結(jié)果做證明,其精華部分就會(huì)被吸收到 Linux 內(nèi)核項(xiàng)目中。Dirk 對(duì)此總結(jié),當(dāng)今的分支發(fā)展再吸收代碼的模式其實(shí)反映的就是 Linus 本人或其團(tuán)隊(duì)的決定性。

  Linus 認(rèn)為雖然大部分 linux 內(nèi)核代碼的 fork 版本不是很優(yōu)秀,但是有一小部分是好的。作為一個(gè)熱愛編程的神級(jí)人物,加上自稱不善交流有自閉傾向,Linus 身上定不會(huì)缺少程序員們常有的代碼傲骨;工作起來的 Linus 想必是極為嚴(yán)苛的,能贏他由衷贊嘆的代碼當(dāng)屬少數(shù)。

  Linus 的商業(yè)化:廠商與基金會(huì)

  大約在 1992 年 Linux 0.12 版本的時(shí)候,Linus 收到朋友轉(zhuǎn)發(fā)有廠商在售賣 Linux 的消息。Linus 稱當(dāng)時(shí)自己的第一反應(yīng)就是:什么?他們竟然在賣這個(gè)東西?朋友問道“這個(gè)真的是你所期望發(fā)生的嗎?”Linus 知道朋友希望他說“不”,希望得到類似于免費(fèi)開源夢(mèng)等答案;但是他很誠實(shí)說“呃,是吧。但是,我不知道接下來會(huì)怎樣”。

  Linus 在乎的不是價(jià)格,他在乎的 Linux 可以成為像 Unix 一樣的知名操作系統(tǒng)。在他看來商業(yè)化和推廣是很有必要的,很多開源項(xiàng)目本應(yīng)該更加壯大的,遺憾的是它們太過純粹了。其實(shí) Linus 也會(huì)擔(dān)心商業(yè)公司不正當(dāng)?shù)乩瞄_源成果,開始接觸廠商的時(shí)候,Linus 坦言他很緊張;但是很快接觸后發(fā)現(xiàn)對(duì)方很可愛,商業(yè)化意味著很多繁瑣的事情,拋開商業(yè)策略、宣傳推廣等,單單是 QA 工作就讓程序員們皺起眉頭了,正式商業(yè)公司完成了所有 Linus 沒有興趣做的事情。

  一切都分工明確,內(nèi)核開發(fā)工作完全交由 Linus 主導(dǎo),任何一丁點(diǎn)的商務(wù)他都不會(huì)過問。他說可能商業(yè)化中會(huì)有很多問題,但是 Linus 完全放手。不過,Linus 指出開源項(xiàng)目的核心維護(hù)者需要做到的是“free and pure”。

  Linus Torvalds 于 2003 年決定離開當(dāng)時(shí)的公司、加入開源碼發(fā)展實(shí)驗(yàn)室以專職投入到 Linux 內(nèi)核的工作,后來 Linux 基金會(huì)正式成立。正如所愿,這就是 Linus Torvalds 和基金會(huì)的分工,基金會(huì)負(fù)責(zé)接管許可證、專利、法務(wù)等問題,處理電話、郵件和文件準(zhǔn)備等工作,事無巨細(xì)。

  Linus 只想做技術(shù),不想處理技術(shù)以外的事情。“如果你是一名工程師,很有可能你只想處理自己感興趣的技術(shù)問題,其他一切事情你都想移交給別人來處理?!?LinusTorvalds 說他很慶幸自己不需要擔(dān)心商業(yè)和管理的問題,他只要能領(lǐng)到工資不擔(dān)心養(yǎng)孩子上學(xué)的問題就很好。

  Linux 基金會(huì)執(zhí)行總監(jiān) Jim Zemlin 稱這是正確的模式: Linux 操作系統(tǒng)標(biāo)準(zhǔn)價(jià)值 103 億美元;Linux 基金會(huì)擁有 Linux、Kubernetes、Cloud Foundry、Xen 等項(xiàng)目,以及 CNCF 基金會(huì)、Node 基金會(huì)等,整體所寫的代碼價(jià)值標(biāo)準(zhǔn)為 145 億美元;由此估算 Linux 的經(jīng)濟(jì)價(jià)值占據(jù)整體價(jià)值 71%,不愧為開源項(xiàng)目鼻祖。

  堅(jiān)持了 25 年,但是已經(jīng)不能掌握內(nèi)核的全部了

  “在大家的眼中,我是那個(gè)創(chuàng)造了 Linux 并依然維護(hù)它的人?!?/p>

  “為什么我 25 年來依然在做同樣的事情?因?yàn)閷懗鰞?yōu)秀的代碼是件很困難的事情?!?/p>

  所以,能保持優(yōu)秀的 Linux 內(nèi)核開發(fā)團(tuán)隊(duì)是非常難但是重要的事情。在問及現(xiàn)在是否還編寫 Linux 內(nèi)核的代碼時(shí),Linus Torvalds 坦言現(xiàn)在做的項(xiàng)目管理的工作,他有一小撮頂級(jí)開發(fā)者共同協(xié)作,當(dāng)有新的任務(wù)時(shí),他知道應(yīng)該把任務(wù)分配給誰。比起代碼編寫這樣細(xì)節(jié)的問題,他需要更加關(guān)心的是 code flow 和 process,擔(dān)當(dāng)起架構(gòu)師的角色,關(guān)心代碼穩(wěn)定和如何改進(jìn)更高層次更抽象的工作內(nèi)容。

  除了總體的溝通協(xié)調(diào)工作,Linus 本人還負(fù)責(zé) merge 代碼,Linux 內(nèi)核每三個(gè)月(70 天左右)發(fā)布 1 個(gè)版本,即便在不同國家出差,Linus 也要克服時(shí)差按時(shí)發(fā)布。

  “如果你對(duì)某開源項(xiàng)目感興趣,那你可以去閱讀學(xué)習(xí)源代碼,但是要警惕成為專家的想法?!盠inux 內(nèi)核那么大,沒有人了解全部、沒有人是專家,Linus 稱自己也不是面面俱到。

上一頁12345下一頁全文

本文導(dǎo)航