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