我想写一个开源项目
我想写一个开源项目
为什么?
- 如何和优秀的coder一道,开源就是。
- 要知道众人拾柴火焰高,山外有山。
- 闭门造车,迷之自信,分分钟让你知道什么是社会。
怎么做?
技术创造价值,做有价值的事。
- 工作中,肯定会用到了很多组件,这些组件或许是不完美的,需要你进行二次封装。
举个栗子(MyBatis、MyBatis Plus);
- 之前总监说过,你做的东西,某一天被淘汰了,那你创造的价值是不是就随之消逝了~~,所以价值、定位很重要。
- 工作中,肯定会用到了很多组件,这些组件或许是不完美的,需要你进行二次封装。
制定计划,并不断完善项目。
- 如果仅仅是分享你完成的东西,不打算持续开发这些代码,开源可能不是你想要做的。
接受其他人贡献的代码(PR)。
- 如果你不考虑接受别人的PR,再次确定,开源可能不是你想要做的。
- 同时,接受PR可能没你想的那么简单。
- 你需要整理项目的开发、运行环境,制定开发规范(要符合大众习惯);
- 要尽可能快地,让那些不熟悉这个项目的人能够上手。
举个栗子(打开一个网页,要等一分钟,你还想看这个网页吗?)
开源是做产品,不只代码。
- 目录结构、代码风格都要慎重考虑,以及扩展性;
- 文档:文档应该很容易就更新,绝非通过push代码的方式更新,wiki就是个很好的选择;
- 为什么会有人成为贡献者,因为他们看到了代码的价值;
开发指南
- 如何获取源代码
- 代码是如何组织的
- 如何设置构建项目
如果有特殊的依赖,请说明如何获取这些依赖
- 如何构建项目(构建步骤、单元测试步骤等等)
- 如何贡献(提交信息规范、贡献规则、检查表[提交前逐项检查下])
做什么?
- 工具类(不要过多的依赖,要做小而精)
- 核心竞争力(现在有很多开源项目,你如何做得比别人好)
- 要大众,多数开发人员都会用到
- 避开那些已经成熟的产品(前端框架、成熟的中间件)
当然,这些产品,你是可以参与开发的