源代碼往往是一家科技企業(yè)的核心競爭力所在。很多企業(yè),如微軟,至今還選擇將核心源代碼抓在自己千里.將源代碼開放出去本身就是一項重大挑戰(zhàn)。
開發(fā)者辛辛苦苦開發(fā)出一套代碼,最后卻發(fā)現(xiàn)類似的代碼在開源社區(qū)就可以找到,開發(fā)者做了很多無用功。那么怎樣讓開發(fā)更有效率?組建一個代碼托管平臺,集中各種開源代碼,讓不同開發(fā)者之間可以分享代碼和交流經(jīng)驗,無疑是最佳途徑。而這也是目前GitHub正在做的事。
GitHub創(chuàng)立于2008年,面向企業(yè)用戶和個人開發(fā)者提供代碼托管服務(wù),目前其注冊用戶數(shù)已經(jīng)超過了200萬,托管的代碼庫則超過了350萬。包括Facebook、Twitter、微軟、LinkedIn以及MOZill a等都將其開源代碼托管于GitHub。
對于那些主張開源的開發(fā)者來說,他們不僅可以利用Github將自己開發(fā)的應(yīng)用放上去與其他開發(fā)者進行分享,同時還可以利用這個平臺獲得其他的開發(fā)“組件”,讓應(yīng)用開發(fā)更加便捷。就像前微軟首席軟件架構(gòu)師雷-奧茲(RayOzzie)所說:“開發(fā)過程比以往任何時候都更加涉及‘組裝’了,因為在GitHub上或其它地方有很多組件,你可以非常快速地把它們組裝成一個有效的解決方案?!?/p>
據(jù)國外科技媒體TechCrunch報道,Andreessen Horowitz風(fēng)險投資公司正在對GitHub進行高達1億美元的投資,而此前該網(wǎng)站一直拒絕融資。融資報告中提到,融資之后GitHub的估值已達到7.5億美元之多。
新一輪的開源熱
GitHub的火熱從側(cè)面反映了開源潮流的不可阻擋。據(jù)Gartner的研究報告指出,2011年,至少80%的商業(yè)軟件都包含大量的開源代碼,國外大型軟件巨頭,如IBM、SUN、Dell、HP、Oracle等已經(jīng)開始支持開放源代碼,即使一貫以封閉著稱的微軟,也逐漸加入到開源的潮流中來。其推出的手機操作系統(tǒng)Windows Phone 8本身即是一款開源的操作系統(tǒng)。
在開源與封閉的持久爭論中,開源正在占據(jù)上峰。
開源的優(yōu)勢顯而易見,一款軟件在開發(fā)過程中,可以通過開源獲得更多開發(fā)者的支持,同時開發(fā)成功之后還可以將經(jīng)驗分享出來,讓其他開發(fā)者受益。這種積極的協(xié)作模式要比一味封閉更具效率。
實際上,早在1 980年,互聯(lián)網(wǎng)的先驅(qū)產(chǎn)品Usenet就倡導(dǎo)開源,而當(dāng)時“互聯(lián)網(wǎng)”這個概念還沒有產(chǎn)生。軟件開發(fā)者可以通過Usenet實現(xiàn)合作,共同開發(fā)軟件。
到1983年,理查·斯托曼發(fā)起GNu計劃,目標是創(chuàng)建一套可以完全自由使用的操作系統(tǒng),該計劃不僅采用了當(dāng)時已可自由使用的軟件,還開發(fā)了一批自由軟件。GNU計劃讓軟件界產(chǎn)生了“公共版權(quán)”的概念,讓開源理念深入人心。
不過當(dāng)時GNU軟件還缺乏OS(操作系統(tǒng))的內(nèi)核,并不完整,直到1991年Linux操作系統(tǒng)出來,GNU軟件與之結(jié)合,史上第一款完全開源的操作系統(tǒng)終于誕生。
其后,開源塑造了紅帽、MySQL、Netscape等眾多知名企業(yè),可以說開源影響了整個軟件產(chǎn)業(yè)的發(fā)展。
如今智能手機廣為普及,APP爆炸增長,大量個人開發(fā)者興起,移動互聯(lián)網(wǎng)時代全面到來。而開源,這一歷久彌新的理念,正在得到新一輪的激發(fā)和生長。代碼托管就是這一背景的產(chǎn)物。
在獲得融資后,Git Hub公司CEO湯姆·普雷斯頓·沃納(Tom Preston Werner)表示,這些新注入的資金將用于雇用新員工,并用于擴展移動平臺。公司將會為Git研發(fā)新的功能,但是也會繼續(xù)投入精力改善現(xiàn)有的功能,比如給不同的操作系統(tǒng)提供Web應(yīng)用程序。公司的目標是讓GitHub的客戶群更為廣泛——從個人黑客到大型企業(yè),從軟件開發(fā)者到設(shè)計師或者作家。
不同于很多移動互聯(lián)網(wǎng)公司,GitHub有著清晰的盈利模式:個人開發(fā)者每月支付7美元向其購買個人代碼托管服務(wù),企業(yè)用戶購買帶有防火墻的企業(yè)代碼托管服務(wù)需每月支付最少5000美元。
其實國外還有其他類似的網(wǎng)站,如GitCafe。國內(nèi)也有Geakit等。谷歌也在經(jīng)營類似的業(yè)務(wù)。不過谷歌作為巨頭,其業(yè)務(wù)范圍廣泛,產(chǎn)業(yè)鏈關(guān)系復(fù)雜,代碼托管由相對獨立的第三方組織來經(jīng)營更加適合。
安全瓶頸
摩游世紀CEO宋嘯飛在看到GitHub的融資消息時,第一反應(yīng)是代碼托管如何保證安全性?的確,安全問題一直與開源相伴隨,谷歌安卓操作系統(tǒng)依靠其開源模式贏得了廣大開發(fā)者的青睞,但是同時也誘發(fā)了大量病毒、木馬的誕生,那么GitHub們怎樣保證不被黑客攻擊?代碼不被不法人士利用?這確實是代碼托管面臨的一個瓶頸。
對于科技企業(yè),特別是軟件企業(yè)來說,源代碼往往是一家企業(yè)的核心競爭力所在。很多企業(yè),如微軟,至今還選擇將核心源代碼抓在自己手里,并依靠打擊盜版等方式實現(xiàn)更多的盈利。將源代碼開放出去本身就是一項重大挑戰(zhàn)。
即使金山衛(wèi)士號稱開放源代碼,但是其安全核心層出于安全的考慮,不對公眾開放,僅對核心開發(fā)者開放,以防止金山十幾年積累下來的病毒對抗技術(shù)被病毒作者利用。
不僅企業(yè)擔(dān)心自己的源代碼被黑客利用,在訪問托管代碼之時,也面臨病毒的安全威脅。當(dāng)用戶打開某個文件夾,可能病毒就悄然植入了。這些惡意代碼可能會損害甚至毀壞用戶的數(shù)據(jù).還可能竊取用戶隱私。
開源理念的核心是無需授權(quán),可以自由訪問,但是在這樣的前提下要做到絕對完全幾乎是不可能的。類似GitHub這樣的網(wǎng)站,必須對托管代碼進行嚴格的安全監(jiān)測,同時對于可能的不法訪問者進行限制。
代碼托管網(wǎng)站還非常容易受到黑客的攻擊。今年3月份,GitHub官方托管的Ruby on Rails代碼存儲庫和漏洞追蹤器被網(wǎng)站的一名用戶攻擊,該用戶的目的是向GitHub證實其安全上存有漏洞。GitHub用不到一小時的時間修復(fù)了該漏洞,并暫時停用了Homakov的賬號以作調(diào)查,同時不得不向用戶保證“對GitHub代碼庫展開一次全面審核,以確保不會再出現(xiàn)類似的漏洞”,同時還要“確保能有一種長期性的策略防止此類漏洞重演?!辈贿^GitHub的走火仍然呈現(xiàn)出另一種可能,即在嚴格的審核機制和健全的安全防護保障之下,代碼托管業(yè)務(wù)發(fā)展前景看好。
對于缺乏版權(quán)意識的中國開發(fā)者來說,代碼托管同樣是一種“偷懶”的好辦法。國內(nèi)的跟風(fēng)者已經(jīng)出現(xiàn),雖然還沒有做到GitHub這樣的規(guī)模.但這確實是一個機遇。