為什麼程式設計師們願意在GitHub上開源自己的成果?

codebay發表於2018-04-28

  從2008年4月10日正式上線到今天,GitHub已經完成了它的第一個十年,正式進入下一個十年。Chris DiBona(Google的開原始碼經理)認為“Git的精髓在於讓所有人的貢獻無縫合並。而GitHub的天才之處,在於理解了Git的精髓。”來一句我們程式設計師們接地氣的話:分享是一種快樂!

  拋開“程式碼閉源是否就能賺很多錢”這個話題先不談,我們直接總結一下程式設計師願意在GitHub公開自己的原始碼的幾點主要原因:

 1、通過程式碼的展示,提升自己的知名度

  先來講一個聞名全球的案例吧。有一家很著名的公司叫37signals,是一間非常小的公司,員工很少,但是在業內卻非常出名。它的出名,很大程度上得益於一次機緣:員工大衛·海納梅爾·韓森在工作的時候,用Ruby寫了一個劃時代的web快速開發框架——Ruby on Rails,其革命性的設計理念,大大的提升了WEB網站的開發效率。37signals選擇了將此專案以開源的方式釋出,在業內引發了轟動效應。

  隨著Ruby on Rails的快速躥紅,作為ROR誕生的產房——37signals公司也進入了大眾的視線,並於2008年被《連線》評為十大最值得關注的創業公司,繼而該公司的幾款產品都取得了非常好的銷售業績。在37signals出版的暢銷書《Rework》裡,有一段這樣的文字:最好的大廚都樂於在公共頻道上教授自己的廚藝,這不僅無損大廚的商業利益,反而大大增加了大廚的知名度,對大廚來說這是非常棒的舉措。

  我們處在一個技術更新迭代越來越快的行業裡,最可怕的並不是你高超的技術外洩,而是沒有足夠多的人透過你的技術瞭解你,拼技術的同時還要拼知名度,才能雙豐收。

  以目前的GitHub而言,它不只是一個簡單的程式碼倉庫,更是程式設計師的社交平臺和炫技舞臺。在這個平臺上展示自己的程式碼,可以讓程式設計師們更快地在行業圈子內提升自己的知名度。當然,如果能夠像大衛·海納梅爾·韓森那樣足夠幸運的話,還可以在業內創造一個屬於自己的傳奇。

 2、展示作品,獲得好的工作機會

  展示自己的作品,是獲取優秀工作機會的最佳手段之一。在“Talk is cheap,show me the code!”的程式設計師行業裡,尤為如此。

  GitHub同時為程式設計師與企業雙方提供了非常便利的平臺。

  作為企業僱主,可以通過這個平臺瞭解應聘者的作品,評估其技術實力,判斷是否符合公司的要求。這種把一個程式設計師在GitHub的表現視為人才評估標準的操作,在程式設計師面試中越來越普遍。

  作為程式設計師,GitHub上的關注數、星數、fork數量等資料,在一定程度上證明了你的程式設計能力是否出色,你的技術理念是否為更多的人所理解、贊同。越是在GitHub上受歡迎的程式設計師,越會被優秀的僱主青睞。

  因此,這種現象,也進一步激勵了程式設計師在GitHub上努力展示自己,使得開源氛圍更加濃厚。

 3、開原始碼,利己利人

  Adobe公佈了Photoshop 1.0的原始碼,這些程式碼對Adobe已經沒有太多價值了,不如公開出來,供其他程式設計師們觀瞻學習,同時還能為自己帶來一點新聞性和關注度;Linux之父林納斯為了一個非常“自私”的目的——能夠有一個適合自用的免費作業系統,便把Linux的核心開源了,讓全世界的感興趣的人一起來對Linux進行維護。

  所有的程式設計師在學習程式設計、解決BUG、交流心得的過程中,無可避免的會用到別人的勞動成果,同時也會幫別人去解決問題,這就形成了一個利己利人的生態。在這個生態中,所有的程式設計師都無需重複的造輪子,大家在一個開源共享的氛圍中付出,在付出中享用所有的產出成果,在享用成果中不斷的再創造,從而形成一個良性迴圈的利己利人生態,所有人都能在這個生態中收益。

 4、練習技能的同時結交業內朋友

  前面我們說過,GitHub可以是程式設計師的社交平臺和炫技舞臺。在這裡,會有眾多的技術大牛出沒。也許平時很難有機會與他們接觸,但通過GitHub這個平臺,自己的作品將有可能得到技術大牛的點評及建議,幫助自己快速提升技能;同時,還可以與其他程式設計師交流BUG解決經經驗以及需求實現等專業問題,從而產生聯絡,建立起屬於程式設計師的社交圈。

  在程式設計師的世界裡炫技簡單粗暴,每當他們寫出自認為很牛的程式,他們就迫切需要一個渠道來展示自己的才華,部落格、論壇都可以成為他們的陣地,而Github等開源論壇則漸漸成為主戰場。在程式設計師看來只有優秀的完整的程式碼才是有靈魂的,不懂程式的人都是麻瓜,這可能也是GitHub如此成功的一個重要原因。對於程式設計師極客來說,程式碼比言語更能讓對方產生共鳴。

 5、如果你願意,也能賺一點錢

  吹個牛,雖說我們程式設計師不差錢(正確讀音:qian er),但是有錢可收,總不是一件壞事。如果是非常好的開源專案,在GitHub能引來相當好的流量,並且是與專案相關的精準流量,所以你懂的,適當做些廣告是可以額外帶來一些收入的。

  (圖片截自GitHub,中國最火的開源專案VUE.js頁面,就展示了不少贊助商的內容。)

  所以,在GitHub上展示自己的作品,已經是一個優秀程式設計師的標準操作,這或許能帶來很多比賺錢更重要的東西。當然關乎專案發展最核心、最關鍵的技術和機密,應該還是很少會有人在GitHub上進行展示的。

相關文章