GitHub開源項目負責人談開源
在 All Things Open 2015 上, GitHub 的開源項目負責人 Brandon Keepers 給出題目為“ open source principles for better engineering teams ”的報告。在此之前, OpenSource.com 的 Robin Muilwijk 對其進行了 采訪 。 Brandon就其與開源的緣分、當前工作的職責、GitHub及員工與開源的關系等方面的問題一一進行了回答。
Brandon簡介及其與開源的緣分
在2011年加入GitHub之前,Brandon曾是設計 speakerdeck.com 、 gaug.es 和 harmonyapp.com 的五人團隊之一。之后,他曾經在GitHub參與過 GitHub Flavoured Markdown 、通知、wiki等內部工具的開發。目前,Brandon主要負責GitHub開源相關的工作。其具體職責包括幫助公司和社團克服開源方面的難題、尋找凸顯其他社團成果的方法以及為GitHub建造更好的角色模型等。
Brandon表示,開源對其作為軟件工程師的成長非常關鍵。他學習了如何利用開源語言進行編程,嘗試了利用開源庫和框架來設計應用程序,并知道了如何利用開源的思想來編寫軟件。可以說,Brandon的一路蛻變與開源密不可分。
GitHub開源項目負責人的職責
談及該問題,Brandon首先提到了GitHub在開源方面的影響。作為一個影響力很大的網站,GitHub聚集了全球的工程師來進行開源方面的努力。該公司一直在努力維護一個穩定、健康發展的開源生態圈,包括降低參與門檻來提高開源的吸引力、為初始社團提供幫助以及增加開源的多樣性等。因此,作為GitHub的開源項目負責人,Brandon需要為很多項目提供貢獻、編寫流程自動化的代碼、與來自不同社區的成員進行溝通以提供更好的幫助以及準備/參與各種會議等等。
GitHub自舉行為的意義
Brandon認為,利用GitHub來構建GitHub的行為意義非凡。它讓團隊可以充分了解GitHub的優勢和不足,讓研發人員更加了解客戶使用產品的方法和感受、更愿意傾聽客戶的反饋以及不斷把積累的經驗應用到產品中。
GitHub工程師與開源
Brandon表示,作為一個誕生于開源社區的網站,GitHub及其工程師與開源形影不離。他們不僅僅了解開源的概念,更是經常以開源方式進行工作。在公司內部,工程師參與的所有環節都是透明的。無論是代碼審查、系統更新還是產品問題診斷,任何工程師都可以看到他所關心的內容。以公司的定制化聊天室 Hubot 為例,它幫助工程師部署代碼、確定參與人員位置、診斷位置等等。公司的所有員工都可以編寫并部署腳本來讓Hubot擁有新的技能。
良好工程師團隊的秘訣
開源項目所面臨的一個很大局限就是參與人員的地域分布廣和工作時間不統一。在這種情況下,成員之間很難進行面對面或者及時的消息溝通。但是,GitHub中的很多項目依然取得了成功。Brandon認為,這其中的最大秘訣就在于獨特的溝通方式——透明、參與和合作。透明保證了代碼及其中間流程的可見,而參與使得參與人員能夠明確項目的進展和目標。最后,參與人員的合作有利推進了項目的進展。
對GitHub貢獻者和維護者的建議
談到對GitHub貢獻者和維護者的建議,Brandon表示,大家需要加強對開源重要性的認識。現在,基本上所有的軟件都和開源軟件相關。從使用的編程語言或者庫、運行的服務器、傳輸數據的網絡到訪問數據的瀏覽器或終端,它們都可能與開源有關。可以說,開源已經成為當代軟件開發的基石。Brandon套用 Steve Weber 談及改革的名言說道,軟件或許就是推動當今技術革命的蒸汽機,而開源社區的想法比起所產生的代碼更具有深遠意義。開源已經改變,并將繼續改變軟件開發的方式。