在 All Things Open 2015 上, GitHub 的开源项目负责人 Brandon Keepers 给出题目为“ open source principles for better engineering teams ”的报告。在此之前, OpenSource.com 的 Robin Muilwijk 对其进行了 采访 。 Brandon就其与开源的缘分、当前工作的职责、GitHub及员工与开源的关系等方面的问题一一进行了回答。
在2011年加入GitHub之前,Brandon曾是设计 speakerdeck.com 、 gaug.es 和 harmonyapp.com 的五人团队之一。之后,他曾经在GitHub参与过 GitHub Flavoured Markdown 、通知、wiki等内部工具的开发。目前,Brandon主要负责GitHub开源相关的工作。其具体职责包括帮助公司和社团克服开源方面的难题、寻找凸显其他社团成果的方法以及为GitHub建造更好的角色模型等。
Brandon表示,开源对其作为软件工程师的成长非常关键。他学习了如何利用开源语言进行编程,尝试了利用开源库和框架来设计应用程序,并知道了如何利用开源的思想来编写软件。可以说,Brandon的一路蜕变与开源密不可分。
谈及该问题,Brandon首先提到了GitHub在开源方面的影响。作为一个影响力很大的网站,GitHub聚集了全球的工程师来进行开源方面的努力。该公司一直在努力维护一个稳定、健康发展的开源生态圈,包括降低参与门槛来提高开源的吸引力、为初始社团提供帮助以及增加开源的多样性等。因此,作为GitHub的开源项目负责人,Brandon需要为很多项目提供贡献、编写流程自动化的代码、与来自不同社区的成员进行沟通以提供更好的帮助以及准备/参与各种会议等等。
Brandon认为,利用GitHub来构建GitHub的行为意义非凡。它让团队可以充分了解GitHub的优势和不足,让研发人员更加了解客户使用产品的方法和感受、更愿意倾听客户的反馈以及不断把积累的经验应用到产品中。
Brandon表示,作为一个诞生于开源社区的网站,GitHub及其工程师与开源形影不离。他们不仅仅了解开源的概念,更是经常以开源方式进行工作。在公司内部,工程师参与的所有环节都是透明的。无论是代码审查、系统更新还是产品问题诊断,任何工程师都可以看到他所关心的内容。以公司的定制化聊天室 Hubot 为例,它帮助工程师部署代码、确定参与人员位置、诊断位置等等。公司的所有员工都可以编写并部署脚本来让Hubot拥有新的技能。
开源项目所面临的一个很大局限就是参与人员的地域分布广和工作时间不统一。在这种情况下,成员之间很难进行面对面或者及时的消息沟通。但是,GitHub中的很多项目依然取得了成功。Brandon认为,这其中的最大秘诀就在于独特的沟通方式——透明、参与和合作。透明保证了代码及其中间流程的可见,而参与使得参与人员能够明确项目的进展和目标。最后,参与人员的合作有利推进了项目的进展。
谈到对GitHub贡献者和维护者的建议,Brandon表示,大家需要加强对开源重要性的认识。现在,基本上所有的软件都和开源软件相关。从使用的编程语言或者库、运行的服务器、传输数据的网络到访问数据的浏览器或终端,它们都可能与开源有关。可以说,开源已经成为当代软件开发的基石。Brandon套用 Steve Weber 谈及改革的名言说道,软件或许就是推动当今技术革命的蒸汽机,而开源社区的想法比起所产生的代码更具有深远意义。开源已经改变,并将继续改变软件开发的方式。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。