开源项目成功之道

978-7-115-65575-2
作者: 约翰·梅尔蒂卡(John Mertic)
译者: 孙振华林旅强
编辑: 秦健
分类: 其他

图书目录:

目录

第 一部分 准备开源

第 1章 什么是开源,为什么要开源 3

1.1 什么是开源 4

1.2 开源简史 7

1.2.1 将开源的根源追溯到大型机社群 7

1.2.2 自由软件的出现 8

1.2.3 开源作为一个术语被创造出来 10

1.2.4 为开源提供一个供应商中立的家园 11

1.3 运用开源 12

1.3.1 爱好者之间的信息分享 12

1.3.2 基础技术 13

1.3.3 构建技术生态系统 15

1.3.4 提供高质量的免费软件 16

1.4 开源项目及开源的原因 17

1.4.1 PHP 18

1.4.2 Blender 19

1.4.3 Zowe 19

1.4.4 PiSCSI 21

1.5 小结 22

第 2章 什么造就了好的开源项目 23

2.1 开源项目的核心特征 24

2.1.1 用户是开发过程的一部分 25

2.1.2 早发布,常发布 26

2.1.3 透明和动态的决策 28

2.2 发布开源代码与创建开源项目 29

2.2.1 智能代码转储 30

2.2.2 开放核心 32

2.2.3 以开源方式发布代码时的期望 33

2.3 成功的开源项目的模式和反模式 34

2.3.1 开放式沟通(和过度沟通) 34

2.3.2 仁慈独裁与委员会领导 35

2.3.3 分支 36

2.3.4 过度治理 38

2.3.5 欢迎竞争对手 39

2.3.6 把一切都写下来 40

2.3.7 拥抱你的社群 42

2.3.8 关注你的优势,利用工具和其他资源来弥补你的劣势 42

2.4 小结 43

第3章 开源许可证和知识产权管理 45

3.1 宽松许可证与非宽松许可证 46

3.1.1 宽松许可证 48

3.1.2 非宽松许可证或copyleft 49

3.1.3 哪种类型的许可证对项目有意义 50

3.2 版权和贡献签署 52

3.2.1 CLA 53

3.2.2 DCO 54

3.3 品牌和标志管理 57

3.3.1 确定项目的名称 58

3.3.2 品牌一致性 59

3.3.3 保护品牌 60

3.3.4 让其他人使用你的品牌 61

3.4 小结 62

第4章 向公司展示开源项目所带来的商业价值 64

4.1 为什么公司要将代码开源 65

4.1.1 降低开发成本 65

4.1.2 为客户添加新的特性或功能 66

4.1.3 更快推向市场 67

4.1.4 能够集中投资 68

4.2 在内部获得对代码开源的支持 69

4.2.1 回顾已经存在的项目 69

4.2.2 构建商业案例 71

4.2.3 获得盟友 73

4.2.4 设定预期 75

4.3 开源项目或代码仓库的检查清单 76

4.3.1 法律审查 76

4.3.2 技术审查 78

4.4 衡量组织在开源方面是否成功 79

4.4.1 设定(合理)目标 80

4.4.2 识别和展示组织所作的贡献 81

4.5 小结 82

第5章 治理和托管模式 83

5.1 什么是开源治理 84

5.1.1 行动至上 85

5.1.2 BDFL 85

5.1.3 技术委员会 86

5.1.4 选举 87

5.1.5 单一供应商 88

5.1.6 供应商中立的基金会 89

5.2 开源项目中的角色 90

5.2.1 用户 91

5.2.2 贡献者 91

5.2.3 维护者 92

5.2.4 领导者 93

5.3 记录开源项目的治理结构 93

5.3.1 可发现性 94

5.3.2 简单性 95

5.3.3 灵活性 96

5.4 开源项目的财务支持 97

5.4.1 小费 97

5.4.2 众筹 98

5.4.3 单一组织资助 99

5.4.4 基金会 100

5.5 小结 101

第二部分 运营开源项目

第6章 让你的项目备受欢迎 105

6.1 为新人设置项目 106

6.1.1 设置项目的基础设施 106

6.1.2 创建入门指南 109

6.1.3 欢迎新贡献者 111

6.1.4 当新人产生影响时,要认可他们 113

6.2 有效支持最终用户 114

6.2.1 管理问题 115

6.2.2 社群和开发者管理 116

6.2.3 商业支持 117

6.3 参与到对话中去 118

6.3.1 在线论坛和社交媒体 119

6.3.2 区域聚会和活动 120

6.4 小结 121

第7章 将贡献者发展为维护者 122

7.1 将贡献者发展为维护者的重要性 123

7.1.1 减轻当前维护者的压力 123

7.1.2 为项目带来新的想法和能量 125

7.1.3 使当前维护者退居幕后 126

7.2 寻找贡献者并成为导师 127

7.2.1 未来维护者的品质 128

7.2.2 利用导师制度引入新的贡献者 130

7.3 贡献者何时准备好成为维护者 131

7.3.1 导师指导进展顺利的迹象 132

7.3.2 如果贡献者从未准备好成为维护者怎么办 133

7.4 小结 135

第8章 处理冲突 136

8.1 理解人及其动机 137

8.1.1 人类的大脑 137

8.1.2 文化和生活经历 138

8.1.3 开源项目中的互动示例 139

8.2 包容性决策 143

8.2.1 开放的沟通和协作 144

8.2.2 决策的方法论 145

8.2.3 做出决策 146

8.3 纠正有害行为 150

8.4 小结 153

第9章 应对增长 154

9.1 衡量增长 155

9.1.1 增加项目的认知度 157

9.1.2 项目采用度 158

9.1.3 项目的多样性 159

9.2 评估和补救低增长的领域 161

9.2.1 提交记录/提交者 161

9.2.2 项目使用度 162

9.2.3 多样性 163

9.3 增强和扩展项目的领导力 164

9.3.1 从项目通才到项目专家 165

9.3.2 时间管理和预期管理 168

9.3.3 避免倦怠 170

9.4 小结 172

第三部分 构建和扩展开源生态系统

第 10章 开源的商业化 175

10.1 开源项目商用的重要性和价值 176

10.1.1 可以商用吗 176

10.1.2 可持续性循环 178

10.2 开源的商业化模式 180

10.2.1 作为更大商业软件包的依赖项或组件 180

10.2.2 服务和支持 181

10.2.3 开放核心 182

10.3 为商用设置项目 183

10.3.1 品牌和知识产权管理 183

10.3.2 认可和一致性计划 184

10.4 小结 187

第 11章 开源与人才生态 188

11.1 将开源作为你的作品集 189

11.1.1 我的职业故事 190

11.1.2 在开源中发展职业生涯 195

11.2 通过开源寻找人才 200

11.2.1 参与社群 200

11.2.2 赞助与项目相关的基础设施 201

11.2.3 赞助或主办导师培训、黑客马拉松或其他活动 203

11.3 留住和认可来自开源社群的人才 205

11.3.1 开源参与的衡量和管理 206

11.3.2 设定年度目标 207

11.3.3 创建内部奖励或激励计划 208

11.4 小结 209

第 12章 为开源营销—宣传和外展 211

12.1 什么是开源营销,为什么它对用户很重要 212

12.1.1 开源营销的案例研究—Mautic 213

12.1.2 Mautic的故事—开源营销的影响力和目的 218

12.2 开源项目的“营销跑道” 221

12.2.1 网站和博客 222

12.2.2 讨论渠道 224

12.2.3 社交媒体 226

12.3 高级外展和促进参与度 227

12.3.1 活动和聚会 227

12.3.2 媒体和分析师 229

12.3.3 案例研究和用户故事 230

12.4 小结 231

第 13章 领导者的过渡 233

13.1 为何要考虑领导者的过渡 234

13.1.1 职业变动 235

13.1.2 即将退休的项目领导者 236

13.1.3 项目停滞不前 237

13.2 制定继任计划 238

13.2.1 记录项目的运营 239

13.2.2 新领导者的时间安排和培养 241

13.3 从容地退居幕后 242

13.3.1 适当地做出后援 243

13.3.2 为新领导者背书 244

13.3.3 为新领导者建立广泛的支持网络 245

13.4 小结 246

第 14章 开源项目的落幕 247

14.1 如何判断一个项目正在放缓 249

14.1.1 项目—当代码速度和社群参与度下降 249

14.1.2 产品—处于正在衰落的技术领域 251

14.1.3 利润—资金和投资枯竭 252

14.2 结束项目的流程 253

14.2.1 在社群中就项目落幕达成一致 253

14.2.2 宣布项目落幕的意向 255

14.2.3 帮助最终用户过渡 256

14.3 项目结束后的步骤 258

14.3.1 将代码仓库和问题跟踪器标记为归档状态 258

14.3.2 为资产所有权找到归宿 260

14.3.3 项目能从落幕中回归吗 261

14.4 小结 261

详情

本书全面深入地探讨了开源项目的生态,不仅揭示了开源文化的精髓,还提供了实践指南,帮助读者在开源世界中找到自己的位置并发挥影响力。本书共分为三部分:首先,介绍了开源的基础知识、历史背景和选择开源的动机等;其次,深入探讨了如何运营开源项目,包括建设社群、处理冲突和应对增长等;最后,揭示了开源项目商业化的途径和策略,分析了不同的商业化模式,并指导读者为开源项目设定清晰的商业方向。 本书不仅适合对开源软件感兴趣的读者、IT从业人员以及致力于开源健康发展的人员阅读参考,还适合作为高等院校相关专业的开源教育读物。

图书摘要

相关图书

Joy RL:强化学习实践教程
Joy RL:强化学习实践教程
计算机组成原理(基于x86-64架构)
计算机组成原理(基于x86-64架构)
成为GPT高手
成为GPT高手
高并发系统:设计原理与实践
高并发系统:设计原理与实践
DeepSeek极速上手 :高效做事不内耗
DeepSeek极速上手 :高效做事不内耗
AI设计:Midjourney绘画设计教程
AI设计:Midjourney绘画设计教程

相关文章

相关课程