天天看點

Github重定義開源軟體 代碼将成下一種語言?

10年前,雖然開源軟體尚未對科技行業造成翻天覆地的影響,但開源的linux系統已經運作在華爾街及其他行業大量的計算機上,免費代碼開始顯露出巨大的威力——創造巨大的價值以及經濟利益。但彼時開源社群規模尚小,如果有人想要開始一個新的開源項目,他們通常隻能在有限的工作條件下進行,有時不得不借助 一個稱之為sourceforge的網站的幫助。

Github重定義開源軟體 代碼将成下一種語言?

github:征服谷歌、微軟及其他巨頭的服務

克裡斯·戴博納(chris dibona)有着一頭長發,是谷歌的開源大師,他對此感到憂心忡忡,認為開源軟體在一個網站上過于集中可能會為整個行業帶來不可預知的風險。

是以,如同其他公司的做法一樣,谷歌建立了自己的開源軟體托管網站google code。公司在linux和其他開源軟體的基礎上構築了自己的線上帝國,而現在,其推出的google code讓開源社群有了更多的選擇。谷歌試圖讓開源可以持續發展下去。

然而,事情有了意料之外的變化,github橫空出世,并以極快的速度傳播和發展。

今 天,在google code推出10年之後,谷歌宣布将關閉該服務。這一決定并不讓人感到意外,在過去3年左右的時間裡,成千上萬的項目從其上轉移出去。造成google code黯然退場的主要原因是如今大多數開源項目都将代碼托管在github上,後者由一家舊金山初創公司開設。從google code轉移的項目中的絕大多數栖身于github。一些聲音認為,谷歌出于自私的目的建立了google code,公司想要控制一切,或者說,想要讓盡可能多的資料儲存在自家的機器上。最終,人們發現,github提供了更多的價值。github以一種更加 徹底的方式讓軟體開發過程民主化,在這一方面,其遠比sourceforge、google code或其他類似服務做得更好,而這是軟體開發世界裡人們最為看重的東西。

開發人員的樂園

推 出7年後,github擁有近9百萬注冊使用者,而每月另有大約2千萬未注冊使用者造訪該網站。依據網絡流量監測網站alexa的資料,github目前位列 全球最受歡迎的100個網站之一。對于一個通常隻有開發人員才使用的網站,這是驚人的數字。“如果你檢視前100名的網站,”github戰略副總裁布萊 恩·道爾(brian doll)說道。“絕大多數都是社交媒體類。”

具有諷刺意味的是,伴随着github的成功,開源世界反而回到了采 用中央資料庫的集中模式。但這一次,戴博納和大多數開發者都對此感到滿意。他們覺得采用集中制可以讓協作變得更加容易。得益于github獨特的運作方 式,集中制不會導緻sourceforge面臨的問題。

将所有代碼儲存于一處,反而讓github變得無處不在。上述悖論顯示了開源軟體之美,也展現了其對未來科技的重要性。

業界大佬的選擇

如 何解釋上述悖論?我們需要看看git,這是github的版本控制軟體。旨在更好的構築linux ,其建立者林納斯·托瓦茲(linus torvalds)于2005年建立了git。借助git,人們可以在相同的linux代碼上同時開展工作,無需擔心影響到其他人。

簡單來說,git讓每個人都可以下載下傳一份linux源代碼到自己的機器上并自由修改,然後上載至中央linux資料庫。這樣,每個人的改動都可以無縫整合。“這就是git厲害的地方,”戴博納說道。“而github的厲害之處是讓每個人都可以了解這種運作機制。”

github 讓所有軟體項目都能像linux項目一樣工作,普通的開發人員也極易上手。現在,包括谷歌、facebook、twitter甚至微軟在内的業界巨頭都将 自己的開源項目托管于github之上。近來,微軟陸續對旗下某些重要産品開源,他們選擇了github而非自家的開源站點codeplex來托管上述代 碼。

據微軟内部一位資深人士稱,雖然存在諸多選擇,但對于像microsoft .net這樣的項目來說,github是唯一适合的地方。

公私分明

得益于戴博納口中“git的厲害之處”,開發者社群可以與github保持距離。開發者不但可以下載下傳代碼至本地,而且可以任意決定代碼的公開範圍。git和github同樣可以用作專有軟體開發的目的。開發者随時可以決定代碼公開與否。

go作為谷歌新時代程式設計語言,在github上就處于完全公開的狀态。而一個稱之為kartes的項目則處于非公開狀态,但其會支援對應的公開項目kubernetes的發展。chrome浏覽器則完全處于谷歌非公開git服務的托管下。

在微軟也是同樣情形。公司内部通過visual studio和team foundation server來使用git,同時通過github分享代碼。在微軟的影響下,大約20%的公司客戶都在某種程度上使用git。

時至今日,軟體開發者社群的規模已不可同日而語。從github在全球網站的排名也可以看出,代碼正在變得與文字同等重要。

而随着項目涉及的開發者數目越來越多,github也正在考慮部署新的管理工具。例如,托管在github上的開源項目angular有數萬人參與其中。

目前有不計其數的免費代碼正托管于github上,它們最終将以更快的速度改變我們的世界。

繼續閱讀