东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

开源项目运营经验谈

  • 2015-05-11
  • 本文字数:936 字

    阅读完需:约 3 分钟

从 GitHub 的用户基数来看,开源社区中有超过 850 万人在向开源软件做贡献。 Brian Hyder PencilBlue 的联合创始人兼首席技术官。近日,他根据自己运营开源项目的经验,探讨了如何吸引开源社区成员为项目做贡献以及如何确保项目的正常运转。

Brian 认为,开源项目运营可以归结为以下三个方面。

首先是明确项目愿景。通常,人们为项目做贡献,是因为该项目要解决的问题同他们要解决的问题一致。而且他们会希望,项目目标与他们的目标一致,而不仅仅是满足他们的即时需求。因此,非常有必要在 README 中明确描述项目愿景。但这还不够,为了使潜在的用户和贡献者对项目有信心,项目运营者还应该提供一个路线图。路线图上的时间不宜太具体,因为有时候用户反馈会导致项目运营者调整开发的优先级。比如,“多媒体服务将在 12 月份完成”要好过“多媒体服务将在 12 月份第二个周完成”。另外,贡献者 / 用户越多,项目愿景的要求就越高。项目运营者需要选择一个对项目而言最好的愿景,而不是对于个人而言最好的愿景。总之,项目必须满足用户的需求。

其次是制定项目贡献流程,确保贡献者总是在项目愿景范围内做贡献,保证代码的可维护性以及减少不必要的审核工作。以下是 Brian 提供的一些建议:

  • 每个问题或特性创建一个分支
  • 每个分支的名称均要包含问题编号
  • 确保针对分支进行了所有的单元测试
  • 尽量不要合并自己的 pull 请求
  • 注明为什么采用那种方式,让 pull 请求成为一个学习过程

最后是要带给人良好的感觉。网站、文档及 README 会给人第一感觉,它们可能会影响人们对相似项目的选择。代码质量确实可以体现出项目优劣,但人们在选择时通常不会首先研读代码。人们的贡献是项目的脉搏,脉搏稳定也有利于项目的长远发展。另外,可以利用一些工具增加项目的透明度:

除了相应的功能外,这些工具还提供了徽章,标明了项目所处的阶段。这可以使其他人对项目运营者的代码能力产生信心。


感谢崔康对本文的审校。

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

2015-05-11 06:362210
用户头像

发布了 1008 篇内容, 共 373.7 次阅读, 收获喜欢 340 次。

关注

评论

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

2022-09-27:给定一个棵树, 树上每个节点都有自己的值,记录在数组nums里, 比如nums[4] = 10,表示4号点的值是10, 给定树上的每一条边,记录在二维数组edges里, 比如ed

福大大架构师每日一题

算法 rust 福大大

StratoVirt 中的 PCI 设备热插拔实现

openEuler

开源 操作系统 虚拟机 openEuler

Embedded SIG | 树莓派的UEFI支持和网络启动

openEuler

开源 树莓派 操作系统 openEuler

我也不想学之PHP系列(2)

吉师职业混子

9月月更

【Python实践】使用Python实时语音控制电脑全局音量

迷彩

人工智能 语音识别 9月月更 控制电脑 语音控制

【编程实践】利用 Python 调用图灵机器人 API 实现实时语音聊天及自动回复

迷彩

Python 实时语音 实时聊天 9月月更

iMazing高效便捷的数据转移功能

淋雨

ios iphone

iMazing怎么恢复备份?iMazing恢复备份教程分享

淋雨

ios iphone

一次 Rancher 和 openEuler 的上云之旅

openEuler

Linux 开源 openEuler rancher suse

车企如何完善车载小程序生态安全

Geek_99967b

小程序

这个C4D短片有点辣!热情起舞小金链尽显墨西哥黑帮气质

Renderbus瑞云渲染农场

影视制作 Renderbus瑞云渲染 3D电影制作

大模型的禾下乘凉梦,百度自己来做试验田

脑极体

研发效能之技术治理&技术治理架构师

laofo

DevOps cicd 研发效能 持续交付 工程效率

面试突击87:说一下 Spring 事务传播机制?

王磊

Java 面试

【云原生 | 从零开始学Kubernetes】十一、k8s污点、容忍度和pod状态

泡泡

Docker 云计算 云原生 k8s 9月月更

千峰课程网安笔记(1)

吉师职业混子

9月月更

openEuler 资源利用率提升之道 04:CPU 抢占和 SMT 隔离控制

openEuler

开源 openEuler

跟着卷卷龙一起学Camera--内存池浅析04

卷卷龙

ISP 9月月更

GitHub获百万推荐的面试涨薪秘籍(Java岗)惨遭封杀?

钟奕礼

Java 后端 java面试 后端架构

如何在笔记本上安装openEuler 22.03 LTS

openEuler

开源 操作系统 openEuler

开源之夏 | 【结项报告】毕昇Fortran编译器内联动态库函数str_copy

openEuler

开源 操作系统 openEuler 毕昇 JDK

开源实习 | 毕昇JDK发布国密算法实习任务

openEuler

开源 openEuler 毕昇 JDK

阿里被转载上100W次的Java面试题教程!已助我拿下9家大厂offer!

钟奕礼

Java 架构 后端 java面试

数据治理的核心:维度建模下的数仓构建

Taylor

数据仓库 维度建模 维度 数仓分层 分层划域

【docker】软链接迁移docker存储目录

非晓为骁

Docker 存储 迁移

设计消息队列存储消息数据的 MySQL 表格

张立奎

破解windows系统密码

吉师职业混子

9月月更

前端工程师在面试时经常被问的闭包到底是什么?我用打包礼物的例子让你秒懂

wljslmz

JavaScript 闭包 9月月更

编译器优化那些事儿(6):别名分析概述

openEuler

开源 编译器 openEuler 毕昇 JDK

揭开HPC应用的神秘面纱

openEuler

开源 openEuler

别让你的 SaaS 产品由赋能变为“负能”

产品海豚湾

产品设计 产品运营 SaaS平台 B端产品 9月月更

开源项目运营经验谈_语言 & 开发_谢丽_InfoQ精选文章