写点什么

GitHub 开源项目负责人谈开源

  • 2015-10-14
  • 本文字数:1510 字

    阅读完需:约 5 分钟

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 谈及改革的名言说道,软件或许就是推动当今技术革命的蒸汽机,而开源社区的想法比起所产生的代码更具有深远意义。开源已经改变,并将继续改变软件开发的方式。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-10-14 19:002929
用户头像

发布了 268 篇内容, 共 118.0 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

(28DW-S8-Day23) 《流程型组织》学习笔记:摧毁金字塔,拆掉"法约尔"桥

mtfelix

28天写作 流程型组织

员工遇到问题 - 是给答案还是给引导?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

MySQL调优

Sakura

28天写作 3月日更

我的学习笔记

SilentMacUser

Python JavaScript 学习 大前端 开发

还原五百丁APP需求文档

林亚超

第10周课后练习-模块分解

潘涛

架构师训练营 4 期

ARST-日常打卡

pjw

「架构师训练营 4 期」 第十一周 - 001&2

凯迪

架构师训练营 4 期

人社部拟发10几个新职业,区块链行业占两个

CECBC

区块链人才

net.coobird.thumbnailator.tasks.UnsupportedFormatException: No suitable ImageReader found for source data.

wjchenge

Flink SQL 如何实现列转行?

JasonLee实时计算

flink

散列表-hashTable

x-arts

散列函数

别再问我们用什么画图的了!问就是excalidraw

万俊峰Kevin

微服务 工具软件 go-zero 画架构图

操作系统的内存管理(上)

鲁米

内存管理

androidjson解析!跟我一起手写EventBus吧,不吃透都对不起自己

欢喜学安卓

android 程序员 面试 移动开发

mybatis 配置详解

xiezhr

mybatis MyBatis标签 mybatis配置

开发人员的软实力之一:配合度

boshi

职业素养 七日更

React 中 useContext 和 useMemo 一般性使用

sadhu

React useContext useMemo React Hooks

算法攻关-序列化和反序列化二叉树O(n)_offer37

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 序列化二叉树

产品经理训练营大作业(05)

KingSwim

1.2W 字的 SQL 语法速成手册

xcbeyond

MySQL sql 3月日更

英文IT数码类播客学习笔记

SilentMacUser

红帽 互联网 播客 计算机历史

张开怀抱迎接Golang

Kylin

读书笔记 语法 3月日更 Java转go Go 语言

产品经理训练营大作业

隋泽

IBM们的中国研究院是怎样一步步“躺平”的?

脑极体

给你的网站文字添加黑幕-隐藏文字

依旧廖凯

28天写作 3月日更

类似GitBook的在线文档创作平台

happlyfox

28天写作 3月日更

翻译:《实用的Python编程》06_00_Overview

codists

Python

安全架构学习总结

跳蚤

第十一周作业

MR.X

android基础教程!字节跳动+京东+360+网易面试题整理,附答案

欢喜学安卓

android 程序员 面试 移动开发

GitHub开源项目负责人谈开源_语言 & 开发_张天雷_InfoQ精选文章