我想写一个开源项目

我想写一个开源项目

为什么?

  • 如何和优秀的coder一道,开源就是。
  • 要知道众人拾柴火焰高,山外有山。
  • 闭门造车,迷之自信,分分钟让你知道什么是社会

怎么做?

  • 技术创造价值,做有价值的事。

    • 工作中,肯定会用到了很多组件,这些组件或许是不完美的,需要你进行二次封装。

      举个栗子(MyBatis、MyBatis Plus);

    • 之前总监说过,你做的东西,某一天被淘汰了,那你创造的价值是不是就随之消逝了~~,所以价值、定位很重要。
  • 制定计划,并不断完善项目。

    • 如果仅仅是分享你完成的东西,不打算持续开发这些代码,开源可能不是你想要做的。
  • 接受其他人贡献的代码(PR)。

    • 如果你不考虑接受别人的PR,再次确定,开源可能不是你想要做的。
    • 同时,接受PR可能没你想的那么简单。
    • 你需要整理项目的开发、运行环境,制定开发规范(要符合大众习惯);
    • 要尽可能快地,让那些不熟悉这个项目的人能够上手。

      举个栗子(打开一个网页,要等一分钟,你还想看这个网页吗?)

  • 开源是做产品,不只代码。

    • 目录结构、代码风格都要慎重考虑,以及扩展性;
    • 文档:文档应该很容易就更新,绝非通过push代码的方式更新,wiki就是个很好的选择;
    • 为什么会有人成为贡献者,因为他们看到了代码的价值;
  • 开发指南

    1. 如何获取源代码
    2. 代码是如何组织的
    3. 如何设置构建项目

      如果有特殊的依赖,请说明如何获取这些依赖

    4. 如何构建项目(构建步骤、单元测试步骤等等)
    5. 如何贡献(提交信息规范、贡献规则、检查表[提交前逐项检查下])

做什么?

  • 工具类(不要过多的依赖,要做小而精)
  • 核心竞争力(现在有很多开源项目,你如何做得比别人好)
  • 要大众,多数开发人员都会用到
  • 避开那些已经成熟的产品(前端框架、成熟的中间件)

    当然,这些产品,你是可以参与开发的

参考文档