ecology 维基百科的对于生态的定义,研究有机物和它们的生态环境之间的交互。探寻生命过程,生命体生活中的物质和能量运动,生态的进化,物种的分布与灭绝。似乎是乔布斯把生态的概念引入了互联网中,闭环/平台似乎说的也是这个。
最近入手了apple家族的产品,从pc端到移动端。苹果的产品除了体验厉害,还有产品的定位。各种类型的产品功能上的无缝衔接,比如不同产品的手势操作,流畅性/类似性。iCloud在各个产品中同步你的文件,让你的资源共享。iPad给我的感觉就是,原来这才是平板,以前用过的不知道是什么。它的系统软件相互配合,自成一体。一个产品就像一个生态系统,不同的产品组成了一个更大的生态系统。这有点哲学的韵味了,但是却让我佩服的不行。
反观Linux的开放,各自为政,各个孤岛,犹如春秋战国的百家争鸣。比如shell 命令,不同的作者提供的命令参数/使用方法差异非常大,使用者必须好好看下说明文档才知道如何配合其他的命令。用户的使用体验有点像不同的线缠绕成了一团,乱成麻了。apple和Linux的策略,虽然各有利弊,出发点不同造就了不同的产品。Linux目前在服务器市场是主流,开源就像给Linux内核的核动力,让不同的人来参与优化。闭源造就了apple的生态闭合,使用体验统一,无痛使用。如果做公司,就得学习苹果,把自己的产品打造成铜墙铁壁。用软件开发产品也一样,各个产品要能揉合在一起。
webkit 是苹果开源的东西,谷歌拿去搞了个chrome,360和国内众厂商拿去搞了自己的浏览器。苹果也会从那个开源的东西里面学习东西,它并不真是一个封闭的公司。苹果的老对手,微软,以前也是封闭得厉害,国外的程序员集体diss它。可它最近几年把开源搞的红红火火,vscode,.net Core,Xamarin。微软的主攻方向从以前的操作系统变成了如今的云计算,它需要开源的力量来建设自己的云设施。所以,开源和闭源的背后,还是资本利益。作为程序员的我们,一颗棋子,也就看看大公司如何指点江山了。