开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值。
现在大部分公司产品的基石都是开源项目,从开发包到产品本身。我甚至在想,没有开源项目的世界将会是一个什么样的世界。互联网的共享精神让互联网得以如此的快速的发展。
但是很多人仅仅局限于在用开源项目帮助公司快速的构建起平台,产品,其实开源项目还可以成为你的良师益友。
拓展你的社交关系
全球最大的代码社区 github 是一个社交的好去处。不管是我们共同在开发一个开源项目,还是我们一起在用一个开源项目,依托于开源项目,我们有了社区,有了共同的话题。我们参加各种技术会议,我们因为这些开源项目而被彼此拉近,结下了深厚的情谊。基友万岁!
成为你代码范例的宝贵来源
我有个项目需要读取Kafka,然而我第一次接触Kafka的API,去Google后,发现那些代码片段太Demo了,而直接这么拷贝过来的代码片段往往隐含着巨大的危险。我一直在读Spark的代码,我就去翻阅了Spark中读取Kafka的代码,写的很漂亮,而且是“工业级”的,复用度也足够好。我觉得没有比这更美妙的事情了。我想学Yarn编程,除了看书,我还想看看真实的“工业级”代码是什么样子的,于是我去研究Spark 里的Yarn相关的代码,真的是很赞的一件事情。开源项目才是你真正的代码范例的宝藏,尽情的去挖掘吧。
代码规范的楷模
代码除了要运行,还要能够被阅读。每个开源项目都会对代码规范有要求,而且被证实经得起大量的协作考验,比如Spark的scala-style-guide规范,然后进到具体的项目里,你还可以看到这些规则是如何的被有效的实践的。看Spark代码你能感受到一种美感。WeChat_1450009166.jpeg
当我看到红色框住的那行代码时,我感动的泪流满面。
编程语言的好教程
我曾经是是很多语言的的程序员。C,PHP,Ruby,Java,Python,JavaScript,Flex。后面我学Scala,这是一个美妙的富有学院派气息的,将面相对象和函数式编程完美统一的具有强大类型系统的语言。我从Spark源码里看到了很多很有趣的用法,在了解开源项目的同时,我的语言知识也不断的得到了更新。它是一个如此优秀的老师,汇集了众多Scala老手的经验,而这些我都可以通过Spark项目得到很好的学习,还有传承。
是的,开源项目证明了一门语言,成就了一门语言,也是最好的布道者,也是我们的好的语言老师。
获得认同感
无论是作为开源项目的Contributor 还是资深用户,你都会被很多人所敬仰。当然,他们并不是敬仰你,而是敬仰你在开源项目努力。并且大家能够从你身上更多的了解开源项目,并且能够让开源项目更加稳定的运行在他们的平台上。 认识社会动物,根据马斯洛人类需求五层次理论,他让程序员一下上升到了尊重需求和自我实现 这两个最高级别的需求了。恩,真的很棒。
向开源项目致敬
开源项目是我们的良师益友,让我们向它致敬吧。