仓库源文

.. Kenneth Lee 版权所有 2017-2019

:Authors: Kenneth Lee :Version: 1.0

含德之厚


在知乎上申请的这两个专栏(“道德经直译”和“软件构架设计”),经常让我精神分裂,每 个写的文档我都不知道让它属于哪个好。我常常借道德经的概念证明我的构架设计理念, 反过来又用构架设计的理念来证明道德经的概念。但这两方面的读者常常又是不同的,这 在写作的时候很容易让我把脑子乱掉,最后权衡厉害,我就的策略是:随便吧,爱谁谁: )

什么是含德之厚呢?我觉得要理解好这个概念,应该先理解好另一个概念,什么叫“数穷” ?大家玩过2048这个游戏吗?

这就叫数穷:

    .. figure:: _static/数穷.png
            :alt: 数穷

能机动的都被你机动完了,怎么玩都是个死字,这就叫“数穷”,已经没有小狡猾可以玩了 。什么是不数穷呢?这样:

    .. figure:: _static/不数穷.png
            :alt: 不数穷

大把余地,想怎么玩就怎么玩。想死都不容易,这就是“含德之厚”。我们做战略,千方百 计,都是让自己含德厚。所以我们走大路,不走钢丝。走大路无名,不牛逼,但走大路有 无数的余地可以面对未来的风险。时间总是在前进的,包袱总是越来越多,如果我在刚开 始的时候就耗尽我的余地,后面就没有什么“机数”可以用了。

所以我们喜欢这样的状态:

    .. figure:: _static/不数穷而高.png
            :alt: 不数穷而高

走到相当的高度了,但还有很高的自由度。这就是含德之厚。

所以,为什么做战略这么强调“慈”和“俭”,“慈”和“俭”是不把“机数”用尽。让自己拥有更 高的自由度。为了写这一篇,我先用了前一篇“报怨以德”来做准备,你可能以为,老子报 怨以德,坏人不会得到报应了,但各位可注意到道德经是怎么说的?“常有司杀者杀。夫 代司杀者杀,是谓代大匠斫(zhou2)。夫代大匠斫者,希有不伤其手矣”。圣人不来杀你, 是为了不伤手而已,你以为没人杀你?

我以前谈过构架设计的基本策略:反者道之动--欣赏架构设计的基本逻辑 - 知乎专栏 , 里面谈到的“控制熵增”,其实本质也是这个道理,是要保证不要早早把“机数”耗尽了,为 无所谓的目的而把自己的余地全部消耗了,这样的东西就不会长久。

余地是用来解决关键问题的,不是用来求礼的。如果你用来求礼,就怪不得为什么自己是 个小人。

很多人觉得我解释道德经解释得很简单,觉得自己懂了,在那里夸夸其谈,却不知道这些 只是照出自己的无知。我以前给一个产品介绍开源的原理。有个工程师问我,Linus Torvards经常在网上骂人,是不是因为现在他已经控制不住Linux了,所以需要通过骂人 来刷存在感?

我心里不由得说,你真是外行以小人之心度君子之腹。Linux两个半月一个版本,每个 Open Window 2000(好像是1000,无所谓了,差不多吧)一级开发者(这意味着背后还有 不知道还有多少公司在撑腰)向里面提交代码。还有几个软件有这样的演进速度啊?你也 不看看多少嘻嘻哈哈一片平和的著名开发社区现在越走路越窄的?

如果你们要理解Linus是个什么人,应该好好去听听他在DebConf14上的Q&A(网上应该有 视频),那里深刻地给你展示了Linus是个什么人。那个演讲有好几个地方值得关注的:

第一,有人问他,Debian做什么特性,会让你喜欢?Linus说,我不太关心发行版给我做 了什么,我有自己的生活,发行版也不是给我做的。

第二,有人问他,我们在社区中一起努力,不是应该互相尊重的吗?这已经明显在暗示 Linus老骂人了。Linus说,每个人有自己的性格,我们不强求别人是什么性格,就我个人 来说,我和我喜欢的人合作,社区的其他人,也应该可以找到自己喜欢的人来合作。也许 有人喜欢互相尊重,礼貌地交谈。但我个人认为,“尊重”,你要自己earn it,而不是ask for it. (信不足焉,有不信焉)。但即使如此,“我认为,(你喜欢工作在一个互相尊 重的环境中),it just fine,你可以找另外的人合作,社区(比如Linux)不会拒绝的”

第三,说到glibc的接口标准化问题,Linus讽刺了半天,说自己在内核中大力保证了接口 的兼容性,而glibc就一天到晚因为标准问题而更改兼容性。他甚至很武断地说,如果有 人依赖一个bug,那么这个就不是bug,这是个特性!这些话,如果细究,其实都是有问题 的。在讨论中,很多人都不接受这些观点,但他们一方面考虑这个问题,一方面却不会因 为他这样说而不去解决具体问题。而且我认为在讨论中,那些人也让Linus接受了这个东 西的难处了。如果你不明白什么是“民不畏威,则大威至矣”是什么,这就是了。

所以,很多人以为“慈”,“俭”,“不为天下先”是有样子看的,有样子看的就不是“大”了。 天下皆谓我道大似不肖。夫唯大故似不肖。若肖,不久矣。整天做出一个随和老头的样子 就是“圣人”了?那是名!那是众矢之的好吧?只要你个人有利益可图,你就是可以被独立 突破的对象,你就是破绽了。化身天下,是把你个人杀了,你的战略都不会死。所以你才 是含德之厚,没有必要把你杀了。

所以,“圣人”眼中是不看“名”的,你圣人追求的是“利”而不“害”,“利”是真切的“利”,不 是你小心思里的那个“待人随和”的那个“名”。利是“乐与饵,过客止”那样的“利”,是能吃 进肚子里的,不是表面的Nice。Linux天天骂人,无数公司还是屁颠屁颠送代码过去,那 是什么?那是“利”!

你以为Nice是利,那因为你还是把那个“名”捧在手上爱不释手呐。

至于刚刚开始做事的学生,还是好好学习知识,道德经这种东西不会适合你的。

.. vim: tw=78 fo+=mM