自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

資深開發(fā)者:為什么Ubuntu移動操作系統(tǒng)會失敗?

新聞 系統(tǒng) 移動開發(fā)
 Simon Raffeiner 是一名開發(fā)者,曾經(jīng)為 Ubuntu 手機(jī)平板項(xiàng)目服務(wù)。在項(xiàng)目的起伏動蕩之中,Simon Raffeiner 學(xué)到了不少經(jīng)驗(yàn),讓我們聽聽他是怎么說的。

Simon Raffeiner 是一名開發(fā)者,曾經(jīng)為 Ubuntu 手機(jī)平板項(xiàng)目服務(wù)。在項(xiàng)目的起伏動蕩之中,Simon Raffeiner 學(xué)到了不少經(jīng)驗(yàn),讓我們聽聽他是怎么說的。

  現(xiàn)在 Ubuntu 手機(jī)與平板已經(jīng)遠(yuǎn)去了,這個(gè)項(xiàng)目為什么失???從中能學(xué)到什么?我有一些個(gè)人之見可以供您參考。

  先來簡單介紹一下我參與 Ubuntu 項(xiàng)目的經(jīng)歷:2013 年 Ubuntu Touch 發(fā)布到 2014 年 12 月,我斷斷續(xù)續(xù)在 Nexus 7 上使用 Ubuntu Touch;2014 年 12 月,我開始開發(fā) Click App;2015 年 1 月,我開始撰寫“Hacking Ubuntu Touch”系列博客文章,共 15 部分,談?wù)撓到y(tǒng)的內(nèi)部結(jié)構(gòu),后來還加入了 Ubuntu Phone Insider,從 Canonical 拿到一臺魅族 MX4 手機(jī),組織并贊助了 UbuContest app 開發(fā)大賽,之后一直在編寫漏洞報(bào)告、制作 App,直到 2016 年 4 月才停止,到了 2016 年年中時(shí),我廉價(jià)出售所有剩下的設(shè)備——或者轉(zhuǎn)化了設(shè)備。因?yàn)橛羞^這么一段經(jīng)歷,所以我認(rèn)為我可以就這個(gè)項(xiàng)目談?wù)勛约旱南敕?,說說它所面臨的挑戰(zhàn),說說它有哪些地方本來可以做得更好,但是沒有做好。

  請注意,這篇博文并不適用于 UBPorts 項(xiàng)目,這個(gè)項(xiàng)目還在繼續(xù)開發(fā)手機(jī)操作系統(tǒng)、Unity 8 及其它組件。

[[223490]]

  它并沒有瞄準(zhǔn)有利可圖的細(xì)分市場

  面向 PC、筆記本、服務(wù)器的 Ubuntu 系統(tǒng)發(fā)展過程要順利一些。幾乎所有設(shè)備都允許你安裝任何操作系統(tǒng),2004 年 Ubuntu 崛起時(shí),最大的對手微軟相當(dāng)脆弱,容易招來攻擊。Windows 的名聲不怎么好,價(jià)格很貴,占用太多資源,Ubuntu 只要不那么煩人、便宜一些、容易安裝、能在舊電腦上跑得更好就行了。Ubuntu 正是這樣做的。Windows 的聲譽(yù)并沒有好轉(zhuǎn),繼續(xù)糟糕下去,現(xiàn)在甚至還監(jiān)控用戶,價(jià)格依舊高高在上。所以 Ubuntu Desktop 沒有、也沒有必要做太多正確的事,就能維持用戶量,并且保持增長。

  再看服務(wù)器市場,Windows、紅帽、SUSE 都有點(diǎn)太保守了,速度太慢了,價(jià)格也貴。紅帽企業(yè)付費(fèi)訂閱產(chǎn)品每年要收幾百美元,而且付費(fèi)之后還無法獲得必要的人力支持。如果能夠開發(fā)一件產(chǎn)品,跑得更快,成本更低,得到產(chǎn)業(yè)的支持,擁有大量的功能,肯定能吸引許多人,在云端尤其如此。后來 Ubuntu 成為了 OpenStack 的參考操作系統(tǒng),這件事幫助很大。

  在移動設(shè)備領(lǐng)域,一切都不同了。在手機(jī)或者平板上,你不可能讓任何類型的操作系統(tǒng)快速發(fā)展起來。每一臺設(shè)備都安裝定制 Andorid,系統(tǒng)經(jīng)歷過特殊的裁減。2013 年,Ubuntu 宣布進(jìn)入移動市場,不論是 Android 還是 iOS,都不容易遭受攻擊。相反,Android 還向其它平臺大舉入侵,只有 iOS 例外。有些人之所以期待第三方替代者冒出來,并不是因?yàn)?Android、iOS 名聲不好、限制太多或者用戶體驗(yàn)糟糕,而是因?yàn)樗麄儞?dān)心谷歌會一統(tǒng)天下。正因如此,攻擊 Android、iOS 并不像攻擊微軟、紅帽(在 PC、服務(wù)器領(lǐng)域)那么容易。

  我還記得,Canonical 的人曾經(jīng)說過,項(xiàng)目只有從移動市場拿下大約1% 的份額,才能持續(xù)生存。要達(dá)到目標(biāo),意味著每年要銷售大約 1100 萬臺 Ubuntu 手機(jī)、幾百萬臺平板。如果從每臺設(shè)備的軟件和服務(wù)中獲得 1 歐元/美元的收入,就能養(yǎng)得起 100 名開發(fā)者,如果指揮得當(dāng),這么多人就夠了。Sailfish OS 是 Jolla 開發(fā)的,曾幾何時(shí),Jolla 大約有 120 名員工,它們還要設(shè)立營銷、支持部門,Canonical 已經(jīng)擁有這樣的部門。問題在于,每年銷售 1100 萬臺手機(jī)、幾百萬臺平板是一個(gè)艱巨的任務(wù),看看 Ubuntu Desktop 的用戶量,估計(jì)只有 2000-3000 萬。

資深開發(fā)者:為什么 Ubuntu 移動操作系統(tǒng)會失敗?

  ——獲得1% 市場的可能性之一:做得比競爭對手好很多,這樣你的產(chǎn)品就會流行起來,那就不用擔(dān)心1% 了。我認(rèn)為,大家都清楚這樣的事情不會發(fā)生,因?yàn)橛幸稽c(diǎn)很明顯:所有的重要服務(wù)(WhatsApp、谷歌、Twitter、Instagram 等)都不允許我們克隆它的 App,在 Ubuntu 設(shè)備上運(yùn)行。如果 Canonical 不開發(fā)自己的 Telegram 客戶端,當(dāng)?shù)谝豢钌逃冒?Ubuntu 手機(jī)上市時(shí),甚至連 Instant Messenger 工具都沒有。當(dāng)時(shí)已經(jīng)是 2015 年,大家?guī)缀鯚o時(shí)不在使用 Instant Messenger。如果 Ubuntu 手機(jī)不能做 Android 手機(jī)所做的事,大家就不愿意付同樣的錢購買 Ubuntu 手機(jī),即使手機(jī)上寫著“開發(fā)者設(shè)備”也一樣。

  ——獲得1% 市場的可能性之二:拿下一塊利潤豐厚的細(xì)分市場。Canonical 過于關(guān)注所謂的“Convergence”(聚合)細(xì)分市場,這個(gè)市場的人不夠多,但 Canonical 忽視了所有的黑客、“程序修補(bǔ)匠”、以及那些無法忍受谷歌、微軟的人,NSA 正在盯住這些人?;ê芏嗟腻X購買一臺手機(jī),當(dāng)它與外接顯示器連接時(shí)可以變成較慢的筆記本,并沒有多少人做好準(zhǔn)備買這樣的東西,但是有很多人準(zhǔn)備花高價(jià)錢購買 Blackphone。

  用戶體驗(yàn)糟糕、沒有抓準(zhǔn)重點(diǎn)

  推出最初的幾版 OTA(over-the-air)升級程序之后,我問自己:“bq 和魅族——尤其是它們的客戶——真的想干下去嗎?”手機(jī)很慢,在常規(guī)使用中老是要重啟。魅族 MX4 有點(diǎn)過熱。電池指示器給出的數(shù)據(jù)不準(zhǔn),移動數(shù)據(jù)不穩(wěn)定,許多時(shí)候無法在國內(nèi)漫游,定位服務(wù)也是相當(dāng)不靠譜。來電時(shí),手機(jī)老是沒有鈴聲,或者你沒有辦法打出電話,因?yàn)?UI 擋住了按鈕。鬧鐘不好用,藍(lán)牙只支持音頻設(shè)備,或者最新的輸入設(shè)備,但連基本的文件傳輸功能都沒有。WiFi 沒有辦法連接到 WPA Enterprise 網(wǎng)絡(luò),這個(gè)問題直到 OTA-5 才解決。當(dāng)我索引文件時(shí),音樂播放器甚至還會刪除文件。

  有些東西你認(rèn)為管用,但實(shí)際不能用,這樣的東西很多很多。還有一點(diǎn)更糟糕:一些漏洞修復(fù)之后,經(jīng)過 2 次 OTA 升級之后居然又跑回來了。在手機(jī)/平板項(xiàng)目推行的整個(gè)過程中,向 Launchpad 提交的漏洞報(bào)告很多,數(shù)量沖到太空去了,超乎我的想像。

  根治漏洞并不是優(yōu)先考慮的事,開發(fā)者將大部分時(shí)間用來拓展平臺,讓軟件支持更多的硬件(魅族 Pro 5,bd Aquaris 10),專注于“Convergence”(聚合)。到了項(xiàng)目快要結(jié)束時(shí),與我交流過的用戶大部分都對設(shè)備不滿意。只有那些使用基本功能的人滿意,比如我的父親,他甚至不使用移動數(shù)據(jù),每兩天才打一個(gè)電話,他之所以滿意是因?yàn)槭謾C(jī)可以續(xù)航幾天。買一臺 150 歐元的智能手機(jī),卻不使用任何“智能”功能,真說不過去。

  我表示理解,因?yàn)闆]有足夠多的開發(fā)者快速修復(fù)所有問題,但是我們既沒有開發(fā)出很好的 Convergence 手機(jī),也沒有很好的 Convergence 平板,相反,設(shè)備做任何事情都做不好。項(xiàng)目的人一直在說:“這是開發(fā)者設(shè)備,不必追求快速,因?yàn)閺拈L遠(yuǎn)來看我們會獲勝。”直到某一天管理層才意識到,這樣做成本太高了,而且已經(jīng)浪費(fèi)了很多時(shí)間。此時(shí),我們開始在內(nèi)部削減開支,大約在 2016 年 10 月時(shí),所有重要員工全都搬到了 Snappy,讓手機(jī)和平板項(xiàng)目在沉默中死亡,直到幾個(gè)月后才告訴公眾。

  我認(rèn)為,設(shè)計(jì)師老是抱著“Scopes”的觀念,遲遲不變,這點(diǎn)不好,沒有人真正知道如何在桌面端使用 Scopes。

[[223491]]

  設(shè)備很難弄到

  想弄一臺設(shè)備真的難,相信大家有同樣的感受。我在店鋪里買了自己的第一臺 Nexus 7,在 eBay 買了一臺 Nexus 4,當(dāng)項(xiàng)目開始蓬勃發(fā)展時(shí),這些設(shè)備已經(jīng)舊了,更難買到,很快,官方就不再支持了。Bq 的設(shè)備至少還在歐洲大多地區(qū)銷售,但是很快就賣光了。除了 Ubuntu Phone Insiders,其它人想買到 MX4 真是很難,簡直就是痛苦。如果你在美國,拿到一臺設(shè)備,許多時(shí)候根本無法全速連接到移動網(wǎng)絡(luò)。

  2015 年和 2016 年的大多時(shí)間里,如果開發(fā)者想弄到一臺官方支持的設(shè)備,測試 App,我真不知道該向你推薦什么。

資深開發(fā)者:為什么 Ubuntu 移動操作系統(tǒng)會失???

  從另一方面看,大家最想要的設(shè)備卻不是自己拿到的設(shè)備,最想要的是高端 Ubuntu Edge。Bq 設(shè)備很便宜,內(nèi)部存儲空間很小,只支持 3G。MX4 很快,安裝了大屏,支持 4G,但再無其它,甚至沒有 SD 卡槽。在所有官方手機(jī)中,Convergence 需要的 HDMI 輸出接口全都沒有,Miracast/Aethercast 也不是很好的解決方案。許多人認(rèn)為,Ubuntu 應(yīng)該可以讓它們的硬件發(fā)揮最大潛力,比如在 Aquaris E4.5/E5 上支持 FM 廣播,不過這個(gè)功能甚至都沒有出現(xiàn)在清單上,如果沒有 Android 設(shè)備驅(qū)動,社區(qū)根本沒有辦法增加此功能。

  大多人都認(rèn)為 Ubuntu 手機(jī)會比 Android 更安全,因?yàn)樗情_源軟件,可以快速升級。但事實(shí)并不是這樣的,Android 驅(qū)動和移動基帶是專有的、安全的,可以完全訪問硬件。不過這些東西理解的人不多。

  溝通與營銷有點(diǎn)混亂,有時(shí)還存在誤導(dǎo)

  每一天,我都要花很多時(shí)間關(guān)注最新進(jìn)展,許多時(shí)候,我根本不知道接下來會有什么出現(xiàn),下一個(gè) OTA 又會怎樣。郵件列表、IRC、Telegram 頻道、Launchpad、官方網(wǎng)站、開發(fā)者的私人對話、Ubuntu Online Summit……東西太多了。我還沒有將 Canonical 非公開對話放進(jìn)來,這些交流是保密的,目標(biāo)是保密,希望消息公開時(shí)能獲得新聞媒體最大的關(guān)注。

  Canonical 的許多員工在家工作,或者在不同的時(shí)區(qū)工作,在我看來,這種辦公方式變得越來越糟糕。曾幾何時(shí),我碰到一些麻煩,比如:“當(dāng)我按下電源按鈕,一秒之后手機(jī)才喚醒。”“電池指示器有問題。”我希望他們重視這些漏洞,尋求幫助,服務(wù)真是折磨人。

  為設(shè)備開發(fā)內(nèi)核源碼的人可能來自亞洲,至于負(fù)責(zé)Q&A的人,可能在美國某個(gè)地方工作。我自己在歐洲。工作輪班并沒有重疊。有時(shí)我會早上 8 點(diǎn)與某個(gè)亞洲人聊天,在他下班之前交流;然后又在下午或者晚上與美國的人交流,他們剛剛才上班。

資深開發(fā)者:為什么 Ubuntu 移動操作系統(tǒng)會失???

  不得不承認(rèn),我從營銷部門學(xué)到了許多東西,在“預(yù)期 VS 現(xiàn)實(shí)”方面學(xué)到的更多。例如,許多人假定,在隨后的 OTA 升級過程中,Aquaris E4.5/E5 和 MX4 會加入 Convergence 功能,不過在銷售設(shè)備時(shí),制造商與 Canonical 都沒有這樣宣傳過。直到項(xiàng)目取消了,大多人還認(rèn)為以后可以在桌面端(火狐、SIP 客戶端)運(yùn)行同樣的應(yīng)用,可以通過軟件包安裝(apt-get)管理手機(jī),這些想法完全是被營銷給誤導(dǎo)了。許多時(shí)候,團(tuán)隊(duì)都強(qiáng)調(diào)說 Ubuntu 會保持一致,事實(shí)并不是這樣的?;鸷鼪]法運(yùn)行,使用軟件包安裝(apt-get)會出問題,為了這樣的事,我無數(shù)次通過各種渠道向人們解釋。大家很吃驚,他們發(fā)現(xiàn)原來面向移動設(shè)備的 Ubuntu 居然如此不同。

  太關(guān)注用戶、App 開發(fā)者不關(guān)心的技術(shù)功能

  我認(rèn)為,對于架構(gòu)師來說,如果你宣布推出一個(gè)新的、獨(dú)立的移動操作系統(tǒng)平臺,最好的理由應(yīng)該是這樣的:“好吧,讓我們動手干吧,但是要以正確的方式進(jìn)行,要做得比其它人好。”Ubuntu 不能只是關(guān)注圖形用戶界面,還要讓系統(tǒng)在所有設(shè)備上運(yùn)行,接受各種形狀的設(shè)備。不能只是搞一些相互隔離的應(yīng)用程序,就像 Linux 內(nèi)核或者 Android 一樣,還要進(jìn)行全面的限制,保護(hù)用戶的數(shù)據(jù)和隱私。系統(tǒng)必須防止 App 消耗太多電能。不論其它平臺在技術(shù)方面做了什么,Ubuntu 都應(yīng)該做得更好,以更優(yōu)雅的方式完成。

  對于我來說,這些東西并不是全都有意義。Unity 8 是有必要的,因?yàn)?Unity 7 依賴的是 Compiz,它無法良好兼容各種形狀的產(chǎn)品,有些設(shè)備安裝旋轉(zhuǎn)屏。不過 Mir 的唯一作用就是替代X.Org 和 SurfaceFlinger,這樣一來,Unity 8 就可以在 PC、移動設(shè)備上使用一個(gè) API。我不是圖形技術(shù)專家,也不是 API 專家,不過站在“人力資源非常有限”的角度看,這樣拿出一個(gè)全新的顯示服務(wù)器,但是沒有其它人愿意使用,與現(xiàn)有替代產(chǎn)品相比也沒有多少提升,應(yīng)該少做這樣的事。如果用戶界面看起來沒有什么不同,就更應(yīng)該避免了。自 2013 年年末以來,Ubuntu Touch 一直使用 Android 的 SurfaceFlinger,用得還很歡快。

  為了節(jié)省一點(diǎn)點(diǎn)電量,你將設(shè)計(jì)弄得很復(fù)雜,而且這種復(fù)雜還會給系統(tǒng)服務(wù)的部署帶來更多工作量,這些服務(wù)從未被部署,因?yàn)槟愕膱F(tuán)隊(duì)太小,用戶和 App 開發(fā)者不會因?yàn)槟愕脑O(shè)備續(xù)航時(shí)間延長了一點(diǎn)點(diǎn)而喝彩,相反,他們會有無窮的抱怨,因?yàn)槿鄙倭诉@樣那樣的東西。在 Launchpad 平臺上,經(jīng)常出現(xiàn)“Complete the high priority background service implementations”這樣報(bào)告,相關(guān)的漏洞報(bào)告數(shù)量達(dá)到 240,此時(shí)項(xiàng)目已經(jīng)推出 3 年,但在漏洞方面基本上沒有什么改進(jìn)。

  還有一個(gè)好例子就是規(guī)劃好的信息框架。對于你的所有信息需求,不論是 Jabber/XMPP、SMS、Telegram 或者 WhatsApp,你只有一個(gè)系統(tǒng)應(yīng)用程序,第三方資源可以為自己的服務(wù)提供插件。為什么不讓 App 在后臺運(yùn)行?這套框架是主要的障礙之一。你沒有辦法制作一個(gè)簡單的獨(dú)立 XMPP 客戶端,在后臺接收信息,但是你想插入的信息框架卻姍姍來遲,與沒有推出差不多。甚至連 Telegram 客戶端也無法在后臺運(yùn)行,它只能顯示彈出式通知,因?yàn)?Canonical 說服了 Telegram 開發(fā)者,修改他們的服務(wù)器代碼,支持 Ubuntu Push Notification 服務(wù)。

  在 Canonical 平臺上,有一些關(guān)鍵開發(fā)者認(rèn)為 Ubuntu 如此重要,所有的服務(wù)提供商都會修改服務(wù)器代碼,使用 Ubuntu Push Notification 服務(wù),解決此問題。但是除了 Telegram,其它服務(wù)提供商都沒有這樣的想法。

  App 開發(fā)者的生活太苦了

  移動操作系統(tǒng)的價(jià)值并不在于當(dāng)下的基本操作系統(tǒng),而在于生態(tài)系統(tǒng)。這也是 Ubuntu 最難攻克的難關(guān)。

  從本質(zhì)上講,面向移動設(shè)備的 Ubuntu 不兼容任何之前存在的運(yùn)行環(huán)境。你沒有辦法運(yùn)行 Android、Windows、X11 或者 iOS App,不能跨平臺編譯 Android、Windows、X11 和 iOS App。圖形系統(tǒng)、系統(tǒng)服務(wù)、限制、基本庫,全都不同。移動 Ubuntu 和 Ubuntu Desktop 是完全不同的。你可以一而再再三強(qiáng)調(diào)說“它們是完全一樣的 Ubuntu”,如果我們不能在桌面端測試我的 App,因?yàn)樗踔炼紵o法運(yùn)行 Mir,那就不能說它們是完全一樣的 Utuntu,我必須接受兩個(gè)不同的平臺。

  Canonical 開發(fā)了完整的 SDK,基于 Qt Creator 的“集成開發(fā)環(huán)境”( Integrated Development Environment),跨平臺編譯環(huán)境,以及一套全新的 Ubuntu QML 組件。我沒有冒犯任何人的意思,除了不能重新使用現(xiàn)有代碼,這樣做還會給 App 開發(fā)者帶來困惑,讓人沮喪。從頭到尾事情總是不順利。有時(shí) SDK 幾周都沒法用,然后團(tuán)隊(duì)又拿出了版本控制方案,你的 App 老是出問題。

[[223492]]

  有時(shí),我必須在程序店內(nèi)重建、升級我的 glmark 2 App,因?yàn)?OTA 內(nèi)包含了更新后的 Mir 客戶端庫,但是 OS 的兼容等級仍然與之前一樣。事情變得很明確:版本控制方案只能向你保證,用官方支持的方式編寫 App,它才能正常運(yùn)行,而官方支持的方式只有 QML、HTML5。glmark2 直接與 Mir 對話,還有許多其它程序也一樣——比如用 SDL 開發(fā)的游戲。

  每一次 OTA 之后,如果你不能持續(xù)檢查、更新,程序店內(nèi)的 App 就沒法用了。在最新的 Android 手機(jī)上,你可以繼續(xù)使用舊 Android App,不過你必須擔(dān)心一件事:如果你長時(shí)間不維護(hù),完成下一次 OTA 之后,你去年開發(fā)的 Click App 可能就沒法用了。我還記得,2015 年年末曾經(jīng)在 IRC 有過一場激烈的討論,當(dāng)時(shí)幾名 Canonical 開發(fā)者發(fā)現(xiàn)了這個(gè)問題,他們質(zhì)問 SDK 團(tuán)隊(duì):到底 SDK 團(tuán)隊(duì)希望 App 開發(fā)者如何在這樣的環(huán)境下工作? 

  最開始時(shí),我是一名 App 開發(fā)者。當(dāng)我想開發(fā)一些東西時(shí),基本上都要從零開始。想開發(fā) GUI?只能用帶有 Ubuntu QML 組件的 QML 開發(fā),而 QML 并不是什么成熟的生態(tài)系統(tǒng),沒有大量已有的代碼存在,也沒有什么好工具。是不是只想使用現(xiàn)有 UI 庫中的一個(gè)?只能指望 X11 或者 Wayland,如果想等到 SDL 或者 Mir 后端出現(xiàn),那樣時(shí)間太長了。想與硬件或者系統(tǒng)服務(wù)對話?因?yàn)槭艿搅讼拗?,我必須通過D-Bus 與特殊 Ubuntu 服務(wù)對話,許多“標(biāo)準(zhǔn)”的東西(比如 NetworkManager)無法與限制之內(nèi)的東西對話。想在后臺下載一些東西嗎?請與特定的 Ubuntu 下載管理服務(wù)連接。如果手機(jī)之外發(fā)生了什么事,你想收到通知,怎么辦?你只要將所有東西與 Ubuntu Push Notification 整合才能做到。

  正因如此,我開始開發(fā)基礎(chǔ)系統(tǒng)。2015 年 1 月時(shí),我想開發(fā) Wi-Fi 和藍(lán)牙掃描功能,但是需要的 API 和系統(tǒng)服務(wù)全都不存在,大多東西都缺少,API 與系統(tǒng)服務(wù)也永遠(yuǎn)不會出現(xiàn)。

  因?yàn)樯鲜龇N種原因,對于第三方開發(fā)者來說,平臺沒有什么吸引力。投入時(shí)間精力重新開發(fā)另一個(gè)版本的 App,實(shí)在看不出有什么價(jià)值,加上用戶基數(shù)本來就不大,那就更不值得了。在 Click Store 內(nèi),我基本上找不到一個(gè) App 是由“原始”開發(fā)者上傳的。甚至連 Telegram 都是由 Canonical 自己開發(fā)的。

  大多人只會跑去開發(fā)便宜的 WEB App,或者克隆現(xiàn)有 App。很快,這樣的做法就碰到了問題,許多 App 依賴某些不自由的網(wǎng)絡(luò)服務(wù),而且服務(wù)的條款極不友好。例如,我自己開發(fā)了 BD Navigator,它相當(dāng)于德意志聯(lián)邦鐵路 Navigator 的克隆體。我對客戶端-服務(wù)器協(xié)議進(jìn)行逆向工程,幾乎可以復(fù)制所有東西,只是不能購買真正的火車票,因?yàn)榈乱庵韭?lián)邦鐵路在程序內(nèi)植入了加密信息,如果使用偷來的加密密鑰,在德國可是犯法的。我問德意志聯(lián)邦鐵路,能否允許我這樣做,他們說不行。最終我只能將整個(gè) App 降級,將它變成一個(gè) WEB 容器,里面包含從德意志聯(lián)邦鐵路的移動 WEB 頁面收集的書簽。

  WhatsApp、Twitter、Instragram、谷歌 Plus、谷歌 Drive 等服務(wù)也碰到了相似的問題。大多東西我們都能復(fù)制,但是服務(wù)提供商不允許你這樣做。例如 WhatsApp,如果你想獲得授權(quán),接入它的 API,必須支付一大筆錢(達(dá)到 7 位數(shù)),而且 WhatsApp 不允許別人開發(fā)可以運(yùn)行的客戶端 App。Instagram 封鎖了 API,就連內(nèi)置的 Instagram Scope 也不得不撤下。對于大多服務(wù),谷歌甚至沒有提供開放的 API。

  原本想讓項(xiàng)目變得開放、以社區(qū)來驅(qū)動,結(jié)果未能如愿

  我知道,關(guān)于這個(gè)觀點(diǎn)肯定有很大的爭論,如果你不同意,那么請記?。哼@只是我自己的看法。我可能屬于少數(shù)派。

  照設(shè)想,面向移動設(shè)備的 Ubuntu 應(yīng)該像“普通”Ubuntu 一樣開放,但是事實(shí)并非如此。

  ——我們開發(fā)了一些東西,這些東西的源代碼都在那里,放在某些地方,在 Launchpad 項(xiàng)目(不知道有多少)上擴(kuò)散。

  ——內(nèi)核源代碼放在 GitHub,許多時(shí)候都過時(shí)了。

  ——所有專用 Android 驅(qū)動及其它內(nèi)容的代碼,只有一些 Canonical 員工才能看到。

  ——Canonical 和商務(wù)合作伙伴設(shè)立了一個(gè) Launchpad 區(qū)域(完全私有),里面會在私密漏洞報(bào)告。許多時(shí)候,公開漏洞報(bào)告的鏈接會指向私密報(bào)告,這樣一來,你只能看到一半的信息。

  ——大量數(shù)據(jù)會在無意之間泄露,主要通過 paste.ubuntu.com 泄露,關(guān)于即將到來的設(shè)備,許多信息通過搜索就能找到。

  ——當(dāng)我們想了解即將到來的新功能時(shí),經(jīng)常會找到相似的 Launchpad 項(xiàng)目,這些項(xiàng)目早在幾周或者幾個(gè)月前就開始做了,以代號的形式進(jìn)行,或者 Canonical 開發(fā)者已經(jīng)私下開發(fā)了幾個(gè)月。

  ——對于沒有為 Canonical 工作的人來說,想了解它們做了什么、有何規(guī)劃、你可以從哪里加入從哪里退出,真的有點(diǎn)難。

  ——如果你發(fā)現(xiàn)有些事情自己可以幫忙,想與 Canonical 開發(fā)者保持聯(lián)系相當(dāng)難。他們在工作日至少會工作 8 小時(shí),但是你可沒有 8 小時(shí)的閑暇時(shí)間,你的閑暇時(shí)間經(jīng)常與他們的工作時(shí)間是不重疊的。

  ——用戶和寬泛社區(qū)的愿望似乎對接下來要開發(fā)的功能、下一個(gè) OTA 要做的事沒有什么大的影響。許多時(shí)候,那些最熱門的 Launchpad 漏洞報(bào)告、功能請求存在的時(shí)間最長。

  FAQ

  有些問題會被大家經(jīng)常問到。

  ——為了做開發(fā),你買了多少設(shè)備?

  我買了兩臺新的 Nexus 7、兩臺舊 Nexus 4,三臺新的 bq Aquaris E4.5,兩臺便宜的聯(lián)發(fā)科手機(jī)(用于逆向工程),為 Ubuntu 做開發(fā)。我還從 Canonical 弄了一臺 MX4 手機(jī)。我想我買了 7 臺手機(jī)、2 臺平板,花了 1000 多歐元。

  ——能估計(jì)一下你投入了多少時(shí)間嗎?

  可以。計(jì)算了一下,我發(fā)現(xiàn),在長達(dá) 18 個(gè)月的時(shí)間里,我投入了 6 個(gè)人工月(一人一個(gè)月內(nèi)完成的工作量),這樣的工作量與 Canonical 聘請我、投入 30% 的兼職時(shí)間為他們工作差不多。

  ——你后悔投入這么多時(shí)間和精力嗎?

  不后悔。

  ——你什么時(shí)候開始懷疑項(xiàng)目會失敗的?

  如果記得沒錯(cuò),大概是 2015 年圣誕吧。當(dāng)時(shí)項(xiàng)目的發(fā)展越來越不順利,事情越來越清楚,我們不可能擁有完整的 WhatsApp、Twitter App,你開始看到,對于許多手機(jī)用戶來說,再也沒有什么真正重要的東西。Convergence 平板項(xiàng)目還在推行,但是拿到 bq Aquaris M10 平板的人并不多。

  還記得我剛才說過嗎,我曾開發(fā)過基本操作系統(tǒng),因?yàn)樵谖蚁腴_發(fā)的 App 中,有一半沒有辦法開發(fā)。努力一年之后,我需要開發(fā)的 API 和系統(tǒng)服務(wù)沒有一個(gè)完成的,我們還在與一些系統(tǒng)架構(gòu)師爭論:到底系統(tǒng)是不是應(yīng)該擁有我們需要的所有東西。當(dāng)你們的 APP 開發(fā)者告訴你,說他們需要一些東西,這樣才能開發(fā)出很酷的 APP,你應(yīng)該給他們一些東西,讓架構(gòu)師在可以預(yù)見的未來勉強(qiáng)度日。不必完美,但是相比開發(fā)者對你的需要,你更需要開發(fā)者。

  ——你是 2016 年年中離開的,比項(xiàng)目真正終結(jié)的時(shí)間早了很多。為什么?

  我對軟件開發(fā)的興趣并不大?,F(xiàn)在我將更多的閑暇時(shí)間留出來周游世界,攝影,制作糟糕的卡牌游戲、糟糕的漫畫和糟糕的游戲。

  另一方面,我覺得繼續(xù)為項(xiàng)目工作無法再讓我感到高興。有時(shí),坐在一臺設(shè)備之前連續(xù)鼓搗 8 小時(shí),我會想:“我做得不夠好,這是我的錯(cuò)誤。”既然用業(yè)余時(shí)間來工作,不應(yīng)該這么無趣。

責(zé)任編輯:張燕妮 來源: 36Kr編譯
相關(guān)推薦

2012-07-13 13:51:57

AndroidiOS

2013-02-22 11:25:27

UbuntuUbuntu移動操作系

2016-05-26 10:57:51

2013-01-05 10:02:33

Ubuntu移動

2025-03-06 08:30:00

C++開發(fā)vector

2013-10-30 12:51:34

2013-03-28 19:25:35

騰訊云

2015-07-29 09:53:57

前端開發(fā)總結(jié)

2011-11-29 14:27:12

移動開發(fā)者手機(jī)平臺移動開發(fā)

2020-12-09 09:55:04

谷歌Fuchsia開發(fā)者

2011-12-30 10:28:15

Win 8操作系統(tǒng)難題

2011-05-23 09:54:59

盈利移動廣告開發(fā)者

2013-04-25 10:14:39

Facebook開發(fā)者開發(fā)

2010-01-06 15:41:07

Linux操作系統(tǒng)

2009-12-14 18:27:21

Linux操作系統(tǒng)

2012-09-21 14:35:01

2010-01-05 17:16:51

2023-03-22 09:10:18

IT文檔語言

2014-12-30 10:05:42

操作系統(tǒng)

2011-06-15 10:32:12

點(diǎn)贊
收藏

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