Linux和開源軟件在今年有成功也有失敗,不過總的來說,今年對Linux和開源軟件是好的一年,而在未來一年,Linux和開源可能沒有什么“大”事,因為它會繼續(xù)在計算的各領(lǐng)域滲透。
失敗之處
1. Heartbleed
Heartbleed漏洞是由安全公司Codenomicon和谷歌安全工程師發(fā)現(xiàn)的,漏洞讓特定版本的OpenSSL成為無需鑰匙即可開啟的“廢鎖”,這項嚴重缺陷(CVE-2014-0160)的產(chǎn)生是由于未能在memcpy調(diào)用受害用戶輸入內(nèi)容作為長度參數(shù)之前正確進行邊界檢查。攻擊者可以追蹤OpenSSL所分配的64KB緩存、將超出必要范圍的字節(jié)信息復制到緩存當中再返回緩存內(nèi)容,這樣一來受害者的內(nèi)存內(nèi)容就會以每次64KB的速度進行泄露。
2. Systemd爭議
如果你不深入了解Linux,那么你不會聽過Systemd。Systemd實現(xiàn)系統(tǒng)初始化時服務的并行啟動。雖然Systemd兼容SysV和LSB init腳本,但是它旨在取代老舊的SysV init。
多數(shù)的抱怨源于人們認為Systemd項目太大以至于超出了它的工作范圍,并且它從Linux系統(tǒng)接管的部分太多了:
"systemd文件是一大堆復雜的高度耦合的二進制組成,這違反了UNIX哲學:‘做一件事情,并把它做好’。它超出了一個init程序的職責范圍,因為它還有電源管理、設備管理、掛載管理、cron(定時執(zhí)行工具)、磁盤加密、socket接口/inetd、syslog、網(wǎng)絡配置、登陸/會話管理、文件預讀、GPT分區(qū)發(fā)現(xiàn)、容器注冊、hostname/locale/time管理、mDNS/DNS-SD等功能、它將Linux控制臺以及其他的一些功能都包裝在一個程序里面。
3. 開源許可沒有被使用
或許你不會介意開源許可中沒有GPL這樣的協(xié)議,但是你一定會介意這么多的開源程序不帶有任何的開源許可。到底有多少呢?在2013年,GitHub程序中有77%的程序沒有許可。
4. Ubuntu Touch和Steam Machines
為了使得游戲體驗更好,Valve正致力于開發(fā)新一代的游戲機Steam Machines,將刷新用戶在游戲機上玩游戲的體驗,尤其是第一人稱射擊和策略游戲。不幸的是,這是個艱巨的任務,2014年發(fā)布的目標已經(jīng)無法達成了。同樣在這一年我們也無法看到搭載Ubuntu Touch的手機和平板,或許我們可以寄希望于2015年。
成功之處
1. 終端用戶操作系統(tǒng)第一的名額可能屬于Linux
Windows還占據(jù)著桌面,終端用戶操作系統(tǒng)第一的名額可能屬于Linux?這怎么可能?然而,在任何情況下,很多人不需要使用太復雜的計算機。很多用戶繞過電腦,完全支持智能手機和平板電腦。有誰發(fā)現(xiàn)超過70%的全球市場份額都是智能手機?Android運行在Linux內(nèi)核上。Android也支持平板電腦、集頂級設備、照相機、電視機、游戲機等等,以后也會支持更多的設備。
2. 開源成為高級編程方法
現(xiàn)在五個程序員當中會有四個使用開源開發(fā)工具。在2014年,微軟CEO Satya Nadella說:“微軟喜歡Linux。”微軟在。NET上開放了很多,而OpenStack現(xiàn)在也對Windows Server開放了。
Linux Foundation的Jim Zemlin最近一篇博文“2014年是一個轉(zhuǎn)折點,太多的公司運用開源編寫程序。”也佐證了這一觀點。
3. 開源支配云
OpenStack看上去似乎得到了世界上每一個主要科技公司的支持,甚至是微軟和VMware這樣的競爭對手也支持它。
IT行業(yè)中許多人都知道云是未來的一大趨勢,而OpenStack會成為云的主要成分之一。
4. Red Hat和Canonical為云作戰(zhàn)
Canonical可能還沒有推出其Ubuntu Touch手機,但是Ubuntu是OpenStack上最主要的Linux系統(tǒng)。同時,Red Hat是全球最大的開源技術(shù)廠家,其產(chǎn)品Red Hat Linux也是全世界應用最廣泛的Linux。
無論基礎架構(gòu)即服務(LaaS)或平臺即服務(PaaS),這兩家公司都希望自家的Linux最終主導云。
這將是一個非常有趣的斗爭,或許到2015年底也不會分出勝負。兩家公司都有各自的優(yōu)點和缺點,去觀察這場斗爭產(chǎn)生什么樣的結(jié)果會是一件有趣的事。
5. Docker重新定義數(shù)據(jù)中心和云計算
一年前,我們甚至都沒聽過Docker。Docker是什么?Docker是一個開源的應用容器引擎,現(xiàn)在Docker把容器技術(shù)幾乎帶到了所有的數(shù)據(jù)中心和云計算公司。
這是為什么呢?因為Docker讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 App)。幾乎沒有性能開銷,可以很容易地在機器和數(shù)據(jù)中心中運行。最重要的是,他們不依賴于任何語言、框架或包括系統(tǒng)。