软件开源项目启动要点

133 阅读3分钟
  • 慎重考虑项

    • 评估参与到一个已经存在的开源项目的可能性
    • 评估公司自身对于采用开源模式启动、维护项目的能力
    • 评估在开始的时候,其它公司参与进来的可能性
    • 评估开源项目的成功因素并设置相应的衡量值
  • 商业战略和规划项

    • 确定并未项目设定目标
    • 从相关干系人处收集开源的原因
    • 选择要为项目考虑的代码
    • 决定项目的开源部分:是应用的全部,还是部分
    • 为选定的提案创建业务案例
    • 确定是否有高管人员支持此举
    • 针对开发者和开销做出资源规划书
    • 设置成本预算,包括开发时间,基础设施和相关费用
    • 收集高管和技术人员对项目的讨论和决策
    • 辩论并最终确定项目范围和代码选择
  • 法律审核项

    • 请慎重思考开源对于公司的知识产权影响
    • 确保完全符合开源许可证
    • 为源代码的发布选择一个开源的许可证,要对项目所有许可证要求作出清晰的说明
    • 确认是否需要一份贡献者意协议
    • 考虑社区可能的非软件输出和适当的许可证,例如文档和规范
    • 考虑所有和商标有关的事情
    • 决定是否还有其他因素可以纳入您的生态系统计划中,例如一致性测试
  • 技术审核项

    • 将严重依赖但不能公开的组件去掉
    • 请提供项目要有基础文档 (README, CONTRIBUTING, CODE_OF_CONDUCT)和案例
    • 删除内部涉及敏感信息的注释、引用、以及其他内部的代码等等
    • 项目使用一致的代码风格和明确的功能/方法/可用的名字
    • 在源代码文件中更新版权所有的信息
    • 在源代码文件中更新许可证信息
    • 在仓库的根目录中添加许可证文件
  • 治理和流程项

    • 定义项目的治理步骤和结构
    • 创建代码仓库、issue跟踪、以及代码测试的基础设施
    • 创建支持的 Slack 频道、论坛和维基
    • 与贡献者建立开放的沟通渠道,以确保项目的成功
  • 品牌和市场项

    • 设定营销策略以激励活跃的贡献者社区
    • 设计项目logo、颜色样式、官网、以及其它附属内容
    • 制订正式的品牌指南
    • 为项目注册设计媒体账号(Twitter、Facebook、LinkedIn等等)
    • 为项目注册相应的域名
  • 启动和维护项

    • 开放项目,并开始开发工作,以及贡献的流程开始运转
    • 选定合适的社区经理或社区布道师
    • 确保方向和治理的任何变动都是经过清晰的沟通过的
    • 紧随其它类似社区的最佳实践
    • 鼓励且提供场地让大家能够进行线下的社区活动