本文轉(zhuǎn)自硅星人(ID:guixingren123)
作者:光譜
1999 年上線的 SourceForge,因?yàn)槊赓M(fèi)一度是世界上最受歡迎的開(kāi)源軟件代碼托管網(wǎng)站。然而 Google 擔(dān)心它一家獨(dú)大,上線了自家的代碼托管網(wǎng)站 Google Code。
2005 年,Linux 的締造者 Linus Torvalds 對(duì)現(xiàn)有的代碼托管工具效率不滿意,便自己做了一個(gè)名叫 Git 的版本控制工具。Git 頗具革命性,允許大量開(kāi)發(fā)者同時(shí)為源代碼貢獻(xiàn)新代碼,彼此間并不影響,最重要的在于它是開(kāi)源的。
三個(gè)來(lái)自舊金山的年輕人認(rèn)為 Git 的潛力巨大,在 2008 年正式推出了 GitHub,一個(gè)基于 Git 的代碼托管網(wǎng)站。他們沒(méi)想到,GitHub 后來(lái)?yè)魯×嗽?SourceForge 和背景強(qiáng)大的 Google Code,成為了全世界最受歡迎的代碼托管網(wǎng)站。
Google 的開(kāi)源代碼經(jīng)理 Chris DiBona 對(duì) GitHub 給予高度評(píng)價(jià):
2008 年 4 月 10 日,GitHub 正式上線。
今天,GitHub 終于10 歲了!
去年 5 月底,GitHub 完成了第 1 億個(gè) pull request(PR 合并請(qǐng)求)命令。截至今天,GitHub 上已經(jīng)擁有超過(guò) 8000 萬(wàn)個(gè) repo(代碼倉(cāng)庫(kù)),活躍用戶達(dá)到 2700 萬(wàn)人,超過(guò) 150 萬(wàn)家公司和機(jī)構(gòu)進(jìn)駐。
由于程序員群體里缺少女性,擁有高純度男性用戶的 GitHub,也被戲稱為全球最大的同性交友網(wǎng)站……
GitHub repo 按照語(yǔ)言劃分的男女用戶比例,最上面的綠色是確認(rèn)的女用戶(2014 年數(shù)據(jù))
“10 年前的今天,GitHub 正式上線。最一開(kāi)始,我們只有一個(gè)特別簡(jiǎn)單的目標(biāo):連接所有的開(kāi)發(fā)者,讓他們用 Git 更輕松地進(jìn)行項(xiàng)目協(xié)作,”聯(lián)合創(chuàng)始人 Chris Wanstrath 在博客里寫(xiě)道,“10 年過(guò)去了,我們作為公司,作為平臺(tái)都有了很大的變化,但 GitHub 存在的意義從未改變?!?/p>
作為對(duì)十周年的紀(jì)念,GitHub 團(tuán)隊(duì)并沒(méi)有選擇回顧公司歷史,而是整理了在他們眼中過(guò)去 10 年間的幾大里程碑事件。這很 GitHub——這份光榮,其實(shí)不止屬于平臺(tái)自己,更屬于那些為了讓這個(gè)世界變得更好,通過(guò) Git、GitHub,用 JS、Python 和各種語(yǔ)言貢獻(xiàn)代碼的人們。
以下,就是這些曾在計(jì)算機(jī)業(yè)界和 GitHub 的發(fā)展中創(chuàng)造歷史的事件。
20080403: Rails 轉(zhuǎn)移至 GitHub
Ruby on Rails (Rails),是一個(gè)用 Ruby 語(yǔ)言編寫(xiě)的開(kāi)源 web 應(yīng)用框架。它提高了開(kāi)發(fā)復(fù)雜網(wǎng)頁(yè)的效率,是計(jì)算機(jī)界最受歡迎的開(kāi)源項(xiàng)目之一。2008 年 4 月,Rails 做出了表率,將版本控制從 SVN 換成了 Git,并成為第一個(gè)進(jìn)駐 GitHub 的大型開(kāi)源項(xiàng)目。
當(dāng)時(shí),GitHub 還處在內(nèi)測(cè)階段,沒(méi)有正式上線。GitHub 本身就是用 Rails 寫(xiě)的,這件事為 GitHub 帶來(lái)了不小的影響力。
20090103:比特幣誕生
2009 年誕生后,比特幣于 2010 年正式開(kāi)源,并托管在了 GitHub 上。比特幣是世界上第一個(gè)去中心化的數(shù)字貨幣,它的誕生和開(kāi)源更是引發(fā)了一場(chǎng)同時(shí)波及金融和科技,甚至更多行業(yè)的革命。
至今,比特幣項(xiàng)目接受了超過(guò) 500 名用戶貢獻(xiàn)的代碼。比特幣的底層技術(shù)“區(qū)塊鏈”被廣泛視為下一個(gè)革命性的計(jì)算機(jī)技術(shù),比特幣項(xiàng)目已經(jīng)被 fork (代碼庫(kù)復(fù)制)逾 1.8 萬(wàn)次,大量的區(qū)塊鏈、數(shù)字貨幣項(xiàng)目在 GitHub 上開(kāi)源,其中很多都來(lái)自比特幣源代碼。
20090521:Node.js 發(fā)布
你可能聽(tīng)說(shuō)過(guò)網(wǎng)絡(luò)開(kāi)發(fā)分前端后端之說(shuō),前端管網(wǎng)頁(yè)呈現(xiàn),后端管數(shù)據(jù)輸出。然而這兩者不是孤立的,前端開(kāi)發(fā)也會(huì)涉及到確保后端數(shù)據(jù)能夠正確呈現(xiàn)出來(lái),所以大量采用 JavaScript (JS) 語(yǔ)言的前端人士需要學(xué)習(xí)后端 PHP、Ruby 之類的后端語(yǔ)言,很麻煩。
Node.js 的主要意義是讓前端用 JS 即可完成前端需要的大量開(kāi)發(fā)任務(wù),開(kāi)發(fā)適配多種操作系統(tǒng)的復(fù)雜服務(wù)器端應(yīng)用。簡(jiǎn)單來(lái)說(shuō),它同時(shí)把前端和后端工程師從各自不熟悉的領(lǐng)域內(nèi)解放了出來(lái)。2009 年 5 月底,Node.js 正式在 GitHub 上發(fā)布,收到了不少前端和后端人士的追捧,被認(rèn)為是未來(lái)趨勢(shì)。
2014 年,Node.js 主要貢獻(xiàn)者對(duì)這個(gè)項(xiàng)目的官方管理公司不滿,于是自立門(mén)戶,fork 原版代碼做了一個(gè)社區(qū)驅(qū)動(dòng)而不是公司化運(yùn)營(yíng)的替代品,名叫 io.js。這個(gè)項(xiàng)目一度比 Node.js 更受歡迎,但后來(lái) Node.js 在開(kāi)源治理上有了改善,兩個(gè)項(xiàng)目再次合并。
在整個(gè)過(guò)程中,GitHub 的開(kāi)放機(jī)制確保了社區(qū)擁有自主權(quán)力,不必服從于開(kāi)源項(xiàng)目的所有者。在必要的時(shí)候,fork 是一種力量,也是一種態(tài)度。
20101126:Rails Girls 第一次線下聚會(huì)
2010 年,一群用 Rails 做開(kāi)發(fā)的女程序員在芬蘭赫爾辛基舉辦了第一次線下聚會(huì)。
三年后,他們專為女性和 LGBTQ 人士開(kāi)設(shè)了一個(gè)夏令營(yíng) Rails Girls Summer of Code。這個(gè)開(kāi)源培訓(xùn)項(xiàng)目幫助開(kāi)源社區(qū)改善了性別多樣性,為解決女性在科技行業(yè)內(nèi)受到的結(jié)構(gòu)性歧視做出了貢獻(xiàn)。
20110101:Travis CI 持續(xù)集成的第一個(gè) PR
持續(xù)集成 (CI) 從像 GitHub 這樣的代碼庫(kù)里按照頻率提取最新的代碼,自動(dòng)構(gòu)建項(xiàng)目并進(jìn)行測(cè)試。持續(xù)集成并不能消除 bug,而是讓它們非常容易發(fā)現(xiàn)和改正。比如下面這個(gè) build passing 就是持續(xù)集成工具顯示的,它的大概意思是當(dāng)前版本測(cè)試通過(guò),沒(méi)有出現(xiàn) bug。
而 Travis CI 是最受歡迎的,開(kāi)源的持續(xù)集成工具。2011 年元旦那天,它完成了第一個(gè) PR。Travis CI 和 GitHub 的整合,讓代碼投入生產(chǎn)環(huán)境的整個(gè)過(guò)程變得更高效了
20120101:JS 成為 GitHub 第一大語(yǔ)言
最一開(kāi)始是一種網(wǎng)頁(yè)腳本語(yǔ)言,JS 和 HTML、CSS 并列網(wǎng)頁(yè)開(kāi)發(fā)三大語(yǔ)言。被 JS 坑過(guò)的程序員經(jīng)常諷刺它是一種不完整的語(yǔ)言,有一個(gè)很古老的段子:寫(xiě) C 的看不起寫(xiě) C 的,寫(xiě) C 的看不寫(xiě) Java 的,寫(xiě) Java 的看不起寫(xiě) JS 的,寫(xiě) JS 的看不起美工,周末大家都在加班,美工帶著女朋友旅游去了。
然而編程語(yǔ)言的鄙視鏈,總是和受歡迎程度相反。從 2012 年開(kāi)始,JS 超越了 Ruby、Java 和 Python,成為了 GitHub 上最受歡迎的語(yǔ)言,直至今天仍霸占王座。
2013:GitHub 用戶破百萬(wàn)
開(kāi)源社區(qū)的發(fā)展使 GitHub 獲得了驚人的增速,在用戶數(shù)和 repo 數(shù)上實(shí)現(xiàn)了兩座里程碑:2013 年,用戶數(shù)突破了 100 萬(wàn);同年 12 月,GitHub 的 repo 總數(shù)超過(guò)了 1000 萬(wàn),其中超過(guò)一半是當(dāng)年創(chuàng)建的,僅 11 月就增加了 100 萬(wàn)個(gè)。
別光看數(shù)字多,這一年里增加的 repo 質(zhì)量也很不錯(cuò):白宮的 Project Open Data、Docker 等等。亞馬遜 AWS、Facebook、Google、微軟、Twitter、NETflix 等知名公司也上傳了自家的項(xiàng)目。
20140609:Docker 1.0 發(fā)布
被視為革命性技術(shù)的開(kāi)源容器引擎 Docker,2013 年在 GitHub 上創(chuàng)建了 repo,一年時(shí)間里下載量超過(guò) 275 萬(wàn)份。2014 年,Docker 1.0 終于正式發(fā)布了。
像 Docker 和 Kubernetes (K8S) 這樣的開(kāi)源項(xiàng)目開(kāi)啟了一場(chǎng)容器化運(yùn)動(dòng)。開(kāi)發(fā)、投產(chǎn)和運(yùn)維的難度降低,小型公司不再需要花費(fèi)精力在基礎(chǔ)架構(gòu)上,可以更專注于核心業(yè)務(wù)開(kāi)發(fā)。
20140721:Django Girls 第一次線下聚會(huì)
交友平臺(tái)不是開(kāi)玩笑……GitHub 的程序員社交特性使得很多開(kāi)發(fā)者通過(guò)它實(shí)現(xiàn)了線下聚會(huì)。它讓程序員們更容易結(jié)識(shí)彼此,而這對(duì)于女生尤為重要。
2014 年德國(guó)柏林,Django 女性開(kāi)發(fā)者第一次在線下舉辦聚會(huì),她們的組織仍在為改善性別多樣性而努力著。
20140723:微軟開(kāi)源 .NET
雖然隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,沒(méi)跟上時(shí)代的 .NET 已經(jīng)走向衰落,微軟向開(kāi)源社區(qū)示好,仍然被視為開(kāi)源業(yè)界的一個(gè)歷史性事件。微軟創(chuàng)立了一個(gè)開(kāi)源行動(dòng),然后把所有的開(kāi)源代碼包括 .NET 都在 GitHub 上開(kāi)源。數(shù)千名工程師也讓微軟成為了 GitHub 上最為活躍的公司。
.NET 的開(kāi)源帶起了一波節(jié)奏,隨后越來(lái)越多的大公司遷移到了 GitHub,放棄了自己的代碼托管網(wǎng)站或過(guò)時(shí)的代碼庫(kù)。
2015:虛幻引擎 4 免費(fèi)和大量游戲相關(guān)開(kāi)源
2015 年 3 月 2 日,虛幻引擎 4 完全免費(fèi)了。Epic Games 放出了百分之百的 C 原始代碼,雖然獨(dú)立開(kāi)發(fā)者想要開(kāi)發(fā) AAA 級(jí)別大作還是需要資金,但至少現(xiàn)在他們手上的虛幻引擎 4 和大廠手里的沒(méi)有任何區(qū)別。
Epic Games 對(duì)社區(qū)的恩惠得到了報(bào)答。在虛幻引擎最近一次 4.19 版本發(fā)布,包含了 128 個(gè)來(lái)自社區(qū)的貢獻(xiàn)。
除了虛幻引擎,還有不少游戲引擎、庫(kù)和游戲代碼在 2015 年上了 GitHub,比如《毀滅戰(zhàn)士》和《波斯王子》。最有趣的應(yīng)該是 2048,它的開(kāi)源帶來(lái)了上百款類似的消除游戲……總的來(lái)說(shuō)是件好事。
20150922:GitHub Classroom 發(fā)布
除了工業(yè)界,學(xué)術(shù)界,包括大學(xué)和高中也可以利用 GitHub 進(jìn)行教育了。GitHub Classroom 改進(jìn)了編程課代碼管理、分發(fā)和作業(yè)收集。看上去是在做慈善,其實(shí)此舉很聰明:GitHub 普及要從娃娃抓起,盡管它已經(jīng)碾壓了其它一切競(jìng)爭(zhēng)對(duì)手。
20151203:蘋(píng)果開(kāi)源 Swift
蘋(píng)果的新編程語(yǔ)言 Swift 具有函數(shù)式編程和面向?qū)ο缶幊痰闹T多特性,也兼容蘋(píng)果平臺(tái)之前的開(kāi)發(fā)語(yǔ)言 C、Objective-C,也是一個(gè)強(qiáng)類型語(yǔ)言而非腳本語(yǔ)言,也很注重安全性……對(duì)于蘋(píng)果開(kāi)發(fā)者而言,Swift 是件大好事,而有什么比 Swift 開(kāi)源更讓人大快人心呢?
如果說(shuō)微軟帶起了一波節(jié)奏,那么蘋(píng)果 Swift 編程語(yǔ)言的開(kāi)源才真的讓其它科技公司都信服。老大哥都開(kāi)源了,我們還有什么理由不跟隨呢?
20160709:阿波羅 11 號(hào)代碼開(kāi)源
60 年代的程序員也有幽默感,不信就去 GitHub 上看看阿波羅 11 號(hào)的代碼。比如這個(gè):臨時(shí)代碼一直用到了月球上。
你可能會(huì)感興趣,50 年前的程序員和代碼是什么樣的?隆重向你介紹阿波羅 11 號(hào)計(jì)算機(jī)系統(tǒng)工程師,MIT 的 Margaret Hamilton:
阿波羅 11 號(hào)代碼開(kāi)源地址:https://github.com/chrislgarry/Apollo-11
2017:Python 進(jìn)駐 GitHub
Python 因數(shù)據(jù)科學(xué)和深度學(xué)習(xí)的爆發(fā)重新開(kāi)始受到關(guān)注,在 2015 年它成為了 GitHub 上第三受歡迎的語(yǔ)言,2017 年升至第二。當(dāng)各大公司和人工智能專家開(kāi)始倡導(dǎo)“人工智能普及化”(democratize AI) 時(shí),Python 也終于來(lái)到了 GitHub。
這使得 Python 在 GitHub 上的流行越發(fā)勢(shì)不可擋,使用 Python 語(yǔ)言的新 repo 數(shù)量,環(huán)比增長(zhǎng)達(dá)到了 70%。
20170215:TensorFlow 1.0 發(fā)布
革命性的深度學(xué)習(xí)庫(kù),就連非專業(yè)人士都聽(tīng)說(shuō)過(guò) TF——主要可能因?yàn)?AlphaGo 擊敗了李世乭和柯潔。2016 年,TensorFlow 成為了整個(gè) GitHub 上 fork 最多的項(xiàng)目。
除了 TF,Caffe2、DeepSpeech 等大量深度學(xué)習(xí)工具也都相繼開(kāi)源。使用這些工具,研究者可以創(chuàng)建面向不同領(lǐng)域的深度學(xué)習(xí)模型,包括并不限于電子游戲、弈類游戲、音樂(lè)、繪畫(huà)、醫(yī)療、金融等等,帶來(lái)新的技術(shù)范式和商業(yè)模式,顯著改善人們的生活。
20180410:十周年,再出發(fā)
在 2017 年,用戶提交了超過(guò) 2.9 萬(wàn)億條代碼,GitHub 也合并的 PR 終于突破了 1 億。2018 年,GitHub 用戶總量達(dá)到 2700 萬(wàn),項(xiàng)目總數(shù)超過(guò)了 8000 萬(wàn)。
人工智能、區(qū)塊鏈、量子計(jì)算……許多全新的計(jì)算機(jī)技術(shù)和全新的計(jì)算范式已經(jīng)或正在趕來(lái),代碼和數(shù)據(jù)在某種程度上已經(jīng)取代了石油,成為了人類的新血液。
在這樣的大背景下,GitHub 太重要了,但它也面臨著和 10 年前 SourceForge 等前輩相同的命運(yùn):全世界的開(kāi)源代碼都在這里,過(guò)度的中心化會(huì)否增加風(fēng)險(xiǎn)?在享受 GitHub 帶來(lái)便利的同時(shí),越來(lái)越多人都會(huì)多一個(gè)心眼——代碼上傳之后,本地還是不要 rm 留個(gè)底吧。
最后,給一些 GitHub 整理的資料。首先,按照 PR 統(tǒng)計(jì)的受歡迎語(yǔ)言,JS、Python、Java、Ruby、PHP:
熱門(mén)關(guān)鍵字,機(jī)器學(xué)習(xí)、游戲、iOS、API、博客、網(wǎng)站、深度學(xué)習(xí)、Ardiono:
fork 最多的項(xiàng)目,TF、Bootstrap、gitignore;貢獻(xiàn)者最多的項(xiàng)目,VSCode、React Native、NPM:
review 最多的項(xiàng)目,DefinitelyTyped、K8S、Homebrew;討論最多的 repo,K8S、Origin、CMSSW
注冊(cè)用戶最多的國(guó)家:中國(guó)排第二
內(nèi)容已獲獨(dú)家授權(quán),如需轉(zhuǎn)載請(qǐng)聯(lián)系硅星人(ID:guixingren123)。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。