最近好几位我喜欢的开发者被开源工作影响到了心情,加上国内的开源环境氛围不是很好,想碎碎念来聊一下,对于开发者和使用者,我们应该以一种怎么样的心态来对待开源,让自己可以持续的快乐写自己喜欢的代码。可能有些我理解偏差地方,很欢迎大伙指出。
对于开发者而言
首先我们明确一个大前提,我写开源代码是为了让我 Happy,写自己喜欢的代码对于工程师而言真的是一件很幸福的事情,要是作品被很多人也喜欢上那就更 Happy 了。基于这个前提,就很简单了,远离一切影响我们开心的事情,首先要做的就是要拒绝,拒绝不合理的需求,拒绝你不想做的事情。
其次需要意识到其实我不需要那么负责,首先开源作品本身就是为爱发电,我们并没有通过这个来商业化赚钱,也没有签甲乙方协议,优秀程序员在工作中对待事情会很认真很负责,但是在开源社区中,假如在你时间不是很够的情况下,过于负责会让你超级心累的。
让更多人来给你帮忙,超级喜欢玩 Github 的原因是里面有很多有趣而且能力很强的小伙伴,我们可以 在使用者中寻找一批不错的同学来一起参与进来,他们也会和你一样当作一件很快乐的事情来写代码,同时你会接受到大量的反馈和建议,甚至是技术的相互学习,这样可以帮助你省去很的力气,有更多时间专注在项目长远发展上。
不要建立易于加入的社交群,开源过程中其实写代码是最轻松的,往往面对刁难不礼貌的、或者不停问重复问题的用户会让开发者很心累的,所以这里有一个很有必要的建议,不要建立微信用户群、不要建立钉钉用户群、不要建立飞书用户群,一切很方便国内社交工具加入的答疑群都不要建立,因为加入成本很低,使用者碰到问题会很急,会让你耗费大量时间解决问题。推荐使用 Github 中的 Issues 来反馈 Bug,通过 Discussions 来交流,因为这种方式是异步的,不会让你心累。
如何让自己更省心? 除去上面说的这些,还有一些地方关注到会让你更省心,首先开源产品一定要有清晰易于阅读的文档、FAQ、贡献文档,有问题先引导用户去查文档自己解决,在代码清晰有提交教程的情况下,有能力的用户可以自己来帮你提交代码,这个过程会省去很多力气。还有一个重要的,难免代码会有 Bug,发布前的仔细测试至关重要,没有问题的代码,让使用者也会舒服些。
对于用户而言
抱着合作的心态超级重要,很多时候开发者也是使用者,使用者是指使用他人开源项目的小伙伴,作为使用者的我们在寻找帮助之前需要意识到,开源项目的用户和开发者之间并不是甲方和乙方的关系,同时开发者不是客服,我们在碰到问题,或者不爽时候,更多应该抱着『一起合作来解决这个问题』的心态来弄,有任何建议或者使用不爽的地方,或者自己觉得这样弄更好,直接描述清楚通过 issue 或者邮件的方式去沟通解决,给维护者更多的输入,这样才能更好促进其发展。
抱着好奇和学习的心态,很多时候作为用户的自己去逛开源社区,逛 Github trending,经常会发现很多超级好玩的东西,也会觉得,卧槽这人好牛逼,这个代码写得真好的感叹,然后 clone 下代码,本地运行跑跑看,假如发现可优化的,就顺手提一个 PR 挺好玩的。
抱着我也可以成为开发者的心态,用户其实完全没有必要仰望开发者,其实大家都一样,也是一步一步写代码过来的,只不过他玩开源起步比你早而已,其实我们只要坚持下去,从易于接近的问题上去参与到社区贡献,甚至在你喜欢的开源产品下帮忙答疑,慢慢的让作者带着一起写代码,其实也是一种很不错的成长路径。
最后,我想说的是 Please feel free to use and contribute to the development. 大家都轻松些,松弛些,写开源和用开源都是为了我们工程师那种独特的 Happy,不需要较真。
也很期待国内的开源氛围在大伙的努力下越来越好。