全球最大“同性交友”網站已經10歲了!_風聞
000000000000-不以美貌动天下,但以风骚惊世人 的番老板2018-04-12 11:09
本文來源:微信公眾號 硅星人 作者:光譜
1999 年上線的 SourceForge,因為免費一度是世界上最受歡迎的開源軟件代碼託管網站。然而 Google 擔心它一家獨大,上線了自家的代碼託管網站 Google Code。
2005 年,Linux 的締造者 Linus Torvalds 對現有的代碼託管工具效率不滿意,便自己做了一個名叫 Git 的版本控制工具。Git 頗具革命性,允許大量開發者同時為源代碼貢獻新代碼,彼此間並不影響,最重要的在於它是開源的。
三個來自舊金山的年輕人認為 Git 的潛力巨大,在 2008 年正式推出了 GitHub,一個基於 Git 的代碼託管網站。他們沒想到,GitHub 後來擊敗了元老 SourceForge 和背景強大的 Google Code,成為了全世界最受歡迎的代碼託管網站。
Google 的開源代碼經理 Chris DiBona 對 GitHub 給予高度評價:

2008 年 4 月 10 日,GitHub 正式上線。

如今,GitHub 終於10 歲了!

去年 5 月底,GitHub 完成了第 1 億個 pull request(PR 合併請求)命令。截至今天,GitHub 上已經擁有超過 8000 萬個 repo(代碼倉庫),活躍用户達到 2700 萬人,超過 150 萬家公司和機構進駐。
由於程序員羣體裏缺少女性,擁有高純度男性用户的 GitHub,也被戲稱為全球最大的同性交友網站……

GitHub repo 按照語言劃分的男女用户比例,最上面的綠色是確認的女用户(2014 年數據)
“10 年前的今天,GitHub 正式上線。最一開始,我們只有一個特別簡單的目標:連接所有的開發者,讓他們用 Git 更輕鬆地進行項目協作,”聯合創始人 Chris Wanstrath 在博客裏寫道,“10 年過去了,我們作為公司,作為平台都有了很大的變化,但 GitHub 存在的意義從未改變。”
作為對十週年的紀念,GitHub 團隊並沒有選擇回顧公司歷史,而是整理了在他們眼中過去 10 年間的幾大里程碑事件。這很 GitHub——這份光榮,其實不止屬於平台自己,更屬於那些為了讓這個世界變得更好,通過 Git、GitHub,用 JS、Python 和各種語言貢獻代碼的人們。
以下,就是這些曾在計算機業界和 GitHub 的發展中創造歷史的事件。
2008.04.03: Rails 轉移至 GitHub
Ruby on Rails (Rails),是一個用 Ruby 語言編寫的開源 web 應用框架。它提高了開發複雜網頁的效率,是計算機界最受歡迎的開源項目之一。2008 年 4 月,Rails 做出了表率,將版本控制從 SVN 換成了 Git,併成為第一個進駐 GitHub 的大型開源項目。

當時,GitHub 還處在內測階段,沒有正式上線。GitHub 本身就是用 Rails 寫的,這件事為 GitHub 帶來了不小的影響力。
2009.01.03:比特幣誕生
2009 年誕生後,比特幣於 2010 年正式開源,並託管在了 GitHub 上。比特幣是世界上第一個去中心化的數字貨幣,它的誕生和開源更是引發了一場同時波及金融和科技,甚至更多行業的革命。

至今,比特幣項目接受了超過 500 名用户貢獻的代碼。比特幣的底層技術“區塊鏈”被廣泛視為下一個革命性的計算機技術,比特幣項目已經被 fork (代碼庫複製)逾 1.8 萬次,大量的區塊鏈、數字貨幣項目在 GitHub 上開源,其中很多都來自比特幣源代碼。
2009.05.21:Node.js 發佈
你可能聽説過網絡開發分前端後端之説,前端管網頁呈現,後端管數據輸出。然而這兩者不是孤立的,前端開發也會涉及到確保後端數據能夠正確呈現出來,所以大量採用 JavaScript (JS) 語言的前端人士需要學習後端 PHP、Ruby 之類的後端語言,很麻煩。
Node.js 的主要意義是讓前端用 JS 即可完成前端需要的大量開發任務,開發適配多種操作系統的複雜服務器端應用。簡單來説,它同時把前端和後端工程師從各自不熟悉的領域內解放了出來。2009 年 5 月底,Node.js 正式在 GitHub 上發佈,收到了不少前端和後端人士的追捧,被認為是未來趨勢。

2014 年,Node.js 主要貢獻者對這個項目的官方管理公司不滿,於是自立門户,fork 原版代碼做了一個社區驅動而不是公司化運營的替代品,名叫 io.js。這個項目一度比 Node.js 更受歡迎,但後來 Node.js 在開源治理上有了改善,兩個項目再次合併。
在整個過程中,GitHub 的開放機制確保了社區擁有自主權力,不必服從於開源項目的所有者。在必要的時候,fork 是一種力量,也是一種態度。
2010.11.26:Rails Girls 第一次線下聚會
2010 年,一羣用 Rails 做開發的女程序員在芬蘭赫爾辛基舉辦了第一次線下聚會。

三年後,他們專為女性和 LGBTQ 人士開設了一個夏令營 Rails Girls Summer of Code。這個開源培訓項目幫助開源社區改善了性別多樣性,為解決女性在科技行業內受到的結構性歧視做出了貢獻。
2011.01.01:Travis CI 持續集成的第一個 PR
持續集成 (CI) 從像 GitHub 這樣的代碼庫裏按照頻率提取最新的代碼,自動構建項目並進行測試。持續集成並不能消除 bug,而是讓它們非常容易發現和改正。比如下面這個 build passing 就是持續集成工具顯示的,它的大概意思是當前版本測試通過,沒有出現 bug。

而 Travis CI 是最受歡迎的,開源的持續集成工具。2011 年元旦那天,它完成了第一個 PR。Travis CI 和 GitHub 的整合,讓代碼投入生產環境的整個過程變得更高效了
2012.01.01:JS 成為 GitHub 第一大語言
最一開始是一種網頁腳本語言,JS 和 HTML、CSS 並列網頁開發三大語言。被 JS 坑過的程序員經常諷刺它是一種不完整的語言,有一個很古老的段子:寫 C 的看不起寫 C++ 的,寫 C++ 的看不寫 Java 的,寫 Java 的看不起寫 JS 的,寫 JS 的看不起美工,週末大家都在加班,美工帶着女朋友旅遊去了。

然而編程語言的鄙視鏈,總是和受歡迎程度相反。從 2012 年開始,JS 超越了 Ruby、Java 和 Python,成為了 GitHub 上最受歡迎的語言,直至今天仍霸佔王座。
2013:GitHub 用户破百萬
開源社區的發展使 GitHub 獲得了驚人的增速,在用户數和 repo 數上實現了兩座里程碑:2013 年,用户數突破了 100 萬;同年 12 月,GitHub 的 repo 總數超過了 1000 萬,其中超過一半是當年創建的,僅 11 月就增加了 100 萬個。
別光看數字多,這一年裏增加的 repo 質量也很不錯:白宮的 Project Open Data、Docker 等等。亞馬遜 AWS、Facebook、Google、微軟、Twitter、Netflix 等知名公司也上傳了自家的項目。
2014.06.09:Docker 1.0 發佈
被視為革命性技術的開源容器引擎 Docker,2013 年在 GitHub 上創建了 repo,一年時間裏下載量超過 275 萬份。2014 年,Docker 1.0 終於正式發佈了。

像 Docker 和 Kubernetes (K8S) 這樣的開源項目開啓了一場容器化運動。開發、投產和運維的難度降低,小型公司不再需要花費精力在基礎架構上,可以更專注於核心業務開發。
2014.07.21:Django Girls 第一次線下聚會
交友平台不是開玩笑……GitHub 的程序員社交特性使得很多開發者通過它實現了線下聚會。它讓程序員們更容易結識彼此,而這對於女生尤為重要。

2014 年德國柏林,Django 女性開發者第一次在線下舉辦聚會,她們的組織仍在為改善性別多樣性而努力着。
2014.07.23:微軟開源 .NET
雖然隨着移動互聯網的快速發展,沒跟上時代的 .NET 已經走向衰落,微軟向開源社區示好,仍然被視為開源業界的一個歷史性事件。微軟創立了一個開源行動,然後把所有的開源代碼包括 .NET 都在 GitHub 上開源。數千名工程師也讓微軟成為了 GitHub 上最為活躍的公司。

.NET 的開源帶起了一波節奏,隨後越來越多的大公司遷移到了 GitHub,放棄了自己的代碼託管網站或過時的代碼庫。
2015:虛幻引擎 4 免費和大量遊戲相關開源
2015 年 3 月 2 日,虛幻引擎 4 完全免費了。Epic Games 放出了百分之百的 C++ 原始代碼,雖然獨立開發者想要開發 AAA 級別大作還是需要資金,但至少現在他們手上的虛幻引擎 4 和大廠手裏的沒有任何區別。

Epic Games 對社區的恩惠得到了報答。在虛幻引擎最近一次 4.19 版本發佈,包含了 128 個來自社區的貢獻。
除了虛幻引擎,還有不少遊戲引擎、庫和遊戲代碼在 2015 年上了 GitHub,比如《毀滅戰士》和《波斯王子》。最有趣的應該是 2048,它的開源帶來了上百款類似的消除遊戲……總的來説是件好事。
2015.09.22:GitHub Classroom 發佈
除了工業界,學術界,包括大學和高中也可以利用 GitHub 進行教育了。GitHub Classroom 改進了編程課代碼管理、分發和作業收集。看上去是在做慈善,其實此舉很聰明:GitHub 普及要從娃娃抓起,儘管它已經碾壓了其它一切競爭對手。
2015.12.03:蘋果開源 Swift
蘋果的新編程語言 Swift 具有函數式編程和麪向對象編程的諸多特性,也兼容蘋果平台之前的開發語言 C、Objective-C,也是一個強類型語言而非腳本語言,也很注重安全性……對於蘋果開發者而言,Swift 是件大好事,而有什麼比 Swift 開源更讓人大快人心呢?

如果説微軟帶起了一波節奏,那麼蘋果 Swift 編程語言的開源才真的讓其它科技公司都信服。老大哥都開源了,我們還有什麼理由不跟隨呢?
2016.07.09:阿波羅 11 號代碼開源
60 年代的程序員也有幽默感,不信就去 GitHub 上看看阿波羅 11 號的代碼。比如這個:臨時代碼一直用到了月球上。

你可能會感興趣,50 年前的程序員和代碼是什麼樣的?隆重向你介紹阿波羅 11 號計算機系統工程師,MIT 的 Margaret Hamilton:

阿波羅 11 號代碼開源地址:https://github.com/chrislgarry/Apollo-11
2017:Python 進駐 GitHub
Python 因數據科學和深度學習的爆發重新開始受到關注,在 2015 年它成為了 GitHub 上第三受歡迎的語言,2017 年升至第二。當各大公司和人工智能專家開始倡導“人工智能普及化”(democratize AI) 時,Python 也終於來到了 GitHub。

這使得 Python 在 GitHub 上的流行越發勢不可擋,使用 Python 語言的新 repo 數量,環比增長達到了 70%。
2017.02.15:TensorFlow 1.0 發佈
革命性的深度學習庫,就連非專業人士都聽説過 TF——主要可能因為 AlphaGo 擊敗了李世乭和柯潔。2016 年,TensorFlow 成為了整個 GitHub 上 fork 最多的項目。

除了 TF,Caffe2、DeepSpeech 等大量深度學習工具也都相繼開源。使用這些工具,研究者可以創建面向不同領域的深度學習模型,包括並不限於電子遊戲、弈類遊戲、音樂、繪畫、醫療、金融等等,帶來新的技術範式和商業模式,顯著改善人們的生活。
2018.04.10:十週年,再出發
在 2017 年,用户提交了超過 2.9 萬億條代碼,GitHub 也合併的 PR 終於突破了 1 億。2018 年,GitHub 用户總量達到 2700 萬,項目總數超過了 8000 萬。
人工智能、區塊鏈、量子計算……許多全新的計算機技術和全新的計算範式已經或正在趕來,代碼和數據在某種程度上已經取代了石油,成為了人類的新血液。
在這樣的大背景下,GitHub 太重要了,但它也面臨着和 10 年前 SourceForge 等前輩相同的命運:全世界的開源代碼都在這裏,過度的中心化會否增加風險?在享受 GitHub 帶來便利的同時,越來越多人都會多一個心眼——代碼上傳之後,本地還是不要 rm 留個底吧。
最後,給一些 GitHub 整理的資料。首先,按照 PR 統計的受歡迎語言,JS、Python、Java、Ruby、PHP:

熱門關鍵字,機器學習、遊戲、iOS、API、博客、網站、深度學習、Ardiono:

fork 最多的項目,TF、Bootstrap、gitignore;貢獻者最多的項目,VSCode、React Native、NPM:

review 最多的項目,DefinitelyTyped、K8S、Homebrew;討論最多的 repo,K8S、Origin、CMSSW

註冊用户最多的國家:中國排第二
