GitHub時代:為什么我們都在開源
Mikeal Rogers是Getable的CTO以及NodeConf的負責人,日前,他撰文稱,我們正在進入GitHub時代,新一代的人們正在塑造一個全新的開源文化。
以下為文章全文:
GitHub的本意是旨在成為一種開放的軟件協作平臺,但它目前已成為一個巨大的綜合性的平臺,其作用遠遠超過單純地開源代碼。它現在在藝術家、建筑商、業主等許多領域使用。
芝加哥市最近宣布:“當建立新的自行車道時,當道路正在施工時,當興建新的建筑時,任何人都可以更改數據。”人們在GitHub上管理家庭裝修項目。去年,甚至有人在GitHub上公開了德國的所有法律。當然,GitHub仍然主要被程序員和開發人員所使用。
隨著曾經的用戶轉變為生產者,他們正在重新塑造開源的文化。
不會集中革命
當大多數人聽到“開源”,他們認為它是民主的、分布式的、平等的:每個人建設的東西放在一起,供其他人使用。
但是,實際上并沒有這樣。大多數開源軟件已經被專業開發人員創建和維護,他們與其他很像他們的開發人員互動。
在GitHub之前,我花了很多時間思考和討論管理開源項目的最佳方式,因為協調一個開源項目的成本是很重要的。事實上,當一個項目做的很好,并且增長成為一個足夠大的社區時,項目比分裂成小項目成長更有意義。但一個軟件項目越大和越復雜,越難以做出貢獻。所以,各種各樣的成員的任務都是管理和生產項目,這往往導致一個項目之間生產和消費的裂痕。
GitHub通過更分散的開源解決這個問題。
使用GitHub的工作流程是非常個人的。開發人員和設計人員直接對他們所開發的內容負責,只要他們已經準備好了就可以隨時發布。
這個工作流程很有用:它鼓勵個人解決問題。這也給所有用戶提供了一個新的開源文化的認同;GitHub實際上是互聯網上對等生產的頭號身份供應商。
我參與開源項目已超過10年,但不同的是,我不是這些項目的“會員”——我只是一個“用戶”,一個貢獻很小的用戶。我和項目維護者之間僅在我使用的各種小項目上,每周發生有限的幾次交流。
甚至更多的時候,它發生為另一種情況:我從未看過有人給我已經發布的小項目發送任何代碼。
民主的權利下放
GitHub的第一個版本做了一件很好的事:他們使你的代碼更容易被發布。這對于許多重大項目來說足夠了,包括Ruby on Rails,幾乎可以立即移動到GitHub上。
但接下來發生的事情更有趣:人們開始在GitHub上發布一切。推送代碼變得幾乎成為了例行程序,就像發微博。通過降低進入壁壘,使其更容易協調和促進開源,GitHub對普通用戶擴大了對等生產。
今天,一個巨大前景是,簡單易懂的軟件都可以被過去沒有必要的深度技術知識參與大型開源項目階層的人所訪問。
這種生產者、貢獻者、消費者之間的模糊關系自然值更小、項目更容易理解。例如,在2012年9月,GitHub上推動“變更集合”活躍用戶中,有半數的人只推送不到5個變更集合,有22%(約44000人)每月只推送一個單一的變更。
這個業余化的開源軟件有一些明顯的好處。
使事情變得更容易使用
開源軟件的一個長期問題是完美兼容。糟糕的文檔、網站設計和可用性一般來說一直表現不佳,尤其是與許多專有同行相比。
但現在,隨著貢獻門檻的降低,非技術用戶看到這些領域是容易提高他們依賴軟件的地方。(這意味著神秘的錯誤消息這樣的小事件得到更多的人性化解決,并且微小的一行CSS的變化,就可讓網站正確的呈現在古老的瀏覽器和手機上)。
在新的開源時代,人們希望使用技術而不必成為這方面的一個專家。易用性比以往更受重視。
防止過渡設計
工程師喜歡尋找更多的方法來解決問題,以及更聰明的解決方案。當這些解決方案的消費者與工程師志同道合時,這也是挺好的,他們很高興用巧妙的方法來解決老問題。
但業余愛好者不一樣,他們對于解決方案的看法是:一旦一個問題解決了,他們將很少回頭重新審視它。并且因為業余愛好者只能構建最理解的解決方案,它迫使開發人員創建簡單的解決方案,使困難的問題很容易理解。
支持更廣泛的生態系統
在Node.js,我積極參與,定義了足夠的簡單模式,人們可以編寫獨立的小庫并隨意進行推送。每個在生態系統中貢獻的人都可以使用這個值,不用任何協調。這是完全相反的大型垂直堆棧,其有著大量的工具和功能(如像ember, Dojo, and YUI那樣的集成插件系統),這是在專有的環境中取得成功所需要的。
但在開放的環境中,如GitHub上的Node.js,我們看到更小的API尺寸,可以輕松利用生態系統中值的其余部分,而不用協調(例如回調在jQuery上的API或節點的標準回調模式)。開發人員與庫之間的協調越少,我們可以創造的價值越大。
GitHub已經被新一代的人們授權進行協作、創造和生產。很多開發人員將對傳統的文化規范的丟失表示哀嘆,但未來已經掌握在新一代手中,并且已經在進行改變。
這不僅僅是一個工具:我們正在見證一個新文化的誕生。