软件正在慢条斯理地吞噬世界,开源正在慢条斯理地吞噬软件业。
软件正在吞噬世界?是的,对于购物、吃饭、健身、交停车费都需要使用软件的年代,对于平均每人每天都要花费5到6个小时使用手机软件的年代,有什么理由不相信软件正在吞噬整个世界呢。
开源正在吞噬软件业?是的,因为在软件越来越富裕的年代(也即软件不再稀缺),不开源的软件,最终是没法和开源软件竞争的。举个简单例子,如果有人要在很多个文件加密软件中选择一个使用,在功能和价格都差不多的情况下,选择开源的还是闭源的?当然要选择开源的,因为谁知道闭源的软件中,会不会有后门?
开源的成功程度,或者说开源的渗透程度,从中国银行业的广泛采用就可以看出来,银行作为一个在IT方面相当谨慎和保守的行业,在年(一个大约的年限)之前对开源基本上不屑一顾,使用的基本上全是商业软件(这里是指专有软件),他们认为商业软件更专业、质量更高、更可信赖、更有保障,他们中不少人视开源软件为异类,对其功能、性能、安全性表示担忧,最重要的是,他们担心开源软件出问题后找不到“原厂”解决问题和“承担责任”。
然而就在年以后,银行业逐渐增加了开源的使用比例,这里面有很多原因,最重要的一个原因是,在Linux面世20年后,很多开源软件已经成为比商业软件更好的存在,以至于咨询商、集成商、开发商们在为银行提供解决方案时,所拿出的最佳方案已经是基于开源的方案,银行(作为甲方)已经无力拒绝。比如,如今当一个银行要建设其自用的云平台时,在咨询和调研一大圈下来,他几乎一定会选择基于openstack的方案,如果想使用容器技术,就几乎一定会选择容器编排软件kubernetes,这时,已经顾不上有没有“原厂”了(事实上还是有服务商兜底),因为没有太多更好的选择了。
银行虽然还在使用Vmware、Oracle、Websphere、Weblogic,但是KVM、Mysql、Apache、nginx的渗透已经越来越严重,多数银行的Linux主机数量早已超过了Windows服务器,因为Linux早已成为整个世界的主流的服务器操作系统,而且还有像Redhat这样的商业支持,为什么不使用呢?
据调查,各家银行的IT部门,在最近5年内,已经不得不正面开源这种“新事物”给他们带来的“问题”,因为对开源的引入、使用和运维,显然和以往闭源软件有明显不同,他们开始写出开源软件使用管理办法,并指定专门处室来负责管理。
而那些有先见之明的企业(尤其是互联网企业),早已组建了开源办公室,早已把自己的整个系统建立在开源软件之上,并且早已在开源世界投入了大量的资金和人员,毫无疑问,他们也早已从开源中获得了巨大的收益。
那么,开源到底依靠什么,让自己大获成功?
本文分析了开源的7大理念,有助于读者更好理解开源的本质要素,这些理念为“完全自主”、“高度开放”、“自发自治”、“自下而上”、“自由竞争”、“赢在声誉”以及“社区赋能”。
完全自主
开源之所以能够大行其道,是因为所有程序员都喜欢源码。
这就是开源的原生动力。
黑客希望自己有完全自主和完全可控的世界,这和其他人没有两样,但黑客有可能在计算机软件领域实现这一点。
没有源代码就无法掌控世界吗?是的,如果一个操作系统是闭源的,黑客在使用操作系统时遇到bug而无法修改,遇到需求而不被采纳,试图研究而无从下手,遇到垄断、高价、霸王条款而无可奈何,哪里还谈得上掌控世界。
再如,黑客写程序,他希望有一个自己能够控制或者是能让自己放心的编辑器,不仅仅需要这个编辑器足够好用,而且最好不会有后续的麻烦,比如不会有license的麻烦,不会有厂商停止服务的麻烦。黑客希望这个编辑器能尽在掌握之中,遇到bug,自己或者有人能将其修复,一些想要的功能,自己或者有人能将其实现,而且最好是,自己怎么折腾这个软件,也不会陷入法律方面的麻烦。
也就是说,黑客喜欢在一个无拘无束的、自由自在的环境下,干自己喜欢做的事,这是多么美妙!
黑客想要开源的操作系统,想要开源的编辑器,还想要开源的编译器、开源的浏览器、开源的数据库、开源的webserver、开源的云环境、开源的虚拟机软件、开源的大数据工具、开源的人工智能软件。。。总之,如果一切都开源了,这就是黑客感觉最自由和最自主的环境,这就是黑客的理想。
如果很多人都有这样的需求,而又有人能把它实现,那这件事就必然会发生。
人类社会是很有意思的,一些人的需求,会成为另一些人的动力,当程序员们渴望源码的时候,自然就会有黑客奉上自己精心打造的源码,不管他们是否意识到,在所有的需求满足背后,都暗藏着丰厚的回报。
当黑客们想要开源操作系统的时候,Tanenbaum带着MINIX出现了,当人们希望它有更多的特性时,Linus拿出了Linux,当人们需要webserver时,NCSA拿出了Apache,作者一开始开源自己的代码时,并没有想太多,可能仅仅就是想说:“兄弟们,看看我写的这个东西怎么样?你们试试用一下?有啥问题,或者有什么新想法,欢迎给我发邮件!”时至今日,在企业越来越多主导开源的年代里,这种原始的动机仍然存在,前段时间开源的TDengine,其主要作者陶建辉在文章中写道:
“要是有程序员仔细研究我们源码,看我们是怎么做到的,我会特别的开心。要是有程序员能把我这套方法借鉴过去,把他现在臃肿的系统大幅裁剪,把性能大幅提升,那我更会心花怒放。昨天有人在