1,什么是开源
关于什么是开源,这是一个很大的话题。先来看定义:“开源(open source)”这个词,指的是事物规划为可以公开访问的,因此人们可以修改并分享。
这个词最初是起源于软件开发中,指的是一种开发软件的特殊形式。但到了今天,“开源”已经泛指一组概念——就是我们称之为的“开源的方式”。这些概念包括开源项目、产品,或是自发倡导并欢迎开放变化、协作参与、快速原型、公开透明、精英体制以及面向社区开发的原则。
2,开源心态
一些人把开源理解为是一种哲学,还有些人则认为这是一种实用主义,我个人倾向于认为这是一种精神。这种精神是:我希望把我的东西能够分享出去让更多的人去使用它。就像一直以来听过的一个小故事,你有一个苹果,我有一个苹果,我们交换,然后我们还是只有一个苹果。但是你有一种知识,我有一种知识,我们交换,每个人就有了二种知识。这种分享共赢的例子比自己固步自封的徘徊还是有一定的优势。对于开源者来说,能够从中获得什么东西各有不同,有些人为了金钱,有的人为了利益,有些人为了兴趣。但是清楚的一点是,一旦开源出去了,别人怎么用它就跟你没有任何关系了。不要惧怕被人把代码抄去卖钱试着想在自己代码里面埋点病毒什么的,既然选择开源,就不要担心这样那样的。
3,开源社区
3.1开源社区用户
用户来自五湖四海,各行各业,带着自己的经验发表着不同的意见。
3.2 开源社区开发者
开发者可能来自于不同的公司也可能来自于同一个公司,取决于不同的目的。就是因为开源的技术与理念的不断传播与认可。从比特币时代起,开源社区对区块链的技术发展就起到了绝对的推动作用,可以说社区,特别是技术社区聚拢了区块链技术前进创新的核心人物,并且一直在推动区块链的不断演变和创新。
说到这里,不得不提到之前看到过一个区块链项目NULS的新加坡开源技术大会传播的理念:开源技术社区是推动区块链技术革新的源动力。开源社区使得成员能够共享科技创新的成果,让开发者立足高价值的开发工作并进行良性竞争,对区块链技术发展具有重要意义。NULS非常重视区块链开源技术社区的建设,希望利用CCC能吸引到更多对区块链有抱负、有梦想的开发者一起加入开源技术社区之中。清晰的新人入门流程和辅助教程、社区拥有参与核心技术开放讨论、构建的机会、支撑起强大技术社区的理念支持和宣导、好的代码吸引优秀的程序员、把打造强大的开源技术社区当成一款产品来看待,是建设好开源技术社区的必要元素。NULS开源技术社区拥有平等、共建、分享、公平的理念,NULS CCC 是NULS社区核心开发者团队,将与NULS核心开发团队通力协作。NULS希望凝聚开发者的力量,不断创新突破,共推NULS生态的发展,共享发展成果,共促区块链行业的进步。项目如果不开源的话是很难做到这样的。
4,开源的应用
最能直观体验的是手机系统安卓平台是“开源”,iOS是“闭源”,就是说安卓建立一个平台,允许所有软件公司在平台上表演,但IOS只允许自己也就是“iPhone”表演。再从大的公司方面看,如果没有开源软件,信息技术起步晚的中国,不可能有那么多的移动、云计算、大数据、人工智能领域的初创公司能做到今天这个程度,比如小米、锤子等,这些公司赖以生存的基础技术,Android、OpenStack、Kubernetes、MySQL、MongoDB、Hadoop、Spark、Impala、Python、TensorFlow、Caffe 等,其中很多都是 Google、Facebook 等大公司开源的,一些项目虽然不是大公司发起,但也获得了大公司的大力支持,其社区才能健康发展。
所以,现实情况是,开源软件允许初创公司直接享受前人的成果,集中精力进行业务层面的创新。并且开源并不代表不是自己家的东西,不利于自主可控。但实际上开源软件,也意味不会受制于单一厂商,这是更全面的自主可控。对技术从业者来讲,公司的项目开源,即使换了一家公司,自己也是可以迅速上手操作的。
回到最近很热门的话题,在区块链的世界中,开源同样具有不可磨灭的魅力,基于共识与激励带来了不一样的生产关系变革。区块链目前仍然处于很初级的阶段,我们可以想象,未来的区块链项目中也会或多或少的诞生出优秀的开源技术与开源社区。而后的企业跟着前人的脚步,根据自己的业务需求,不断调整向前。所以我们对这些前行者,还未放弃在苦苦挣扎的先驱,致以敬意,他成功了皆大欢喜,失败了也能告诉后人,此路不通,你看着再看怎么搞吧。但是,不管怎么样,我们应该对其落地探索寄予信任,共同期待,作为开源社区的一份子共同努力,共同见证属于区块链的即将到来的新时代。