软件开源项目启动要点
-
慎重考虑项
- 评估参与到一个已经存在的开源项目的可能性
- 评估公司自身对于采用开源模式启动、维护项目的能力
- 评估在开始的时候,其它公司参与进来的可能性
- 评估开源项目的成功因素并设置相应的衡量值
-
商业战略和规划项
- 确定并未项目设定目标
- 从相关干系人处收集开源的原因
- 选择要为项目考虑的代码
- 决定项目的开源部分:是应用的全部,还是部分
- 为选定的提案创建业务案例
- 确定是否有高管人员支持此举
- 针对开发者和开销做出资源规划书
- 设置成本预算,包括开发时间,基础设施和相关费用
- 收集高管和技术人员对项目的讨论和决策
- 辩论并最终确定项目范围和代码选择
-
法律审核项
- 请慎重思考开源对于公司的知识产权影响
- 确保完全符合开源许可证
- 为源代码的发布选择一个开源的许可证,要对项目所有许可证要求作出清晰的说明
- 确认是否需要一份贡献者意协议
- 考虑社区可能的非软件输出和适当的许可证,例如文档和规范
- 考虑所有和商标有关的事情
- 决定是否还有其他因素可以纳入您的生态系统计划中,例如一致性测试
-
技术审核项
- 将严重依赖但不能公开的组件去掉
- 请提供项目要有基础文档 (README, CONTRIBUTING, CODE_OF_CONDUCT)和案例
- 删除内部涉及敏感信息的注释、引用、以及其他内部的代码等等
- 项目使用一致的代码风格和明确的功能/方法/可用的名字
- 在源代码文件中更新版权所有的信息
- 在源代码文件中更新许可证信息
- 在仓库的根目录中添加许可证文件
-
治理和流程项
- 定义项目的治理步骤和结构
- 创建代码仓库、issue跟踪、以及代码测试的基础设施
- 创建支持的 Slack 频道、论坛和维基
- 与贡献者建立开放的沟通渠道,以确保项目的成功
-
品牌和市场项
- 设定营销策略以激励活跃的贡献者社区
- 设计项目logo、颜色样式、官网、以及其它附属内容
- 制订正式的品牌指南
- 为项目注册设计媒体账号(Twitter、Facebook、LinkedIn等等)
- 为项目注册相应的域名
-
启动和维护项
- 开放项目,并开始开发工作,以及贡献的流程开始运转
- 选定合适的社区经理或社区布道师
- 确保方向和治理的任何变动都是经过清晰的沟通过的
- 紧随其它类似社区的最佳实践
- 鼓励且提供场地让大家能够进行线下的社区活动