为什么上到老板,下到技术人员本身都会产生【技术不重要论】,比如在座的是不是都有(或者曾经有)这些想法: “技术是不重要的(这才是私底下真实的想法,别看在公开场合说的是哈)”,“技术难以形成壁垒”,“有钱叫几个程序员就搞出来了”,“挖几个人抄一下源代码,拷贝复制一下就行了”,“别跟我说工程,我听不懂”
很遗憾,上面的话是普遍现象,很惭愧,我以前也有这种想法。有这种想法的根源是,“我们没有真正吃过技术壁垒红利,所以我们永远都不知道那是什么味道”。欧美一直在吃,吃了几百年,所以他们深知“技术壁垒”的重要性,你们可以有钱(比如阿拉伯卖石油),你们可以生活的更好(比如中国享受到了到软件红利),但你们不能在技术上追上我们,否则我们就要打压你。
那么是什么让我们觉得,尤其是在软件行业,技术不重要呢? 如果我说是【开源】 你信么?
一个工业产品要普惠,成本是最重要的。比如汽车,如果无法降低成本,就难以进入千家万户。实际上汽车属于高精尖项目,成本理论上是很高的,但最后日本人把价格做下来了,还省油,所以全世界都有日本的汽车。
回过头来,我们再来看开源,本质上,开源是【软件行业】为了降低成本而不得已而为之,尽管我们总会将其冠与更高尚的理由,譬如对于软件公司而言,这叫分摊成本,对程序员而言,这叫“开源精神”,但都无法掩盖开源的本质,那就是降低“软件”这类工业产品的成本。只有软件成本下降,才会有更多行业使用软件,才会带来更多程序员就业,带来更多的软件企业。
在软件成本通过开源急速下降后,我们可以很明显的感受到,现在,我们雇佣几个程序员,就可以搭建起一个网站,完成一个App,甚至搭建一个大数据系统,一个AI系统,并且速度很快,甚至月计,甚至周计。而我国也主要是在应用层发力。但是真正的成本所在是在基础软件层,比如科研用的matlab等软件,大数据用的hadoop体系,AI用的各种深度学习框架,还有gpu等等。这些基础软件有相当部分是开源的,这样真正的成本就被隐式的消解掉了。而在应用层的,无论是工程师,还是公司的老板,都觉得,原来这个东西并不是高不可攀,而且应用层因为本身缺乏技术门槛,因为大家都是基于同一套开源框架完成的,无非就是堆人力和堆更好的人力的区别而已。这也是【技术不重要论】的主要来源。所以也怪不得工程师和老板都有这个想法。
但这都是在大量软件免费的情况下。如果我们把这些免费的软件都进行收费,恐怕没有几个公司能玩的起了。而且这些软件都会是天价,因为企业无法借助免费软件开发自己的软件,他们的成本会非常高,而且开发的软件从普适性上也会差很多。现在一款流行的开源软件,都是世界范围内成千上万的软件工程师通过按年计算的时间得到的。事实上世界上没有几家公司能有这样的实力去开发一款软件。
开源对发达国家来说是良药,因为他们本来就是开源基础软件的主导者,他们在基础软件的开发能力上会越来越强,而且同时极大的降低了软件成本。而对于其他国家,通过开源这个良好的软件基础设施快速的构建自己的应用层,会获得良好社会收益,但是,他就像一个致幻剂,让大家误以为我们很强了,殊不知我们建立起来的应用都是基于他人的技术之上构建的。所以从某个角度,开源和盗版一样,他让你自己的国家的真正的软件企业无法成长。
【凡事有利有弊,我个人还是力挺开源的,因为开源无论如何都是值得鼓励的,他给全人类带来了进步】。写这篇文章,只是期望我们需要更加努力,通过努力也能享受到技术壁垒带来的红利,真正吃过肉,感受到肉是什么滋味。作为技术人员的你,也不枉做上技术人员了。