开源的定义

来源自玉伯的专访

1. 拿来主义。懂得从现有成熟开源项目中去挑选符合自己需求的项目,直接拿来用。程序员容易犯一个病,就是什么东西都想自己造,或者对别人造的,浅尝辄止就判断别人的不行。真正的拿来主义,需要一颗谦卑的心。在「拿」的过程中,需要去看文档,甚至去读源码,这些过程,对程序员的技能增长都非常有帮助。很多程序员的技能提升,并非是写的代码太少,而是看的代码不够多。懂得去看、去理解、去用,是迈入开源世界的第一步。
2. 参与比主导更重要。开源世界里永远不会有完美的项目。当你学会了「拿来主义」后,在使用开源项目时,肯定会遇到各种bug、各种特性不满足。这时,你可以自己去新开一个项目,也可以参与到该开源项目中去,帮助作者一起来完善。个人觉得对于绝大部分项目来说,参与进去帮助完善是更明智的选择。参与进去,可以让你更懂得美,懂得感恩之心,懂得回馈之情。这在过程中,你的功力,往往也会大增。不光是技术上的进步,还包括英语读写能力。在人性沟通上,你也会收获很多,这是无价的财富。
3. 重视社区。除了代码,还有文档、测试用例、Issues 管理、版本发布、升级策略、书籍、视频等等。jQuery、Backbone、AngularJS 等成熟项目,成熟的是社区,而不是源码。好的社区,是在 Google 中一搜索,就能找到不少资料。好的社区,是你踩过的坑,经常已经有人也踩过并整理分享出来了。社区的形成非常不易,如果选择了开源,从项目一开始,就尽量可能的去让社区逐步形成起来。社区形成后,开源才会活起来,否则就是死开源。

另外对于专业的程序猿的定义我感觉很精准:专业是指具有了不起的技艺或经验,并为其他人解决问题,无论问题有多麻烦。

你可能感兴趣的:(开源的定义)