GitHub一代 我們都是開源控

2022-01-21 07:53:57 字數 3208 閱讀 4038

我們是新的github一代?github塑造了新式開源文化?嗯,看看十幾年開源控、getable cto mikeal rogers 是怎麼說的吧:

github本來想做乙個開源軟體協作平台,結果做著做著就成了乙個相容幷包、不僅僅是照顧程式設計師的平台。現在,這個平台也成了各類藝術家、建築生產商、各大公司、甚至各大城市使用的平台。

例如,芝加哥市前陣子就宣布了一項公告:「假如本市出現新的自行車道、公路或建築物,那麼人人都可修改github上的資料。」另外,有些人則將家裝專案放到了github上,有家律師事務所也在前幾天宣布,他們會將早期創業公司的融資相關法律檔案全放到上面——而在去年,另有乙個神人甚至將整個德國的法律全搬到了github上。當然了,github現在依然是那些用node.js做ar無人機、或者是用jquery做**的程式設計師光顧的地方。

去中心化的一場革命

大部分人聽到開源的第一反應是「民主、分散、和平等」,想到所有人一起做東西,做出來給所有人用。

但實際情況並非如此。大部分的開源軟體都是由那些享有一定特權的一小撮人建立並維護的——即專業的開發人員,而這些人又只會跟同個圈子、同個水平的一幫人互動(後者與前者儘管很像,但又足夠不同到可持相異觀點供雙方爭論)。

在github出來以前,我會花很多時間去思考、討論如何最好地管理開源專案,因為這類專案的協同成本太高了。這個成本高到什麼程度呢?當乙個專案做得不錯,又發展成乙個規模不小的社群時,我們發現,最好的辦法是讓專案繼續龐大臃腫下去,而不是拆分成規模更小的專案。但這裡面就會有這樣乙個問題,專案變得越大越複雜,個體就越難對其作出貢獻。所以就不得不有特定的一群會員,或者說所謂的「委員會成員」,被任命專門管理和生產專案,這也經常導致專案實際的消費人群和專案創作者之間的資訊裂縫和資訊斷層。

但github的「去中心化」開源模式則讓這種裂縫漸漸彌合,讓開源不再聚焦「專案」本身,而是越發彰顯個體特色。此話怎講?

github上的整個工作流程設計相當個人化。每個github使用者都有乙個自己的賬號,而他們發布的所有資料都會隸屬於這個層級以下。假如某些人需要對某個專案做出修復,他們只要「fork」(將專案分叉),即在自己的名下拷貝乙個原專案的副本,進行相應的加工即可。

這種工作流程是非常強大的:因為它鼓勵了個體使用者去對乙個他人已建立的專案做修修補補,而他們對該項目的所有權和控制權絲毫不亞於乙個由自己最先建立的專案。在這種新式的開源文化下,所有使用者都能擁有自己的身份和定位。而github實際上也已經成為網際網路上協作式內容生產(peer-based production)最大的身份提供商,不僅僅是在**方面。

我自己就做了十多年的開源專案貢獻者,但現在的開源文化跟當年的乙個很大不同是——我不再是某個專案的「會員」——而僅僅是某個專案的使用者。使用者的乙個很大特點就是,人人都可為專案貢獻「一點點」自己的力量。在我消費、使用的各種各樣的小專案中,我就會跟專案維護者有一些更小層面的互動,而且保持一周幾次。

但更大的一種趨勢其實來自另乙個方向:作為我自己的專案的發起者,現在我會收到有很多聞所未聞的人發來的關於這些專案的小**。

民主公升起在「去中心化」

github的第一版在一件事情上做得很好:他們讓個體發布**——而非雪藏**——變得比過去簡單很多。這也使得很多很有影響力的專案,比如說ruby on rails的專案,可以很快地遷移到github上來。

但接下來發生的事情實際更有趣:人們開始在github上發布除**以外的其他東西,幾乎無所不包...不誇張地說,在github上推**就變得跟發微博一樣簡單。通過降低使用者的進入成本、並讓使用者在開源專案中更方便地展開協作、貢獻力量,github將「協作式生產」(peer production)的範圍擴大到普通使用者。

所以,github式的開源文化降低了所有人的「創造門檻」——今天,對於那些富有創造力但又不具備深度技術知識的人來說,他們可以使用各類簡單又易於理解的軟體實現創意。而在過去,他們必須、而且只能具備深度的技術知識以參與到大型開源專案中。

而平台上發起者、貢獻者和消費者這三類身份的日益彌合也使得那些更輕巧、更易懂的專案逐漸獲得更高的關注度——也催生了一批長尾的內容貢獻。舉個例子,在2023年9月全月,超過半數的github活躍使用者都發布了5次以內的更改,而有22%(約4.4萬)使用者的更改次數只有一次(明顯的長尾趨勢)。

這種開源軟體「業餘化、平民化」的趨勢也有明顯的好處,如下:

1.讓軟體變得更易用

不能做到「傻瓜易用」(fit and finish)一直是開源軟體的乙個問題。這類軟體的說明文件和網頁設計通常都是亂糟糟的,產品的可用性也很差——尤其是跟很多專有的同類產品相比。

但現在,因為貢獻門檻的逐步降低,那些對技術不那麼在行的使用者就可將上述的幾個方面逐漸優化,以方便自己對這類軟體的使用。而這就意味著那些原本詭異的報錯訊息現在變得越來越像人話,簡單修改一兩行css就會讓網頁在一些更老的瀏覽器和手機上渲染。

所以說,在新的開源文化下,人們希望自己不用成為技術專家就可方便地使用技術,「易用性」獲得了全所未有的關注和重視。

2.規避過度「工程化」

工程師們往往樂於接受挑戰,要是能給他們更多的機會解決問題,他們就越有可能想到聰明的解決方案——假如這類解決方案的終端消費者跟這些工程師一樣,對技術有很好的理解,又會像他們一樣因為有更聰明的方法解決老問題而激動不已,那一切都沒問題。

但問題是,業餘愛好者只喜歡那些在他們眼中理所當然、顯而易見的解決方案,一旦某個問題已經得到解決,他們就很少會回過頭去重新審視這個問題。因為業餘愛好者只會利用那些最顯而易見的解決方案做東西,這就迫使開發人員不得不去尋找簡單而接地氣的解決方案來解決難題。

3.支援乙個更大的生態系統

以我自己頻繁使用的node.js為例,這種程式語言定義了足夠簡單的語法結構(patterns),使得人人都可以編寫獨立的小型函式庫,並按自己的意願發布。在這個生態系統中,每個人都可以獨立享受當中的價值,無需協作。這就跟一些大型、垂直、擁有大量工具和功能、需要在特定環境下(比如說cocoa和ios)使用的棧(比如像ember, dojo,yui這樣的整合的外掛程式系統)形成了鮮明對比。

但在開源環境下,如之前提到的node.js,我們就可以看到一些更小的 api空間輕鬆使用該生態系統中的其他資源,避開協調(比如用jquery或node的標準**模式來**api)。開發者與開發者、庫與庫之間的協調越少,就越利於我們創造價值。

總結下來就是,github讓新一代的年輕人更方便地協作、創造和生產。很多開發者可能會因為過去那種正規開源文化(如「委員會圈子」、需要糾結使用哪種授權模式)的消弭而大唱輓歌——但開源的未來已經掌握在那群無所顧忌、大步向前的新一代人手中。

從這個角度來說,github不僅僅是乙個工具,它在創造一種全新的文化。

我們是怎樣的一代人

我們是怎樣的一代人 當我們讀小學的時候,讀大學不要錢,大學生是神聖的 當我們讀大學的時候,讀小學不要錢,大學生是沒用的 五年級的時候,要改六年制 六年級的時候,10所初中要合併成1所 初中畢業的時候,高中是必須要考的 上了高中後,原來上高中也是可以買的 考大學的時候,大學生很吃香,工作包分配 上了大...

該如何教育我們的下一代

以前我們常常開玩笑說 一人吃飽全家不餓 可一旦你公升級成爸媽了,你的身上自然就多了乙份責任,你就不得不思考一些以前壓根不當回事的問題,比如 該如何教育我的孩子。就在17年9月28號下午3 55,當醫生叫寶寶交到我手上時,我內心激動萬分,看著寶寶的那一刻我。我心裡生出了乙個思想 以後的一切都是為寶寶而...

《開源思索集》一我們都是乾柴,期待烈火!

開源思索集 今天,整個上午我都在創智天地7號樓,參加乙個社群經理的活動。社群經理培訓活動之四 如何從0開始做乙個很棒的社群 來了很多朋友,大家都是8分鐘快速演講,給我留下最深刻印象的,是openerp社群的jeff,還有thinklamp社群的板子。jeff的社群,做了很多很多的貢獻,但是也有很多 ...