保姆级指南,从0到1打造你的个人开源项目
各位好久不见,有些小伙伴可能知道大概1年多以前我开始维护log-record[1]项目(Java业务操作日志记录框架)。这期间项目陆陆续续更新迭代、发布新版本,一路走来也踩了不少坑。这篇文章主要是想给希望开始写开源项目的同学们一些开源项目维护的实操建议,也算是给自己梳理一下做一个开源项目需要注意的事项。
此外,本文讨论的个人开源项目仅限于代码为主的项目。像一些新闻、教程、电子书、工具集锦类开源仓库,不在本文的讨论范围内。
当然了,如果你已经是一个经验丰富的开源项目maintainer,那么请赶紧关掉这篇文章,并且联系我,让我好好抱大腿 :)
确定项目的主题和方向
首先,我们要重点探讨如何准备个人开源项目。一个最基础的思考是,你的项目灵感从哪里来?当你觉得有了好的想法后,又应该做哪些事前调研工作?
积累灵感
积累灵感是开始一个开源项目的第一步。
很多时候灵感源自于我们日常的学习和技术工作上的积累。例如,在工作中遇到的问题,想解决的BUG,或者对某项技术的深入研究,它们都可能给你灵感。
此外,每天多多阅读技术文章、关注技术新闻以及浏览Github Trending都是获取灵感的好办法,多元化地获取信息对于积累灵感很重要。
做好事前调研,非必要,不造新轮子
之前硕士期间写论文经验的告诉我,当你对一个研究方向没有了解全面的时候,你的大多数想法是很幼稚的,有很大可能已经有前人替你踩过了坑,或者有了现成的框架和产品。
所以在确定你的项目主题之前,一定要充分的进行调研和搜索,保证你的项目在某个方面具有独特性。在调研过程中,你最好要罗列出现有和你相似的产品为何不能满足你的诉求,而你的项目又和他们有哪些差异化的特色。
当然,凡事都不要走两个极端,当你发现你的想法真的非常独特,没有人做的时候,你要考虑下是否是因为成本过大,或者受众过小的原因,才导致没有现成的产品,那么你来做第一个吃螃蟹的人,会面临的工作量和难度,你自己是否心中有数。
如果在经过认真的调研后,你发现你的想法确实在网络上没有很好的产品,那么它可以作为一个好的发力点。
一步步维护好你的作品
OK,当你有了灵感,并且对于自己的这个想法十分有信心之后,让我们来讨论一下,当你准备正式开始一个项目时,你应该遵循的一些方法和我个人的经验。
对于一个开源项目,华丽的外表并非贬义。你可能需要花大量的工作去做编码以外的工作。此外,你还需要一些推广你开源项目的手段,毕竟,如果一个项目一直不被人看见,你也会很快失去动力。但是,不要害怕,有一个好的、有效的灵感其实已经成功了一半,让我们从拙劣的模仿开始,慢慢成为大师。
能者摹形,大师窃意。
先入为主,写好README
很多时候我们点开开源项目主页,首先就会大致浏览下项目的README,所以无论如何也要把第一印象做好。
网上有很多关于如何写开源项目README的文章,这里就不展开讲了,推荐一篇写的还不错的外网翻译:如何写出优雅且有意义的 README[2]
对于我来说,有个很喜欢做的事就是贴上很多小徽章,用户会先入为主的觉得你的项目,有点“专业”。下面用几个仓库的截图举例子。
我的log-record也像上面的知