2018年6月25日-27日,LC3大会(LinuxCon + ContainerCon + CloudOpen)第二次来到中国。InfoQ中文站记者对三天的大会进行了观察,与读者们分享一些摘要与感想。
Linux基金会主席 Jim Zemlin在第一天早上的主题演讲分享了一组数统计据:Linux目前已经占据了 100%的超性能计算市场,82%的智能手机市场,90%的大型机市场,62%的嵌入式市场,承担了 90%的公有云负载,并且是当之无愧的互联网服务器头号玩家。
而今日的 Linux基金会也远远不止是 Linux这一个项目。安全方面,有 Let's Encrypt、Core Infrastructure Initiative项目;网络方面,有 ONAP、Open Daylight、Cord项目;云计算方面,有 Kubernetes、Cloud Foundry、Cloud Native Computing Foundation(CNCF);自动驾驶方面有 Automotive Grade Linux项目;区块链有 Hyperledger项目;边缘计算 /嵌入式方面有 Zephyr、Yocto、Edge Foundation项目、Web开发方面,有 node.js、JS Foundation等。众多项目各有各的背景故事与发展态势,Linux基金会在各项目中扮演的角色也不尽相同,但围绕 Linux建立的生态从中可见一斑。
一如以往 LinuxCon的惯例,Linus在台上接受了 Dirk的一对一采访,谈论 Linux内核社区的发展情况与他所关心的事情。Linus的有些观点未必是多么新的东西,然而这些他一直以来的思考与实践对工程师而言非常重要。
第一个重要的观点就是:工程师要爱上“无聊”。今天的世界太过精彩,人们可以轻易的在外面找到各种看起来很新鲜刺激的事物;但是对于工程师而言,把工程细节搞对才是工程师应该做的事情。“无聊”不是什么坏事:对于 Linux内核这样的项目而言,保持健康的生长就是足够开心的事情。
第二个重要的观点是关于技术冲突与技术决策。Linus说技术冲突不是什么值得担心的事情。你有你的技术方案,我有我的技术方案,如果一开始选择的方案错了,的确会浪费一些时间,但是在他看来这不是什么大问题。在 Linus看来,真正的“大问题”是“非技术冲突”。“宗教战争”是 Linus最讨厌的事情。在内核社区当中,如果我发现我错了,那么我会很高兴的说“我错了,你干的很好”,然后我把你的代码拿来用。Linus认为这是内核社区做的特别好的一件事情。
第三个重要的观点是关于信任。在内核项目当中,有一批维护者是 Linus所信任的,信任体现在这些人提交的代码 Linus可以不去亲自看也很放心。而信任并非是一开始就建立起来的,从新人进来第一次提交代码到多次提交代码,这些都是积攒“人品”的过程。其中一个重点在于,针对 patch的“解释”可能远比 patch本身更重要。每一个提交代码的开发者都有责任解释清楚为什么自己要写下这些代码。然后,他们的态度是最关键的。你愿不愿意花力气向别人解释你的代码?你愿不愿意以“无聊”为乐?你愿不愿意承认“我错了”并欣然接受别人的代码?这些都是非常重要的人品。
华为在开源方面投入多年,对整个开源价值的理解也在不断的演变。华为发言人表示他们从客户那里学到了很多东西,从社区那里也学到了很多东西。
客户想要基于开源的产品解决方案,这可能是华为这样的企业认真投入开源的最重要的原因。早期的华为对于开源项目也是拿来用用就可以的状态,但是随着上游版本迭代几次之后,他们开始发现,要跟上上游社区的节奏、把开源用好,其实可能比自己开发还更困难。然而,华为认为这是必须突破的困难。而且,单纯跟随上游社区的节奏再维护自己一套修改的东西,这个维护难度也是非常大的;所以,扩大自己的影响力,尽可能把自己研发的东西贡献到上游社区,反而是长期最经济的做法。
本次大会期间,华为云发布了 Mesher服务网格。当被问到服务网格的成熟度是否还不足时,华为发言人表示,在今天基于云计算这种“服务化”的场景下,上新的速度已经与以前大大不同了。以前需要打磨一年才发布的产品,现在可能只要有人关注,用一周的时间把它服务化、上线,其实是一个合理的做法。因为,相比服务本身在技术上有多完美,其实更大的价值是在于有多少人用这个东西。有人用,就有了反馈,基于反馈去改进服务,这要比闭门造车更高效。