开源你的代码只是构建成功的开源社区的一小部分。像任何新的事业一样,你需要对你想实现的目标有一个愿景,以及一个具体的计划来带你到那里。你需要能够回答关于你的项目的问题,例如
- 这个项目是面向谁的?
- 为什么有人会想使用这段代码,更不用说为其贡献代码了?
- 我试图解决的核心问题是什么?
当我们着手创建 CloudSlang(一个用于管理已部署应用程序的基于流程的编排工具)时,我们面临着这些问题。我们想要找到一个框架,可以帮助我们制定这样一个计划,并提供概念工具来衡量我们是否实现了最初设定的目标。我们决定放眼创业公司领域,看看我们是否可以将这些创业公司管理框架应用于开源项目。
我们研究的结果是创建了一个新的模板来管理开源项目的创建。我们称之为 开源画布。
我们从研究一种流行的方法论开始。
开源的精益创业
《精益创业》 已成为许多企业家的核心方法论。它是一个有效创建新业务的框架,重点是通过快速实验和学习周期消除不确定性。虽然这个模型通常应用于商业活动(它实际上起源于制造业),但它实际上可以应用于任何领域的任何项目,例如写书、管理活动或创建开源项目。
制定商业计划是应用这种方法论的第一步。传统的商业计划可能包含数十甚至数百页的理论性(且通常无用的)信息。我们喜欢将这种类型的文件称为“只写”文档——你写一次,但没人读它。“精益创业”商业计划(称为“画布”)是一个鲜活的文件,仅限于一页纸。商业模式画布 和 精益画布 是广泛使用的商业计划模板的领先示例,它们可以帮助你将“精益创业”原则应用于一页纸的商业计划中。
开源画布
我们在这些画布模型的基础上更进一步,开发了一个独特的画布来管理开源项目。与其他画布一样,每个部分都处理你的商业计划的不同方面。
问题
你试图解决什么问题?即使你有一个解决问题的绝妙方案,它也必须解决你的潜在用户的痛点、需求或愿望。这是任何新事业都必须问自己的关键问题。
此外,你将你的项目开源引入了其他问题,而不仅仅是你的代码实际解决的问题。例如,你应该很好地回答你为什么首先选择开源你的代码。你是想建立一个用户社区吗?你是想通过外部贡献来丰富源代码吗?
用户
你的目标受众是谁?你的解决方案的典型用户是什么样的?
在开源世界中,你需要识别最有可能为你的项目做出贡献并成为活跃超级用户的用户类型。这些人将是你社区的基石。
独特的价值主张
如果你在电梯里碰到某人,他们问你你的项目是关于什么的,你需要有一个你可以轻松表达的一句话答案。这是你项目的承诺,对于任何新的事业都至关重要。你需要说明你的产品的开源性质如何增加其吸引力。
解决方案
我为这个问题提供什么解决方案?解决方案应包括实际解决你所阐述的问题的前三个功能。
当你的解决方案是开源的时候,你需要考虑额外的方面。你将如何许可你的开源代码?许可证对你项目的未来有很多实际影响。另一个考虑因素是你是否想依附于开源基金会或保持独立。
社区关系
为了建立一个活跃的社区,你需要确定你需要培养的战略关系。这个领域的思想领袖是谁?你可以指望谁来宣传这个项目?例如,在我们的项目中,我们发现我们企业产品的售前工程师非常热衷于采用和推广我们的项目。
活动
人们不会自己找到你的项目。你需要通过一系列有针对性的活动来吸引他们的注意力。你可以开展哪些类型的活动来吸引项目用户?博客文章?社交媒体?参加会议?
成本和资源
在过程的早期,你应该概述启动你的项目所需的主要成本和资源。在开源中,大多数成本将来自人力成本(工程师、社区经理等)。
采用标准
你将如何衡量你的项目的成功?什么样的指标表明你走在正确的轨道上?贡献者的数量?项目的大小?总体使用量?我们使用了 海盗指标模型的改编版 来衡量我们项目的成功。
渠道
在你确定了你的目标用户之后,你需要找出将你的信息传递给用户的渠道。例如,在开源世界中,你很可能会在相关的聚会或会议上找到开源爱好者。集成也是一个非常强大的渠道。我们开发了与 StackStorm 的集成,这引起了很多兴趣。
入门和反馈
创建画布不是一次性活动。画布将作为一份实时文档,你将在项目进行过程中经常回顾它。基于“构建-衡量-学习”的精益创业原则,你将不断验证你的假设,衡量你的成功,并根据你所学到的知识改进和调整你的想法。
我们希望你觉得这篇文章有益。“开源画布”是一个正在进行中的工作,我们希望听到你的反馈,使其变得更好。
6 条评论