来源:2020-07-15 | 人围观
《大教堂的建筑故事》
可以进入下面的链接了解一下教堂的建造 https://k.sina.com.cn/article_5044281310_12ca99fde02000t6ru.html
在写这篇文章前,我要先引用一个孔子的故事”子贡赎人”
鲁国之法,鲁人为人臣妾于诸侯,有能赎之者,取其金于府。子贡赎鲁人于诸侯,来而让,不取其金。孔子曰:“赐失之矣。自今以往,鲁人不赎人矣。取其金则无损于行,不取其金则不复赎人矣。” 子路拯溺者,其人拜之以牛,子路受之。孔子曰:”鲁人必拯溺者矣。”孔子见之以细,观化远也
有感于最近看了 Linus 说 Linux 后继困难,再看到国内轰轰烈烈的开始的国产可信替代化工程,和 MATLAB 的封锁事件,以及之前 2 月份,我尿坛分享的一本书《大教堂的建筑故事》( Cathedral: The Story of Its Construction,David Macaulay 著)和一部剧《圣殿春秋》。我想来谈一下今天我的看法,即“大教堂与市集”。我们到底怎么来看待开源软件与商业软件。
《大教堂与集市》
世界上的建筑可以分两种:一种是集市,天天开放在那里,从无到有,从小到大;还有一种是大教堂,几代人呕心沥血,几十年才能建成,投入使用。 当你新建一座建筑时,你可以采用集市的模式,也可以采用大教堂的模式。一般来说,集市的特点是开放式建设、成本低、周期短、品质平庸;大教堂的特点是封闭式建设、成本高、周期长、品质优异。 Eric Raymond 就问了一个问题,有没有可能用修建集市的方式,造出一所大教堂?
曾几何时,我们都觉得开源就是力量,世界必然会被开源改变,商业公司恶臭不堪,我们都是不食烟火的理想主义者。随着年龄的增长,我开始反省当年的这些言论,并且有了新的看法。
开源的集市终是难做成大教堂
Linus 最近说自己年纪大了,能够接班的人不多,对 Linux 的未来有担忧。其实这就是松散的集市带来的问题。因为松散的集市是自发组织的,他们在组织的过程中慢慢的来摸索搭建管理方法,并且通过类似街头斗殴的方式来达到最终的管理平衡。
而大教堂则不同,那些伟大的教堂搭建动辄要几十年到一百多年,在这个过程开始前,他们必须要做好所有精确的计算,包括图纸的设计,材料的消耗,人员的更叠,各方的支持,以及资金的来源。他们必须要有严格的分工,和完善的管理能力,要聘用最好的工程师家族,因为这个工程将消耗至少二代人的心血才有可能完成。
所以如何持续管理就是摆在大教堂建设者前非常严重的问题,他们会使用到今天看来都不落后的管理学来挑选和培养人才,并且不停的将一切步骤尽可能的标准化,将每一个岗位的选人和培养标准化,通过不断的标准化使得这个横跨几十年的工程能够用最佳状态完成。
而松散的集市也会在伴随着教堂的搭建一直存在大教堂的周围,并且随着大教堂的慢慢耸立,集市也不停的扩张。但最终宏伟的大教堂竖立在那里的时候,集市也成片的形成。只不过集市里的人换了一茬又一茬,他们还是平平的铺在那里。
MATLAB 引申说开去
最近新闻说到 MATLAB 的事件,很多国内软件开发者表示 ,MATLAB 就是屎,性能极差,人机不好,架构落后,并撰文众多的表示用 Python 或者 GO 或者其它 xxx 都可以做出一个比 MATLAB 好一万倍的软件,来支持打倒美帝。
MATLAB 就像是大教堂,他从诞生至今已经几十年了,他确实有各种缺点,但是这几十年的商业过程里,他累积的则是大量的行业经验算法和数据包,这是他最为宝贵的材料。而国产软件固然可以轻松的用现代化的软件架构在程序层面上赶超 MATLAB,可是程序仅仅是最基础的一个层面,那些行业算法包和数据包从哪里来?这就成了一个难题。使用开源的力量让各行业来贡献算法包和数据包?不同于开源软件,行业算法和数据都是各行业赖以生存的经验,想要开源等同自杀。所以这个美好的想法就越来越留于纸面,最近看到前东家也出了 GO+,但是还是不解决行业数据包的问题。
顺便普及一个概念,行业算法和数据有多重要。一般搞互联网软件开发的人是不知道传统行业一个经验数据的获得有多大的代价。
以二战的时候战列舰用装甲钢(渗炭钢)为例子,渗炭钢的原理所有行业的人都知道,怎么制造的工艺,所有行业的人也知道,因为论文是公开发布的。但是怎么渗炭,渗多久的炭,渗炭温度是多少,渗炭后续操作是什么,最佳的硬度是什么样的关系。对不起这些就是行业算法和经验数据了,这些东西是不会公开的。以二战为例,当时日本就是把做好的各种比例装甲钢板用大和主炮一炮一炮的去轰,轰出来的最佳匹配数据。轰一次多少钱呢,反正是天价。这部份数据永远不会出现并被开源,因为直到今天这些数据都是无比宝贵的,因为你不可能有 460 主炮去研究这个了。(顺便在这里说一下,二战的战列舰护甲是今天所有反舰导弹都打不穿的)
诚然在波澜壮阔的 20,21 世纪,我们的开源软件业发展蓬勃,同时受益于开源软件的影响我们很多人和很多企业都靠这个有了饭吃。但是伴随着软件行业越来越成熟 ,开源软件的局限性也越来越会被体现。毕竟松散的组织架构在大型商业软件面前是没有办法对抗的。
以设计软件为例,AutoCAD,Adobe 这二家公司的软件至今都没有成熟好用的开源替代品出现 。很多人会问这是为什么,也有很多人会用各种例子来证明,但是在这里我说一个我的观点,信息代价。
普通软件调试和发布一次只需要 1 分钱(按下 F8 或刷新一下 WEB 页面,用掉的电费) 电子硬件系统调试一次,1 元钱(插线插元件,烧录程序,启动) 工业软件调试一次 100 元钱(软件商业版本均滩价格) 工业软件上生产线调试一次 1000 元钱(随便开一下测试生产线的价格,比如模具) 对你会发现,越接近实体,就越昂贵,只有完全脱离实体的东西才便宜。但是正因为实体所以他的价值护城河就特别高。
Adobe 和 AutoCAD 这二家公司的产品在研发阶段需要大量大量顶尖的软件人才和行业人才参与。而行业人才的价格天生就不便宜,他们也更尊重个人价值。试问开源软件如何获得这种能够建筑大教学的行业人才来参与项目,所以市集的开源软件就一直只能平铺的展开。在专业软件领域,开源软件就很难去和商业软件竞争了。
曾经有人在社区里问“为什么找美工画个 LOGO 要收钱,现在不是都开源么,美工怎么这么拽”于是我也用我的信息代价来回复他。
任何一个美工都有至少 10 年的画画经验,按照十年前一个小朋友学画画,请老师,买耗材,基本需要 1 万元 /年的开销来算,10 年至少要 10 万元。这些费用是额外的,在正常学习费用之外所要花掉的钱
你学开发花过多少钱,买计算机,算 10 年 3 万了,学习就只有电费和书的成本了。 试问你小时候花了 10 万元学会的东西,今天有人叫你用你的经验免费做个 LOGO 你肯么。 你就是叫学 EE 的给你免费修个电子产品,人家都要皱眉头呢,EE 读书的时候比你要多买一堆电烙铁,示波器呢。 于是这又引出另一个话题,为什么互联网行业总是热爱 AI,热爱取代这取代那,因为他们总是获得不了自己想要的资源 。这里不引申来讲了。
所以虽然今天我们的开源软件确实非常繁华,但是商业软件从末黯淡过,并且因为我们(指我们自己)长期缺失了商业软件,导致今天很多问题突然就被放大了,甚至部份公司借用这个问题开始发不义之财了。
比如操作系统,比如文字处理,比如 CAD 和图像处理工具,比如行业软件系统。按照道理我们这个 13 亿人的国家,有着无比旺胜的经济和制造业活力的国家,以工业产值来养这些软件企业是没有任何问题的,可是为什么我们没有呢。
答案是免费带来的恶果。
曾几何时,90 年代到 200x 年左右的时间,国产软件还是有着自己的一片天地,虽然过的不好,但是还是在努力发展,也有企业买单。但是在此之后,在互联网大潮和开源影响的碾压下,国产软件就集体崩溃了,传统软件行业因为没有钱,也招不到好的人才,人才全涌向了互联网做外卖,做短视频,做电商去了。导致这一块快速空缺,我们的根也就没有了。而今天国家开始用集团采购扶持国产软件的时候,又看到了非常多的黑暗面。
但是这又是正常的,试想一下在资本之下,一家公司从 0 开始动辄研发 5 年的软件,谁会去投?所以这一个怪圈之下我们的软件怎么发展,没有人知道。
但是就像这个世界,即有光明也有黑暗,有教堂也有市集。我们的下一个 20 年应该是回到商业软件的市场中去了。
我们现在回头来看,那些中大型的商业软件行业,从末被开源软件征服过,他们都在自己的领域里顺风顺水,同时他们的开发人员也有着优渥的生活待遇。这些商业软件遵照着传统的运营规范,他们中的大多数可以成为一个屹立不倒的教堂。
而开源的市集也在大教堂的边上,成片成片的一起。