偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Android:最成功的Linux發(fā)行版正面臨兩敗俱傷的結(jié)果

開源
Linux SCSI子系統(tǒng)的維護(hù)者詹姆斯給Android下了個定義,很簡單,它是有史以來最成功的Linux發(fā)行版。Android一開始就自己單搞了一套內(nèi)核,然后另起爐灶開發(fā)了自己的用戶空間代碼。內(nèi)核社區(qū)適時地譴責(zé)了這種做法。但我們還是有必要去理解當(dāng)時Android開發(fā)人員想干什么。

關(guān)于Android項(xiàng)目和內(nèi)核主分支開發(fā)社區(qū)的關(guān)系,已經(jīng)談?wù)摰脡蚨嗔?。在LinuxCon大會日本站,詹姆斯·博頓利(譯者注:James Bottomley,Linux SCSI子系統(tǒng)的維護(hù)者)又深入探討了這個問題。他說,從Android和內(nèi)核主分支分道揚(yáng)鑣這件事上,我們可以吸取一些有趣的教訓(xùn)。如果內(nèi)核開發(fā)社區(qū)能關(guān)注到Android在干什么,那么我們以后處理這些問題可能會更得心應(yīng)手。

詹姆斯首先給Android下了個定義,很簡單,它是有史以來最成功的Linux發(fā)行版。它的市場占有率是其他桌面和服務(wù)器發(fā)行版所望塵莫及的。Android的成功很驚人,但總結(jié)起來歸結(jié)于:

  • 自立門戶,和官方內(nèi)核走不同的路
  • 重寫了工具鏈和C庫
  • 開發(fā)了一套自己的Java應(yīng)用框架,并且
  • 極度不喜歡GPL

詹姆斯說,換句話說,Android為“如何跟開源社區(qū)對著干”樹立了榜樣 。我們讓他們別做的事情,他們都做了,并且做得很好。我們一直想讓Android開發(fā)人員回到正道上來時,但他們的成功似乎證明了,需要改變的,不只是他們。也許內(nèi)核開發(fā)社區(qū)也應(yīng)該重新評估,我們在代碼質(zhì)量和市場成功兩者之間到底如何權(quán)衡取舍。他問道,我們是否需要一套更面向商業(yè)的制度?

這場討論的一個重大假設(shè)是,自立門戶是一件壞事。Android一開始就自己單搞了一套內(nèi)核,然后另起爐灶開發(fā)了自己的用戶空間代碼。內(nèi)核社區(qū)適時地譴責(zé)了這種做法。但我們還是有必要去理解當(dāng)時Android開發(fā)人員想干什么。他們一開始先要找到想采用Android的人,然后才會真正動手去實(shí)現(xiàn)這個系統(tǒng)。這個時候,時間壓力就會很大。他們需要盡快搞定。對于內(nèi)核社區(qū)走查和接受補(bǔ)丁代碼的流程,有很多話可以說,但這個流程確實(shí)還有可以改進(jìn)的地方。谷歌顯然等不到他們的補(bǔ)丁被接受,因他們要發(fā)布Android,所以除了單干以外別無選擇。

自立門戶有錯嗎?詹姆斯說,從某種意義上來說,沒錯:畢竟GPL保障了這種權(quán)利。因?yàn)樽约焊阕约旱?,有時候還是有必要的,所以這種權(quán)利必須被保證。沒有實(shí)踐機(jī)會的權(quán)利是毫無意義的。在這個事情上,如果Android跟著官方內(nèi)核走,那他們很難在短時間內(nèi)達(dá)到商用目標(biāo)(指的是電源管理和其他一些東西)。如果那樣,結(jié)果將會是Android延遲發(fā)布,它獲得市場成功的可能性就小了,甚至完全錯過市場的檔期,成為一個失敗的產(chǎn)品。所以,自立門戶有時候是好事,能使開發(fā)團(tuán)隊(duì)更快地做出產(chǎn)品,而你要走內(nèi)核社區(qū)的審核流程,就慢了。

自立門戶就意味著分裂嗎?他問道。這是一個很重要的問題。分裂扼殺了90年代的UNIX市場。詹姆斯聲稱,如果自立門戶失敗了,它就消亡了,不會導(dǎo)致分裂。自立門戶后,又把開發(fā)出來的代碼合并回原來的項(xiàng)目,那也不會產(chǎn)生分裂,他們會帶著他們的代碼和開發(fā)人員回歸到最初的項(xiàng)目中。只有這樣的自立門戶是有害的:他們?nèi)〉昧艘恍┏晒?,部分的社區(qū)力量轉(zhuǎn)而成為他們的擁躉,這些人再也不會回到原來的項(xiàng)目中。此時,開發(fā)社區(qū)要幫助這些自立門戶的人把他們的代碼合并回原來的項(xiàng)目,這顯得非常重要。

Android開發(fā)人員,不止是自立門戶,而且抱這樣一種態(tài)度:GPL對商用是有害無益的。Android起初的計劃是完全不使用GPL授權(quán)的代碼,他們準(zhǔn)備寫一個新的內(nèi)核。但后來很多原因迫使他們采用了Linux內(nèi)核,還有其他一些GPL授權(quán)的組件。詹姆斯說,所以我們應(yīng)該感謝安迪·魯賓(譯者注:Android之父)——對GPL的憎恨就來自他——他向世人展示了采用GPL授權(quán)代碼的手機(jī)也能獲得市場的成功??雌饋硐掠螐S商根本不關(guān)心他們設(shè)備里面運(yùn)行的代碼的授權(quán)許可證是什么,只要這個許可證清晰并能遵守就行了。

Anroid特殊的應(yīng)用框架如何?詹姆斯說,基于Java的應(yīng)用框架是Android最創(chuàng)新的部分之一。它抽象了平臺的細(xì)節(jié),使應(yīng)用層盡量遠(yuǎn)離內(nèi)核。這個框架限制了應(yīng)用程序能使用的API,對應(yīng)用進(jìn)行了更多的控制。鑒于這個系統(tǒng)的結(jié)構(gòu),重寫C庫似乎是完全沒必要的??蚣軐又系膽?yīng)用不可能直接使用它。

所以,Android不是什么都錯,但確實(shí)有一些錯誤。從詹姆斯的觀點(diǎn)來看,最大的錯誤就是它的日歷程序不支持SyncML(譯者注:一種平臺無關(guān)的信息同步標(biāo)準(zhǔn)協(xié)議集,可以在不同手機(jī)間同步數(shù)據(jù))。這使得Android手機(jī)對于商務(wù)用戶來說沒什么用。黑莓(Blackberry)成功的關(guān)鍵之一就是它的日歷做得非常好。摩托羅拉(Motorola)就意識到了這個問題,并且為他們的Droid手機(jī)自主開發(fā)了支持SyncML的應(yīng)用。但這使事情變得更糟,因?yàn)檫@會使用戶誤以為Android手機(jī)都支持SyncML。當(dāng)他們拿到一臺非Droid的手機(jī)時,他們會很失望,并且最終去買一部iPhone。Android直到2.1才支持SyncML,是完全從頭去實(shí)現(xiàn)的。這個錯誤的代價就是一年內(nèi)沒什么公司愿意用Android。

當(dāng)然,Android的另一個問題是開發(fā)門檻。Android看起來是個開源項(xiàng)目,但是谷歌完全掌握著基線版本的控制權(quán)。沒人能看到代碼,直到谷歌把代碼放出來為止。沒有任何合作伙伴貢獻(xiàn)的修改,所以根本沒什么開發(fā)社區(qū),沒什么共享制度可言。舉個例子,如果Android愿意接受外部幫助的話,它原本可以更快地解決它的日歷問題。谷歌對Android的完全控制是為了更好地專注于市場。如果想統(tǒng)治市場,這是必要的先決條件,但對于內(nèi)核開發(fā)社區(qū)來說,這不是好事,這也使谷歌被迫去做“重復(fù)發(fā)明輪子”的事情。

還有一個錯誤,正在被甲骨文(Oracle)起訴。這個案子的起因是Android重寫了Java,并且接下來和GPL唱反調(diào)。如果Android是建立在甲骨文的GPL授權(quán)的Java之上的話,就不會有這樁訴訟了,而谷歌也會受到GPL的默示專利許可(implied patent license)的保護(hù)。如果甲骨文贏了,那么為繞開許可證而重寫Java將是一次非常昂貴的嘗試。更可悲的是,許可證其實(shí)是無關(guān)緊要的,因?yàn)镴ava運(yùn)行環(huán)境把上層應(yīng)用隔開了,上層應(yīng)用無需遵守GPL。

教訓(xùn)

從中我們可以學(xué)到什么教訓(xùn)?詹姆斯重申了自立門戶可以變成一件好事,只要開發(fā)成果能夠回歸。盡管做了很多努力,Android內(nèi)核的開發(fā)成果沒有回歸到官方內(nèi)核。而且我們也不清楚內(nèi)核社區(qū)提出的方案時,Android開發(fā)人員有沒有參與其中。他說,也許我們應(yīng)該使合并代碼變得更簡單。內(nèi)核社區(qū)應(yīng)該找到更好的辦法來處理這個流程。目前的流程很容易卡在代碼走查這個環(huán)節(jié),尤其是當(dāng)代碼量很大的時候。

自立門戶的項(xiàng)目也需要思考他們的流程。自立門戶容易產(chǎn)生“非我發(fā)明”的心態(tài)(譯者注:not-invented-here,指拒絕使用非自己創(chuàng)造的技術(shù)),導(dǎo)致他們不愿意公示自己的開發(fā)成果。因?yàn)榘l(fā)布代碼去找罵,誰也不愿意。自立門戶時間越長,情況就越糟,因?yàn)楦恼镜脑O(shè)計錯誤(內(nèi)核社區(qū)的觀點(diǎn):wakelocks機(jī)制就是一個錯誤)會更難。為防止這種錯誤發(fā)生,需要這些項(xiàng)目變得更包容,經(jīng)常發(fā)布他們的代碼,并向內(nèi)核社區(qū)咨詢意見——即使他們不打算采納。打破壁壘,使思想能夠相互交流,這很重要。

詹姆斯又談了一點(diǎn)關(guān)于“許可證恐懼”,他指出GPL就是我們的懼、惑、疑(譯者注:即FUD,F(xiàn)ear,Uncertainty,Doubt,這是一個專用名詞,指向客戶灌輸其他競爭公司產(chǎn)品的負(fù)面觀念)。內(nèi)核社區(qū)對許可證的討論,看起來很嚇人。他們對這個問題也需要降降溫。對GPL的恐懼往往是受外部利益驅(qū)使,但我們也在盡可能使他們能受益。內(nèi)核社區(qū)應(yīng)該主動出擊,幫助大家消除這種恐懼。比如,可以幫助Android看看能不能換用GPL授權(quán)的代碼。Linux基金會曾經(jīng)做過一些工作,但詹姆斯認(rèn)為內(nèi)核社區(qū)應(yīng)該提供幫助。他說,其實(shí)相較于大多數(shù)商業(yè)許可證協(xié)議,遵守GPL更容易。這一點(diǎn)我們必須要澄清。

在遵守GPL的問題上,我們必須澄清一些界線。比如,用戶空間的代碼,不算是起源于內(nèi)核(譯者注:這樣就不需要遵守GPL)。明白了這些界線,可以幫助大家消除對GPL的恐懼。

內(nèi)核社區(qū)應(yīng)該更好地培養(yǎng)和擁抱多樣化,鼓勵別人單干(這可能帶來重大的進(jìn)步)并幫助他們回歸。詹姆斯說,在這個問題上,內(nèi)核社區(qū)只能說是勉強(qiáng)及格,還有很大改進(jìn)空間。我們接受的代碼,只來自于和我們有一樣價值觀的人。這造成的結(jié)果就是,把Android內(nèi)核合并回來的難度越來越大。

公司如果想掌握項(xiàng)目的控制權(quán),應(yīng)該以贊成或反對的方式,而不是獨(dú)自占有項(xiàng)目的所有權(quán)。李納斯·托瓦茲(譯者注:Linus Torvalds,Linux創(chuàng)始人)是一個很好的例子,他有很大的控制權(quán),但這只是因?yàn)閮?nèi)核社區(qū)相信他能做出正確的判斷。也就是說,社區(qū)如果信任你,那么他們很高興交出大量控制權(quán)。這就是為什么“善良的獨(dú)裁者”模式能大行其道。另一方面,如果公司通過拒人門外的手段來昭示它的控制權(quán),或者逼貢獻(xiàn)代碼者交出版權(quán),這必然會與開源社區(qū)交惡。

詹姆斯說,總之,對于所有牽涉其中的人來說,Android是一個兩敗俱傷的結(jié)果。我們所有人都必須好好想想,如何才能做得更好。我們需要找到更好的辦法來鼓勵和管理自立門戶的項(xiàng)目,并消除對許可證的恐懼。自立門戶的項(xiàng)目也應(yīng)該想著要合并回去。這樣,項(xiàng)目(比如Android)既能取得商業(yè)成功,也能在社區(qū)中取得成功。

原文地址:http://select.yeeyan.org/view/234039/204194

【編輯推薦】

  1. 撤!iOS、Android開發(fā)者擔(dān)心專利問題
  2. Android到底侵犯了微軟哪些專利?逐一大剖析
  3. 陸首群評Android暫停開源
  4. 殺人誅心 解讀Android違反開源協(xié)議案
責(zé)任編輯:yangsai 來源: 譯言網(wǎng)
相關(guān)推薦

2015-09-09 10:02:35

360酷派復(fù)仇

2013-11-11 11:34:56

UbuntuLinux發(fā)行版Unity

2010-04-30 16:34:57

Linux發(fā)行版

2009-10-13 09:22:01

Linux發(fā)行版

2009-12-21 16:27:55

2018-04-17 10:00:18

Linux發(fā)行版面向企業(yè)

2012-04-18 10:07:02

2011-06-01 11:06:00

開源社區(qū)文檔

2011-02-16 16:23:09

Debian發(fā)行版

2021-06-11 06:10:25

Linux發(fā)行版操作系統(tǒng)

2011-09-09 10:49:18

2020-06-30 09:38:14

Linux發(fā)行版操作系統(tǒng)

2016-09-18 10:08:38

Linux發(fā)行版SUSE Studio

2009-02-09 10:56:50

Linux發(fā)行版

2023-11-26 21:32:39

2021-10-11 14:58:24

KDELinuxLinux 發(fā)行版

2021-09-06 11:29:59

LinuxCutefishOS操作系統(tǒng)

2018-03-23 08:48:51

程序員技能溝通

2009-12-01 16:55:40

Live Linux

2013-12-10 21:23:07

開源Ubuntu
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號