GitHub引起開源“平民化”變革
GitHub作為一個協作平臺已經逐漸成為國內外開源社區的首選,最近,開源社區的元老、Getable公司的首席技術官Mikeal撰文分析了GitHub帶來的開源變革,強調了平民化的重要性,并指出這種價值觀下誕生的軟件通常都易于客戶使用、不會過度“工程化”,并且支撐了較大的軟件生態系統。
Mikeal指出,在GitHub誕生之前,開源軟件并不如大家預期的那樣民主和平等:
事實并非如此,大多數開源軟件都有一些享有特權的一少部分開發人員來創建和維護的,這些人只是和同一級別的少數的圈內人打交道。
在GitHub出現以前,我會想盡辦法如何更好地管理和維護開源項目,因為這種開源項目的協作成本比較高。例如,當一個項目做的挺好,又發展到一個不小規模的社區時,我們就會發現,最好的辦法就是繼續維護臃腫的項目存在下去,而無法分拆成小范圍的子項目。隨之而來的問題是,項目變得越來越復雜,單個開發者很難對此作出想做的貢獻。所以,就像我剛才說的,只有一小部分人來專門管理和維護開源項目,這也導致在項目的實際使用者和維護者之間存在的信息鴻溝。 |
但GitHub的“平民化”模式讓這個問題得到了很好的解決,讓更多的開發者獲得了貢獻的機會和可能。原因在于:
GitHub的流程設計非常人性化。每個開發者都可以在GitHub上注冊自己的賬號,其中包括自己的所有資料。如果有人想修復某個項目,只需要執行Fork操作,即在自己的工作目錄下拷貝一個原項目副本,然后修改代碼即可。
這種工作流程非常強大:因為它鼓勵了個體開發者去對一個他人已創建的項目做修改,而他們對該項目的所有權和控制權絲毫不亞于一個由自己首先創建的項目。在這種新穎的開源文化下,所有開發者都能擁有自己的地位和肯定。而 GitHub 實際上也已經成為互聯網協作開發最大的服務商。 |
Mikeal自己做了十多年的開源項目貢獻者,但現在的開源文化跟當年的一個很大不同是——他不再是某個項目的“特定成員”——而僅僅是某個項目的使用者。使用者的一個很大特點就是,人人都可為項目貢獻“一份”自己的力量。在Mikeal消費、使用的各種各樣的小項目中,他會跟項目維護者有一些更具體的互動,而且保持一周幾次。 但更多的一種趨勢其實來自另一個方向:作為Mikeal自己的項目的發起者,現在他會收到很多陌生開發者發來的關于這些項目的代碼變更。
Mikeal認為GitHub 的第一版在一件事情上做得不錯:它讓個人開發者發布代碼變得比過去簡單很多。這也使得許多很有影響力的項目,比如說Ruby on Rails的項目,可以很快地遷移到GitHub上來。但接下來發生的事情實際更有趣:人們開始在GitHub上發布除源代碼以外的其他東西,幾乎無所不包……不夸張地說,在GitHub上發布代碼就變得跟發Twitter一樣簡單。通過降低用戶的進入門檻并讓用戶在開源項目中更方便地展開協作、貢獻力量,GitHub 將協作開發的范圍擴大到普通開發者。
GitHub模式下的開源軟件具備哪些優點呢?Mikeal認為主要有以下三點:
軟件更加易用
長期以來,開源軟件的一個主要問題是“見好就收”,相比許多同類商業軟件來說,開源軟件的文檔說明、網站設計和通用性都比較糟糕。
但是現在,隨著貢獻門檻的降低,技術水平不高的用戶可以在使用開源軟件的同時改善這些問題(這就意味著那些原本詭異的報錯消息現在變得越來越人性化,簡單修改一兩行CSS就會讓網頁在一些更老的瀏覽器和移動平臺上可用)。在新的開源軟件模式下,大家可以使用技術,而且不一定要成為專家。易用性永遠是最重要的。
避免過度“工程化”
工程師們總是樂于接受挑戰,要是能給他們更多的機會解決問題,他們就越有可能想到更完美的解決方案——假如這類解決方案的用戶跟這些工程師一樣,對技術有很好的掌握,又會像他們一樣因為有更聰明的方法解決老問題而感到興奮,那一切都沒問題。
但問題在于,業余愛好者只喜歡那些在他們眼中理所當然、顯而易見的解決方案,一旦某個問題已經得到解決,他們就很少會回過頭去重新審視這個問題。因為業余愛好者只會利用那些最顯而易見的解決方案做東西,這就迫使開發人員不得不去尋找簡單而接地氣的解決方案來解決難題。
支撐較大的軟件生態系統
以Mikeal自己經常參與的Node.js項目為例,Node.js定義了足夠簡單的模式,使得人人都可以編寫獨立的小型函數庫,并按自己的意愿發布。在這個生態系統中,每個人都可以利用其中的價值,無需協作。這就跟一些大型的、擁有大量工具和功能、需要在特定商業軟件環境下(比如說Cocoa )使用的軟件項目形成了鮮明對比。
在開源環境下,比如GitHub上的Node.js項目,我們就可以看到一些更低的API門檻,讓開發者能夠利用生態系統的其他價值。
Mikeal最后總結說:
GitHub讓新一代的開發者更加協作、更具創造性和生產力。許多開發者可能會懷念過去那種正式的開源小組或者委員會,但是新的開源模式已經到來,新一代的開源參與者已經發展壯大,讓我們擁抱這種全新的文化吧。 |
編后語:GitHub在國內開源、開發社區的影響力也日趨強大,許多國內技術專家或者互聯網公司在GitHub上都有自己的開源項目,包括代碼或者著作。甚至從某種程度上講,開源項目的參與度體現了一位開發人員的真正技術水平和協作能力。君不見,現在許多招聘條件上都寫著“參與開源項目者優先”等類似的語句。這種現象的出現恰恰說明國內技術社區對開源項目和開源參與者的重視和肯定。開源將成為一種身份的象征,你GitHub了嗎?
【編輯推薦】
【責任編輯:黃丹 TEL:(010)68476606】