在前面的两节内容中,我分别介绍了:
开源项目能够带给我们的好处,为什么需要一个开源项目
如何快速上手一个开源项目,参与到其他开源社区中的一些注意事项等等
今天是这个系列的第三篇,来简单聊聊如何开始写自己的开源项目。
首先需要说明的是,无论是参与到已有的开源项目中,还是自己去写开源项目,都是很不错的方式,并没有绝对的哪个好哪个不好。
我们只需要在当前的状态之下,找到适合自己的参与方式就好了。
如果要写自己的开源项目,一般可以从这几个方面去入手:
一是有了好的商业契机,想要创业,并且将自己的项目开源出去,寻求更多的关注度。 但是读者中估计符合这种情况的比较少,我自己也还没有达到这种高度,后面有机会再聊。
二是在自己的日常工作中,发现了一些非常不错的点子,觉得这个 idea 有比较大的价值,所以本着锻炼自己的需要,自己折腾了一些相关的组件,然后将一些内容开源出来。
三是自己在日常工作或开发中,用到了一些第三方的开源组件,对这个组件本身比较熟悉了。并且愈发的觉得组件本身可能存在非常多的问题,有很大的优化空间,在这种情况下,有的人会选择回馈上游社区,帮助开源社区进行迭代。 当然也有的是另起炉灶,重新基于自己的新的思路、设计,去开启新的开源项目。
四是完全出于自己的学习需求,比如自己的一些学习笔记,学习心得,刷题方法,刷题记录等等,这一类开源项目一般戏称 README 项目,当然我自己倒没有觉得有任何的不妥,不同的开源项目本身有自己不同的受众。 并没有说谁的项目技术更硬核,就更牛逼,只要自己的项目对自己是有帮助的,或是对受众群体有帮助,就是一个非常不错的有开源价值的项目。
五是出于自己的折腾心态,想要去搞一个项目,这应该符合大多数人的情况。 无论是去用新的语言去重复造一个轮子,还是基于自己的一些奇妙的想法,亦或是基于某些学术上的论文去实现等等。我最开始搞 rosedb 的时候就是这样一种状态,当时看到了一篇写的不错的论文,然后就自己去实现了。
以上这几点,就是在我看来,常见的去搞自己的开源项目的一些点,大家可以根据自己的需求、实际情况,然后去挑选自己感兴趣的领域进行切入。
如果你已经开始写自己的开源项目,那么恭喜你,你已经比大多数的开发者拥有了一个更加吸引人的特点。 它可能在短期内并不会带给你任何的收益、成就、提升,但是只要能够长期坚持下去,一定能够从中获得一些回报。
最后我想再提一点,那就是在刚开始写自己的开源项目的时候,需要注意的一点心理上的调整。
最重要的是要摒弃害羞,怕丢人的心态,可能自认为自己做的东西很垃圾,开源出去之后怕被别人指点、嘲笑。但是我们要朝着长远的利益去看,任何项目在早期可能都是非常不完善,甚至是小儿科的,但是任何小事都经不起长期的坚持,只要能够日益完善,一定能够做的更好。
有的时候需要锻炼自己的强大心态,针对别人毫无意义的诋毁,最好的处理办法可能是一笑置之,坚持去做自己喜欢,自己擅长的事情。
那些喜欢在网络上诋毁别人的人,大概率自己本身就是一个没有什么能力的人,所以针对这种人,我们要保持良好的心态,不要被别人影响。 我们可以时常在心里暗示自己,我把自己的东西开源出来,能够帮助到别人,并且提升自己,针对那些诋毁者,你又有什么拿得出手的成就呢?