一句话来说,开源指的是那些源代码或源设计可以被大众使用、修改发行的软件或设计体。
大众最熟悉的开源软件就是安卓,相信用非苹果的智能手机用户,现在每天用的肯定都是安卓,它也是现在影响力最大的开源软件之一,如果没有安卓的开源开放,相信今天没有那么多手机厂商和移动互联网的兴起。
如果只是从生态的角度来说,苹果的生态也很开放,现在他们也推出了开源Swift。从这方面来说,其实两者都是一样的,只是开源、开放的方式方法不太一样。
Linux 无疑是开源软件里最最成功的一个,不管是从它目前的生态建设角度,还是从业界评价来看,包括今天云计算的基础也都倚赖Linux的贡献和基石。当然,像OpenStack、Hadoop 、Spark等也非常成功,这些开源项目都属于底层技术,在支撑今天整个大数据、云计算的发展。
开源并不意味着免费,开源只是说我们做了一个好东西,把它开放给大家了解,目的是希望大家更多地使用它,并反馈使用过程中的问题或者改进方式,使得整个开源项目进步得更快,能够更好地共享给更多有需要的人,目前像 Linux、Hadoop、Spark等等,都是这么做的。但很多时候开源背后还是带有很浓厚的商业背景。
做得比较大的开源项目背后都有商业公司在支撑,如果一个成功的开源项目背后没有商业公司,这是不健康的,我们需要开源和商业之间的互补对称来促进整个社区和技术的不断前进答,这是一方面。
另一方面,从开源用户的角度来看,“开源是不是免费的”其实也是一个伪命题(这里的用户指的是所有使用开源产品的企业或者个人)。
开源看上去是不需要花版权的钱,但其实企业用户招聘合适的开发人员、运维人员把这个事情做完,成本可能比买商业版本更高。
从商业价值的角度来说,开源毋庸置疑已经是基础技术领域的必然趋势,没有开源的基础技术是没有生命力的,因为它很难被广泛使用。在商业上,一个开源项目被大范围使用后,可以使得整个技术升级换代成熟起来变得非常迅速,过去可能要经过三年、五年、甚至十年的时间去进化,因为开源的力量,在短短几个月内可能就完成了。从另外一个角度来说,开源的壮大又会反哺支撑商业,毕竟还有很多客户都是希望获得商业的支持和价值。
对于开发者来说,开源与不开源很大的一个区别在于,你是一个孤军奋战的人,还是一个可以跟全世界最优秀的开发者在一起的人。因为如果你做一个闭门的项目,你所能够沟通的、接触的资源受应用场景的限制,会非常有限。但如果你是做开源项目,不管你是自己领导开源还是参与开源,你都可以和全世界最优秀的开发人员一起来玩技术,一起在社区探讨交流,这样对于自己的成长是飞速的,这也是我们自己玩 Apache Kylin 社区的一些感悟。
版权声明:本文为博主原创文章,转载请附上博文链接!