主题:鸿蒙只是套皮安卓的各位出来要不要表个态啊 -- DDDgva
从法律和商业的角度看鸿蒙和安卓的关系,感觉写的很明白,来解解惑。感觉鸿蒙和Google的私有版android就像剑宗和气宗一样,发源肯定是同一个东西,但往后差异就会越来越大,从本文来看,华为真是在做非常了不起的事情,尤其在跨平台、跨设备的生态意义上来讲,而小米等厂商的确面临具有长远影响的抉择。这几天一直在看关于鸿蒙和安卓之间关系的讨论。我不是技术专家(虽然也做过码农),所以大概从法律和商业角度分析一下,讲得不对请指正。
本文主要讨论了以下几个话题:
1.关于开源License
2.什么是安卓
3.Google的商业策略
4.什么是鸿蒙
5.鸿蒙的商业策略
6.其它国产手机厂商的策略
以下是正文:
1.关于开源License
源代码是软件的设计蓝图。如果一个软件公开了源代码,你就可以通过阅读源代码来完全了解它的内部构造,也可以对它进行修改以生成衍生软件。软件开发者有权决定开放自己的源代码,也可以决定不开放。但是,如果开放了,是否允许别人去修改它?修改之后是否还需要开放?这就是开源许可(license)的问题。
业界的开源许可有很多种,比较常见的有这样两种:
* GPL:你可以修改,但修改之后必须继续采用GPL方式公开你修改的源代码;
* Apache:你可以修改,而且修改之后不需要公开你的源代码。
很明显,GPL是非常理想主义的做法,但这一做法很不利于商业软件,因为商业公司是要销售自己的软件/硬件获利的。如果源代码都公开了,那么企业的很多私有技术也公开了,会造成商业损失。而Apache对商业公司就非常友好了,你可以基于Apache开源的软件做出你自己的商业软件,而不用公开源代码。所以商业公司一般不会选择GPL模式,但有不少商业公司,包括一些大公司,会在Apache开源软件的基础上进行开发,这是行业惯例。
2.什么是安卓
众所周知,安卓(Android)诞生的初衷是为了对付苹果。iPhone横空出世的时候,市面上没有任何产品能与之抗衡。如果没有Google,甚至有可能出现iPhone占据全部高端手机市场,消灭所有友商的局面。在这种情况下,Google推出了安卓与iPhone抗衡。但是iPhone实在是太强大了,光靠Google一家也不够,所以Google选择把安卓的源代码开放出来。因此,所有企业都可以深入学习安卓的内部技术,群策群力对安卓进行修改完善,并且安卓之上开发出多种应用。这样一来,安卓在短短几年里就在市场份额上反超苹果,成了老大。
但是!Google在开放安卓的时候采取了非常巧妙的做法!它开放的版本称为Android Open Source Project(AOSP),是采取Apache许可而非GPL,这就意味着Google可以在AOSP的基础上修改、衍生出商业的Android版本,而无需开放这个商业版本的源代码。同时,Google又把“Android”一词注册为商标,用于发行这个商业版本。这就造成了混淆:Android一词既可以指代以AOSP为代表的技术体系,又可以指代Google发行的商业版本。(作为对比,行业里其它类似项目都采用有明显区分的称谓,例如Linux是免费开源产品,而Redhat Linux是商业产品。很难说Android的混淆状态不是Google蓄意造成的。)另一方面,AOSP本来是基于Linux kernal开发的,而Linux是使用GPL授权,因此Google又在Linux kernal上开了一个“小门”,使得AOSP绕过了GPL的约束,从而可以采取Apache授权。由于这个因素,Android被Linux社区视为一个独立的操作系统,而不是Linux的一个分支,尽管它实实在在是在Linux kernal之上开发的。(关于这部分的技术细节,请参考文章末尾的补充资料)
因此,今天一些批评鸿蒙的说法其实都可以用在Android身上:
—— Android既是开源的,又不是开源的;它既是Linux,又不是Linux。
而上述状态完全是Google一手造成的。
3.Google的商业策略
为什么Google要采取这种做法?很明显是为了获得商业利益。当Android早期较为弱小时,将其开源可以获得整个社区的支持。而当它发展壮大之后,再销售Android的私有版本(即商业版本)才能获得最大的收益。但是,Google并不能直接将AOSP关闭或者私有化。基于两方面的原因:
* 从法理上说,AOSP虽然是由Google创立的,但Google将其开源之时就已经将其所有权贡献给整个社区,不再属于Google,因此Google无权再将其转为闭源。
* 从情理上说,虽然Google对AOSP做出了最大的贡献(如果我们忽视它其实是基于Linux),但今日的AOSP已非初生的AOSP,诸多企业/个人都对其进行了补充完善,包括高通、Intel、甚至华为都为AOSP贡献了新的代码。因此华为也可以理直气壮的说,我本来就是AOSP的贡献者之一。
那么,Google如何在保留AOSP的情况下推广自己的Android私有版呢?Google的逻辑是,消费者其实不关心系统底层,只关心前端应用所带来的体验。因此,Google不断发布私有的关键应用,例如GMail、Youtube、Google音乐等应用,这些应用以及支撑它们的私有服务,就是GMS(Google全家桶)。而且,一旦Google发布了某个私有应用,它就停止更新AOSP里面的对应应用。这造成GMS比AOSP自带的应用提供更好的用户体验,而要使用GMS就必须选择Google Android。这样一来,尽管AOSP还在那里,还可以免费使用,但手机厂商不得不选择Google Android而非AOSP。可以推测,Google的策略是通过AOSP来免费收获社区对系统底层的完善和增强,同时通过私有的GMS来销售Android商业版,从而实现“又当又立”的效果,真是高明啊。
然而,Google的这一模式仍然存在一个问题,即所谓“和尚做得,我做不得”?既然Google可以用这一方式销售自己的商业Android,理论上其它厂商也可以用同样方式推出自己的Android版本。Google的另一个招数是利用自己的强势地位,联合诸多厂商组建联盟。如果哪家厂商未经Google同意就私自发行了AOSP的衍生版本,Google就宣布这是“不兼容Android”的,并且联合整个联盟一起抵制你。(其实,这个所谓“不兼容”的含义是说你不兼容Google Android,而并非不兼容AOSP,但普通消费者并不清楚这个区别。而Google的抵制理由是这会造成安卓阵容的分裂,似乎也忘记了当初是它造成了Linux的分裂。)在Google的影响下,整个欧美只有一个厂家敢于发行不经Google认证的Android版本,这就是Amazon的Kindle Fire。Samsung这样的企业不愿意得罪Google,但又不愿完全受制于人,因此它的策略是开发一套几乎一样的Samsung全家桶作为备用计划。所以当消费者购买Samsung手机的时候,会看到上面有两套几乎一样的全家桶——这除了浪费一点存储空间之外倒也没有多大坏处。
在过去,国内厂商无论是小米还是华为,都向Google交了过路费,因此可以放心使用Google Android(无论是否使用其中的GMS),并且对其进行修改加工。MIUI和EMUI都是这么来的。2019年Google宣布不再授权Android给华为使用,其含义仍然是不再授权Google的私有版Android(包括GMS),而并非AOSP,因为AOSP的所有权已经不再属于Google了。这一事件对华为的国内市场短期几乎没有影响,但对国外市场影响很大,对长期也很不利。这种情况下,鸿蒙的发布是非常重要的。
上文主要是解释安卓,基本上是一些清楚的客观事实。下文主要讨论鸿蒙,由于一些具体细节并不清楚,所以包含一些猜想和推测。
4.什么是鸿蒙
华为一直没有对鸿蒙给出一个非常清楚的定义,但从现有材料来看,鸿蒙和安卓不是同一个物种。甚至可以说,鸿蒙不是一个传统类型的操作系统,而是一个“系统之上的系统”,或者说是一个“协同平台”。鸿蒙着力解决的,不是针对单一设备的体验提升,而是解决不同设备之间的协同问题。也就是说,如果你只有一台鸿蒙设备,那么可能和别的智能系统没有明显区别。但如果你有多台鸿蒙设备,那就能实现鸿蒙发布会上反复强调的不同设备之间“无缝流转体验”,这是鸿蒙的真正创新所在。为了实现这一目标,鸿蒙就必须能够部署在差异巨大的各种设备上。每个设备上必然有一些“协同模块”来实现相互通讯,同时又有一些设备个体的“业务模块”。(举例来说,电冰箱的智能温控功能就是业务模块,而不是协同模块。)所以,鸿蒙采取了分布式的体系架构,或者更形象的说,是由很多乐高式的模块组成。根据不同的设备特性,选择不同的模块,就可以组装出适合不同终端设备的系统。因此说它既可以跑在手机上,也可以跑在手表上、电冰箱和微波炉上。从这个意义上说,鸿蒙不是“一个”系统,甚至可能也不是“两个”系统,而是具有多态性的系统。
由于终端设备的硬件平台差异巨大,它在不同设备上的模块必然也是不同的。个人推测,鸿蒙很可能把AOSP拿来作为一个(或者分成多个)超级模块,使之成为手机系统的主模块。(也可能不是100%原封不动的AOSP,而是进行了裁剪适配,甚至分割。)这样一来,就在手机上保持了跟安卓的兼容性。而在电冰箱、微波炉这些“消费设备”上,就不需要使用AOSP模块。在这个背景下,AOSP只不过是鸿蒙在手机这个特殊设备上的一个特殊的“业务模块”而已。假以时日,华为可以把AOSP完全重写也是有可能的(其实AOSP也是在Linux之上的,只需要把Google添加的代码去掉就可以了)。
因此,鸿蒙主要解决了几个问题:
* 跨平台的模块式体系架构
* 不同设备之间的实时无缝融合
* 针对“消费设备”的智能系统
而在手机端,目前应该还是以依赖于AOSP的技术,未来可能会变。
5. 鸿蒙的商业策略
我们不妨设身处地的想这样一个问题:安卓已经是一个非常成熟的生态体系,如果你是一个挑战者,你要怎么样才能打败Google?有人说应该从头写一套新的操作系统才叫自主创新,但如果你投入大量研发人员,从头写一个跟安卓一模一样的系统也没有意义,因为这对消费者并没有新的价值。如果你只是对安卓进行一些小修小补(就像MIUI),更加不可能打败安卓。要打败安卓,必须形成一个新的体系,构建一个与之不同的、更强大的生态。这就是鸿蒙所做的。
你不可能通过华为音乐、华为视频、华为邮件这些东西来打败安卓。但是你可以(或者目前看至少有可能)通过鸿蒙手表、鸿蒙屏幕、鸿蒙车载、鸿蒙空调这些东西来打败安卓。就像苹果打败诺基亚,难道是靠结实耐摔吗?从这个意义上说,鸿蒙在探索一条非常难得的新路。
另外,鸿蒙目前也采取了把开源版和商业版分开的策略,即基础功能形成开源的OpenHarmony,商业版是Harmony OS。这一做法和Google相似,当然也有更早的Linux和Redhat Linux作为先例。未来怎么发展,还要看华为下一步的计划。(此处补充一下:华为的最新说法是“将HarmonyOS的基础能力全部捐献给了开放原子开源基金会”,但哪些部分属于“基础能力”,哪些不属于?目前还没有具体信息。我个人猜测可能开放的是各设备之间协同的能力,而不是各设备自身的业务能力。)
回过头来看,几个问题:
* 鸿蒙是不是在AOSP的基础上做的?——现在应该是用了AOSP,未来有可能会变。
* 鸿蒙是不是安卓套壳?——如果你认为安卓是Linux套壳,那么鸿蒙也可以算是安卓套壳。但更重要的是,鸿蒙在安卓之上做出了实质性改进,正如安卓在Linux之上做出了实质性改进。
* 鸿蒙对华为来说是不是自主操作系统?——如果你定义“自主”就是“完全自己写了所有代码”,那么不是。如果你定义“自主”就是“可以不受外界干扰的使用所有代码”,那么是的。(或者,你可以用这个原则判断一下,Android对Google来说是不是自主操作系统?)
* Google甚至美国政府能不能从知识产权角度封杀或者控制鸿蒙?——不能。
6.其它国产手机厂商的策略
对于小米等其它国产手机厂商,现在可能是一个非常困难的选择。
如果立即投向鸿蒙,有可能被Google终止Android授权,失去国外市场;同时,跟华为自身比起来,它们在应用鸿蒙上面永远后于人,几乎无法超越华为。
如果继续用Android,谁又能保证Google哪一天不会封杀你呢?更何况,如果鸿蒙真的给消费者带来更好的体验,消费者也自然会选择鸿蒙。
我个人判断,大部分国产手机厂商可能会先观望一段时间,等到华为的生态体系相对成熟之后再转向鸿蒙。也有一种可能,在国外版产品上继续使用Android,同时在国内逐渐推出鸿蒙产品。另一方面,鸿蒙手机现在要出海可能也不是最佳时机,最好是等到生态设备都成熟之后一起出海,更能给安卓造成实质性打击。总之,这方面变数还很多,现在很难准确预测。
- 相关回复 上下关系8
🙂好的开发系统就应该关注业务逻辑,其他同步等功能和业务解耦 5 liuyunling 字273 2021-06-08 05:57:09
🙂来自现场的报道啊。套皮的就是不一样啊,还有一个套皮专家 11 DDDgva 字136 2021-06-08 01:44:08
🙂应该赞一个添砖加瓦者。 真历啊 字42 2021-06-07 10:12:32
🙂转自水木社区的帖子
🙂这篇文章讲得清楚 30 土木辛科 字1423 2021-06-10 20:39:20
🙂数字孪生在国内的应用非常快,譬如建筑设计 5 从北苑到太古 字241 2021-06-14 11:58:37
🙂我同意手机问题不用担心 4 qdst2008 字159 2021-06-10 22:16:35
🙂软总线 2 透明 字111 2021-06-08 11:54:17