在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    修完 1300 萬行代碼,我?guī)吞O果省 2 億美元,但沒拿到承諾的千萬股票

    修完 1300 萬行代碼,我?guī)吞O果省 2 億美元,但沒拿到承諾的千萬股票

    近日,在 Quora(類似知乎)網(wǎng)站上,有 Po 主提出了一個問題:“要使操作系統(tǒng)獲得 Unix 認(rèn)證,需要做些什么?”答主 Terry Lambert 給出了非常精彩的回答,鑒于他的身份——前蘋果工程師,曾負(fù)責(zé) Mac OS X 內(nèi)核的大部分工作,該回答很快就獲得廣泛關(guān)注并獲得了上萬贊。

    這是一個引人入勝的故事。早年蘋果公司推出 Mac OS X 操作系統(tǒng)的時候,經(jīng)常利用“兼容操作系統(tǒng)的 UNIX 內(nèi)核”作為宣傳手段。比如,在其網(wǎng)站上,就專門有一頁介紹 Mac OS X 的 UNIX 的文章。

    The Open Group(國際開放標(biāo)準(zhǔn)組織)對此提出了訴訟,稱其未經(jīng)授權(quán)便擅自使用 Unix 名稱。一旦蘋果敗訴,就需要賠償 2 億美元。

    不過,蘋果公司堅持自己可以自由使用 Unix 的名稱,認(rèn)為自己沒有進(jìn)行虛假宣傳。但為了應(yīng)付這場訴訟,據(jù) Lambert 回憶,當(dāng)時蘋果對于此事主要有兩個解決方案,要么以大約 10 億美元的代價收購國際開放標(biāo)準(zhǔn)組織,要么趕緊獲得 Unix 兼容認(rèn)證,從而化解這場訴訟。

    史蒂夫·喬布斯將這個認(rèn)證的“秘密”任務(wù)交到了前蘋果技術(shù)負(fù)責(zé)人 Lambert 手上,需要針對現(xiàn)有的 Mac OS 源代碼運(yùn)行合規(guī)性測試,邊測試邊修改,完成時間只給了一年。這也意味著 Lambert 需要在短時間內(nèi)對 Mac OS X 內(nèi)核的 1300 萬行代碼了如指掌,技術(shù)難度非常大。

    Lambert 被承諾在任務(wù)完成之后,團(tuán)隊將會獲得 2000 萬美元的股權(quán),Lambert 個人將得到 1000 萬美元。實(shí)際上,這種任務(wù)如果是針對 Linux 的,那么需要一個二三十人的團(tuán)隊工作五年,但 Lambert 帶著一支五人團(tuán)隊在一年內(nèi)就完成了,期間還為數(shù)百個開源項目貢獻(xiàn)了大約 200 萬行的代碼。只不過,Lambert 最終沒有得到這 1000 萬美元的報酬,他的股權(quán)被其領(lǐng)導(dǎo)獨(dú)吞了。

    修完 1300 萬行代碼,我?guī)吞O果省 2 億美元,但沒拿到承諾的千萬股票

    有些人說不存在 10x 程序員,但我認(rèn)為他們是沒有遇到像你這樣的 100x 程序員。雖然我們都知道最終 Mac OS X 已經(jīng)通過 UNIX 認(rèn)證,不過這并不影響我們跟著 Lambert 的回憶去了解這段有趣過往的細(xì)節(jié)。

    讓 Mac OS X 成為真正的 UNIX

    按照 Lambert 的說法,為了讓 Mac OS X 通過 UNIX 認(rèn)證,這里面要做的工作可太多了。

    讓 Mac OS X 成為真正的 UNIX?,這樣就可以化解這場訴訟了,這對在 Linux 日益普及的情況下逐漸失去市場的國際開放標(biāo)準(zhǔn)組織來說是件好事。以大約 10 億美元的代價收購國際開放標(biāo)準(zhǔn)組織,這樣蘋果公司就可以自由地使用該商標(biāo);但是,這并不能使他們免除與 Sun Microsystems、IBM 和其他公司的現(xiàn)有合同義務(wù),因?yàn)檫@些公司都已經(jīng)獲得了 UNIX 商標(biāo)的使用許可。當(dāng)時有人問 Lambert 是否可以帶領(lǐng)一支團(tuán)隊去做第一個選項的工作,他表示,同意的前提是,可以基于這個項目,指導(dǎo)整個組織的其他部分都在自己的代碼庫上進(jìn)行相應(yīng)的修改,并且可以對提交規(guī)則進(jìn)行相當(dāng)寬松的處理。

    隨之,Lambert 獲得批準(zhǔn)并開展認(rèn)證工作。他們首先針對現(xiàn)有的 Mac OS 源代碼運(yùn)行合規(guī)性測試套件,由于頭文件的緣故,測試套件立即顯示出錯。

    他和同事 Ed Moy 做了兩行更改,將類型定義從 <stdio.h> 移到它應(yīng)該在的位置。在 <stdio.h> 中有一行更改,而另一行的更改是在該類型實(shí)際上應(yīng)當(dāng)存在的文件中。

    接著再次運(yùn)行測試,發(fā)現(xiàn)首次測試中的其中一個頭文件錯誤消失了。因此,Lambert 等人做了一次“世界構(gòu)建”(world build),將 Mac OS X 中的一切,包括 iTunes 都進(jìn)行了重建。這一更改之下,有接近 150 個項目未能順利重建,iTunes 也在其中。

    于是 Lambert 和 Ed 對這些項目進(jìn)行了認(rèn)真的研究,并修復(fù)了其中的每一個項目,以讓它們都能夠進(jìn)行構(gòu)建。他們接著又進(jìn)行了一次“世界構(gòu)建”,所有東西都建立起來了。

    也正是在那個時候, Lambert 才有機(jī)會接觸到蘋果的所有源代碼。然后他們向項目提交了高優(yōu)先級的錯誤修復(fù),但其中一些立即被降低了優(yōu)先級,另一些只需要做簡單修復(fù),因?yàn)樗麄儙椭峁┝搜a(bǔ)丁。接著工程副總裁 Bertrand Serlet 重新提升了那些被降級的項目的優(yōu)先級。然后,Lambert 他們提交了頭文件更改。

    項目甚至“驚動”喬布斯

    事已至此,Lambert 他們在這時候不得不重新評估一下整個項目的可行性。考慮到他為這個項目設(shè)定的先決條件,他和 Ed 都認(rèn)為,這在時間范圍內(nèi)是可以繼續(xù)下去的。

    該項目還升級到喬布斯那里。Lambert 繼續(xù)獲得執(zhí)行批準(zhǔn),畢竟,這樣做能讓蘋果公司節(jié)約大量資金,而且還改進(jìn)了所有 Mac OS X 服務(wù)器的營銷宣傳資料。

    他們被承諾在完成之后將會獲得 2000 萬美元的股權(quán)。Lambert 將得到 1000 萬美元,Ed 和 Karen Crippes 將分別得到 500 萬美元。

    Lambert 表示,當(dāng)時他戴了很多“帽子”,不只是一個技術(shù)負(fù)責(zé)人,而且還是事實(shí)上的項目經(jīng)理。

    這個過程也是肉眼可見地漫長。Lambert 估算需要約一年的時間,這是一支由 5 個人組成的項目團(tuán)隊:三名 mousekateers(并非拼寫錯誤),兩名承包人:是 Len Lattanzi,負(fù)責(zé)用戶空間的代碼;Jaime Delgadillo,負(fù)責(zé)全職的自動化測試和 Bug 歸檔,并且盡量提供一些補(bǔ)丁。

    項目組還有兩名臨時承包人,一名負(fù)責(zé)工具的合規(guī)性,另一名則負(fù)責(zé)手冊頁面。另外,他們還可以根據(jù)情況從蘋果的其他部門抽調(diào)員工進(jìn)行短期的工作。

    漫長的一年

    第一個大喜進(jìn)展是,所有的頭文件都通過了測試,這樣測試套件中的其他測試就可以開始運(yùn)行。在那個時候,Lambert 實(shí)際上已經(jīng)將所有的頭文件的修改提交給了 Mac OS X 的其他部分。當(dāng) Tiger(指 Mac OS X v10.4)版本發(fā)布時,頭文件就已經(jīng)符合標(biāo)準(zhǔn)了。但是,這影響了 CodeWarrior(Mac 的 IDE)的正常運(yùn)行。Lambert 說自己一直想要解決這一問題,但一直沒有機(jī)會,而且 CodeWarrior 或多或少都受到了影響。

    對于蘋果公司的其他部門而言,Lambert 剛剛解決了“修復(fù)頭文件”的 Bug,它包含了許多其他針對單個頭文件的 Bug,這用了三個月左右的時間。

    Lambert 曾承諾過一年的時間,那么他將怎樣實(shí)現(xiàn)這一年的預(yù)期呢?

    Lambert 回憶道,“我知道,對頭文件進(jìn)行強(qiáng)制性的更改,以及與之相關(guān)的項目更改,將會成為項目中最大的單個部分。一旦我們能夠進(jìn)行其他的測試,那么在其他方面將會有大量的‘可輕松實(shí)現(xiàn)的目標(biāo)’等著我們?nèi)ソ鉀Q。這個過程用了兩個多月的時間,我們在提交規(guī)則時總是猶豫不決,但很快就完成了。Ed 在我的協(xié)助下完成了 libSystem 的大多數(shù)工作(libc + 其他系統(tǒng)庫),并把它們合并到一起,從命名空間中移除某些內(nèi)容;這也是為什么在 /usr/include/sys 中,頭文件以"_"開頭?!?/p>

    “在等待提交的過程中,你可以并行地做其他工作,我們就是這樣做的。在實(shí)現(xiàn)這些可輕松實(shí)現(xiàn)的目標(biāo)之后,還有許多工作要做,例如重寫內(nèi)核中的信號系統(tǒng),但這并不是那么容易實(shí)現(xiàn)?!?/p>

    不過 Lambert 等人已經(jīng)把 Umesh(我不會告訴大家他的姓)給說服了,“因?yàn)樗幌M覀內(nèi)ビ|碰他的 pthreads 代碼,不管怎么說,他還是想要在那里做出一些改動,有了這個項目作為反復(fù)推敲這些更改的手段,讓他感到非常高興?!焙髞?,他們還從 Mike Smith(Michael Smith,蘋果高級工程師)那里得到了“勉為其難”的支持,讓他重寫文件鎖定代碼。

    項目組最終還通過詢問有關(guān)陷阱路徑的問題以及圍繞信號系統(tǒng)堆棧幀保存的問題“收買”了 Joe Sokol。不過 Lambert 強(qiáng)調(diào),在這些人當(dāng)中,Umesh 對他們的 deadline 有著最大的幫助。

    扣動扳機(jī)

    萬事俱備,Lambert 正準(zhǔn)備“扣動扳機(jī)”,意外隨之而來。

    “他們引入了英特爾的代碼更改,讓我們再等上兩個星期,但一切都亂了套。所以我花了三天的時間,將一致性分支上所有的補(bǔ)丁都重新整合到英特爾的內(nèi)核代碼中。到了那時候,我已經(jīng)對 Mac OS X 內(nèi)核的 1300 萬行代碼了如指掌。”

    然后大家又回到了通過測試的狀態(tài)。后來有人告訴 Lambert,不能為 Tiger 做整合。但這樣會錯過已設(shè)定好的 deadline。Tiger 的發(fā)布時間被再次延遲了 6 個月,一次又一次地延遲。這個問題不在內(nèi)核,而是在英特爾。

    Lambert 說,“我們本來可以輕松地在 Tiger 上發(fā)布,和我們自己設(shè)定的 deadline 保持一致?!钡绻o Linux 做相同的工作,可能要花五年的時間,而且還得需要二三十人。畢竟 Linux 發(fā)行版過多,產(chǎn)生了大量的陣營。

    Lambert 最后提到,團(tuán)隊為開源社區(qū)做了很多貢獻(xiàn),“我們從開源社區(qū)收獲了許多感謝,尤其是讓 bash 順利通過測試的修復(fù)。你絕對不會知道,作為這個項目的一部分,蘋果公司為開源社區(qū)做出了多少貢獻(xiàn),至少對于非蘋果公司的人而言,這是一個秘密項目,因此我們并沒有將這一事實(shí)宣揚(yáng)出去。但是我估計,當(dāng)年我們?yōu)閿?shù)百個開源項目貢獻(xiàn)了大約 200 萬行的代碼。雖然感激之情有很多,但這種感激并非歸于集體,因此,蘋果公司總是被人詬病為‘使用開源代碼,但從不回饋’。但,我們修復(fù)了至少 15 個 GCC 的 Bug。而你根本不知道。

    因此,整體來說這是一項規(guī)模不小的工程,尤其是在為了獲得合規(guī)性的情況下。Lambert 感慨道,這真是一個漫長的過程。

    修完 1300 萬行代碼,我?guī)吞O果省 2 億美元,但沒拿到承諾的千萬股票

    盡管如此,Lambert 在評論區(qū)透露,自己由于一些原因 ,最終并未獲得預(yù)期的 1000 萬美元股權(quán)。

    原文鏈接:

    https://www.quora.com/What-goes-into-making-an-OS-to-be-Unix-compliant-certified

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月28日 16:50
    下一篇 2022年6月28日 16:50

    相關(guān)推薦

    • 30個無加盟費(fèi)的項目(茶顏悅色奶茶店加盟費(fèi)多少)

      茶顏悅色又爆了,8月18日,茶顏悅色南京門店正式開業(yè),開張不到半小時,門店就人滿為患,消費(fèi)者的購買熱情十分高漲,而由于人流量過大造成擁堵,茶顏悅色也不得不暫停營業(yè)。 當(dāng)然,這里面排…

      2022年11月27日
    • 凈利潤率越高越好嗎(凈利潤率多少合適)

      一、持續(xù)增收不增利,平均凈利潤率首次跌入個位數(shù) 2021年,增收不增利依舊是行業(yè)主流。具體來看,大部分企業(yè)營業(yè)收入呈增長態(tài)勢,E50企業(yè)平均同比增速達(dá)到17.3%,但是利潤增速則明…

      2022年11月26日
    • 規(guī)范透明促PPP高質(zhì)量發(fā)展——16萬億元大市場迎來新規(guī)

      近日,財政部印發(fā)《關(guān)于進(jìn)一步推動政府和社會資本合作(PPP)規(guī)范發(fā)展、陽光運(yùn)行的通知》,從做好項目前期論證、推動項目規(guī)范運(yùn)作、嚴(yán)防隱性債務(wù)風(fēng)險、保障項目陽光運(yùn)行四個方面進(jìn)一步規(guī)范P…

      2022年11月25日
    • 推薦3種白手起家的賺錢項目(白手起家賺錢項目有哪些)

      如今社會壓力非常的大,家有老少要養(yǎng)活,這些都加速了窮人想要創(chuàng)業(yè)的欲望,但是創(chuàng)業(yè)路總是那么的艱難,資金就是創(chuàng)業(yè)的重頭戲,所以選擇一個低成本又賺錢的項目是大多數(shù)人最期望的了,那么有哪些…

      2022年11月25日
    • 曝蘋果15系列機(jī)身是鈦金屬材質(zhì) 邊框告別直邊設(shè)計

      近日有外網(wǎng)網(wǎng)友曝光稱,iPhone15將采用全新的邊框設(shè)計,類似蘋果MacBook Pro機(jī)型的邊緣處理。同時,iPhone 15系列還將采用鈦金屬材質(zhì)機(jī)身,但還會保留玻璃背板。這…

      2022年11月24日
    • 閑魚運(yùn)營的4大技巧解析(閑魚運(yùn)營怎么做)

      熟悉我又來了,上一次寫的文章是爆出風(fēng)水項目的潛規(guī)則,但那個項目已經(jīng)涼涼了。 這一次我是要教一些小白,你們第一次做互聯(lián)網(wǎng)的建議做的項目之一,這個項目就是閑魚賣二手物品賺差價了!!! …

      2022年11月24日
    • 2023年農(nóng)村創(chuàng)業(yè)最好的種植項目有哪些(2023年農(nóng)村宅基地)

      隨著2023年時間的臨近,有關(guān)農(nóng)村創(chuàng)業(yè)大家也都十分關(guān)注。2023年農(nóng)村創(chuàng)業(yè)最好的種植項目有哪些?新的一年農(nóng)村創(chuàng)業(yè)到底做什么最能賺錢呢?今天小編整理了一些非常具有發(fā)展?jié)摿Φ霓r(nóng)村種植業(yè)…

      2022年11月23日
    • 汕梅高速將改擴(kuò)建為雙向八車道 預(yù)計2026年建成通車

      昨日上午,汕梅高速改擴(kuò)建項目在梅州舉行建設(shè)動員會,標(biāo)志著廣東省首條山嶺重丘區(qū)高速公路改擴(kuò)建項目將全面開工建設(shè)。 汕梅高速是廣東省東北部南北貨運(yùn)的重要通道,聯(lián)通粵贛閩三省,承擔(dān)著粵東…

      2022年11月23日
    • 微信任務(wù)平臺(微信任務(wù)平臺源碼)

      本文主要講的是微信任務(wù)平臺,以及和微信任務(wù)平臺源碼相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 微信推廣任務(wù)平臺哪個好? 對于微信推廣任務(wù)平臺的來說的話,我覺得…

      2022年11月22日
    • 寬帶測速軟件(手機(jī)寬帶測速軟件)

      中國聯(lián)通用戶可登錄中國聯(lián)通網(wǎng)上營業(yè)廳,選擇寬帶寬帶服務(wù)寬帶測速,按頁面指導(dǎo)進(jìn)行測速,測速時建議您直連電腦,如測速結(jié)果無法達(dá)到簽約速率,您可通過中國聯(lián)通APP,“服務(wù)報障在線報障”進(jìn)…

      2022年11月22日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息