手机软件更新
几年前买手机的时候,我对“手机坏了”这件事情的理解很简单。屏幕摔碎了,电池老化了,充电口坏了,摄像头出了问题,这些都是硬件故障。至于软件,不过是运行在手机里面的一些代码,重新安装一下大概就好了。
但今天的手机已经很难再这样区分。一个iPhone到底好不好用,不只是由里面那块芯片、屏幕和电池决定,也由iOS决定。系统控制着相机、麦克风、电源管理、屏幕显示、网络连接和大量底层硬件。硬件和软件早已经不是两件彼此独立的产品。
最近印度消费者监管机构调查苹果的一件事情,就把这个问题变得非常具体:如果手机原本好好的,是厂商推送的软件更新以后出现故障,那么维修成本到底应该由谁承担?
一个很奇怪的场景
假设你花了一大笔钱买了一台手机,用了两年,一直没有什么问题。某一天晚上,系统弹出通知:有新的软件更新。
你点击安装。
第二天醒来,屏幕上出现一条绿色的线。
你没有摔手机,没有进水,也没有拆过机器。唯一发生的事情,就是安装了厂商提供的软件更新。
于是你拿去维修。
维修人员告诉你,屏幕需要更换,而且因为已经过了硬件保修期,需要自己付钱。
如果维修费只是几十块,也许很多人嫌麻烦就算了。但路透社报道,在印度,一台iPhone 15屏幕维修估价约27,900卢比,接近整台手机零售价的三分之一。
这时候问题就变得很有意思。
如果确实是硬件自然老化,那当然可以理解。
但如果消费者认为软件升级触发了故障呢?
到底是谁的责任?
软件行业有一个历史非常悠久的习惯
几乎所有人在安装软件的时候,都见过一大段Licence Agreement。
很少有人真正读。
通常就是点击:
Agree。
里面经常会有类似的内容:
软件按现状提供。
不保证完全没有错误。
不保证适合所有用途。
出现问题造成的损失,厂商责任有限。
从软件公司的角度看,这些条款非常容易理解。软件太复杂了,没有任何一家公司能够保证几千万行代码在几十亿种硬件、网络和使用环境组合下永远不出现Bug。
如果要求软件公司对任何问题承担无限责任,开发软件本身可能变得非常困难。
苹果在这次印度调查中的立场也类似。它表示,不为软件提供绝对保证是行业常见做法,而且如果把任何软件问题都视为保修违约,相当于要求软件提供商为所有技术风险提供保险。
这个逻辑并不荒唐。
问题是,今天的软件已经和二十年前的软件完全不同。
以前的软件坏了,最多软件不能用
比如二十年前电脑里的一个文本编辑器崩溃了。
很烦。
重新打开。
也许丢了一些文件。
但软件和硬件之间仍然有比较明显的边界。
今天的软件却越来越能够控制实体设备。
汽车里的软件控制刹车、动力、电池和驾驶辅助。
智能家居软件控制门锁和暖气。
医疗设备依赖软件。
手机操作系统控制屏幕、摄像头、麦克风、电源管理甚至充电。
越来越多所谓的Hardware,其实已经变成:
Software-defined product。
产品的行为主要由软件定义。
这时候再说:
硬件我们保修。
软件概不负责。
边界就开始显得越来越奇怪。
因为普通消费者其实没有选择
假设电脑上安装了一个第三方软件。
出现问题。
你可以卸载。
不用了。
换另外一个。
但手机操作系统不一样。
一个iPhone用户基本不可能说:
这个iOS版本我不喜欢,我明天换Android系统装进去。
硬件和软件被设计成一个整体。
消费者真正购买的也不是:
一块屏幕 + 一块芯片 + 一个免费的软件赠品。
我们购买的是一个完整的:
iPhone。
所以从消费者角度看,他并不会区分:
这是硬件公司的问题。
还是软件部门的问题。
他只知道:
昨天手机还能用。
更新以后不能用了。
更复杂的是,系统更新很多时候并不是完全自愿的
理论上当然可以暂时不升级。
但现实中,手机会不断提醒。
系统更新往往包含重要安全补丁。
银行App可能要求更高版本。
其他App逐渐停止支持旧系统。
新的AirPods或者手表可能需要新版系统。
甚至企业IT部门可能强制要求设备安装安全更新。
于是厂商一方面告诉用户:
应该及时更新。
这样更安全。
另一方面又可能在Licence Agreement里说:
软件出现问题没有保证。
消费者就陷入一个很有意思的位置。
不升级,有安全风险。
升级,也可能承担技术风险。
这和汽车召回非常不一样
如果一家汽车公司发现某批汽车的刹车存在设计缺陷,一般不会告诉车主:
你的车已经过了一年保修期,请自己付钱修刹车。
如果缺陷来自厂商设计,通常会进行Recall。
因为社会已经形成一种基本共识:
产品制造商需要对自己的设计缺陷承担一定责任。
但软件一直比较特殊。
因为软件行业形成于一个完全不同的时代。
过去的软件更多被看作一种信息产品,而不是实体产品。
可以有Bug。
可以发布Patch。
出现问题重新启动一下。
这种文化后来被带进了今天的软件定义汽车、手机和智能设备。
问题是:
代码现在已经能够让实体设备停止工作。
法律和消费者观念可能没有完全跟上这个变化。
其实这件事情还有另外一个困难
怎么证明真的是软件导致硬件坏了?
这可能才是整个争议最复杂的地方。
一个人升级以后屏幕坏了,并不自动证明更新就是原因。
Correlation并不等于Causation。
手机本来可能已经存在潜在硬件缺陷。
屏幕可能接近寿命。
设备可能曾经跌落。
温度可能过高。
也可能只是碰巧在更新以后发生故障。
如果几千万台手机里有几十台更新以后出现问题,可能完全属于正常硬件故障。
苹果在印度调查中就表示,它没有发现iOS 18存在系统性问题,并指出监管案件涉及的投诉数量有限。
所以不能简单看到“更新以后坏了”,就断言一定是苹果的软件造成。
但反过来也一样。
如果大量相同型号的手机,在某次更新以后出现同一种故障,那么消费者当然会怀疑:
这真的是巧合吗?
于是软件时代出现了一种以前很少见的责任问题
产品内部越来越复杂,只有制造商真正掌握完整数据。
普通消费者根本没有能力判断:
屏幕驱动出了问题?
电源管理出了问题?
显示IC老化?
软件参数错误?
还是硬件本身损坏?
用户看到的只是一条绿线。
而厂商掌握的可能是几百万台设备的Diagnostic Data。
这就产生Information Asymmetry。
信息不对称。
如果所有证据都掌握在产品制造商手里,而消费者必须自己证明制造商存在问题,那么消费者几乎永远处于弱势。
这也是为什么监管机构会介入
并不是监管机构已经认定苹果有错。
调查的价值就在于,要弄清楚:
到底发生了什么?
这些投诉是不是独立事件?
软件和硬件故障之间有没有关联?
消费者是否被公平告知风险?
如果问题确实来自厂商的软件,现有保修条款是否合理?
印度这次调查尤其值得注意的一点,是监管机构并不仅仅调查某几个具体维修案例,而是在审查软件Licence中的Warranty Terms本身。
如果最后要求厂商修改相关条款,那影响可能比退几十台手机的钱大得多。
因为这会碰到整个消费电子行业长期以来的一种默认规则。
我觉得这个问题未来一定会越来越重要
因为我们的产品正在变得越来越不像传统产品。
以前买一个冰箱。
十年以后功能还是那些功能。
以前买一辆汽车。
发动机出厂以后基本不会突然获得新功能。
今天完全不同。
特斯拉可以通过OTA更新改变汽车。
手机一年可以收到很多次系统升级。
智能电视会更新。
路由器会更新。
手表会更新。
甚至家里的门锁也可以远程更新Firmware。
也就是说:
一个产品出售以后,它仍然在继续变化。
这件事情在商业史上其实非常新。
过去的制造业有一个基本假设
产品出厂的时候,设计基本完成。
质量控制也是针对那个状态。
产品离开工厂以后,它不会突然被制造商远程重新修改。
但Software-defined Product不是这样。
今天卖给你的产品,明年可能和今天不一样。
界面变化。
性能变化。
功能增加。
功能取消。
电池管理改变。
算法改变。
甚至某些设备原来拥有的功能,也可能被远程关闭。
厂商第一次拥有了一种非常强大的能力:
产品卖出去以后,还可以继续改变产品。
能力越大,责任问题自然也会越来越重要。
一个很典型的例子就是电池
假设厂商通过软件更新调整电池管理策略。
它可以让电池寿命延长。
也可以提高性能。
也可能为了安全降低峰值功率。
从工程角度看,这些可能都是合理的。
但对于消费者来说,他购买时拥有的产品性能后来发生了变化。
那么消费者到底买下了什么?
是那个硬件本身?
还是厂商承诺未来继续提供的一种服务?
这个问题过去很少存在。
现在越来越普遍。
这甚至会改变“Ownership”的定义
我们经常说:
这是我的手机。
但你真的完全拥有它吗?
硬件当然属于你。
但操作系统并不属于你。
很多情况下你只是获得使用许可。
云服务属于厂商。
App Store规则属于厂商。
某些功能需要服务器支持。
如果服务器关闭,产品可能失去功能。
于是现代消费者拥有的东西越来越像一个混合体:
一部分真正属于你。
一部分只是Licenced。
一部分依赖Subscription。
一部分依赖Cloud。
一部分可以被制造商远程改变。
我们花的钱没有减少。
但“拥有”这个概念却变得越来越复杂。
这也是Right to Repair为什么这些年越来越受关注
表面上看,它讨论的是:
消费者能不能自己换电池?
能不能买零件?
能不能让第三方维修?
但更深层的问题其实是:
产品卖出去以后,制造商究竟应该保留多大的控制权?
如果一台设备完全依赖专有软件激活零件,那么即使消费者买到了原装屏幕,也可能无法正常使用。
如果维修必须经过厂商授权服务器,机械意义上的Ownership已经不足以决定你能不能修自己的东西。
软件正在重新定义维修权。
从工程角度看,我其实可以理解厂商为什么不愿承担无限的软件责任
任何复杂系统都不可能做到零缺陷。
几十亿行软件组合在一起,Bug一定存在。
而且用户环境差异巨大。
如果规定:
每次软件更新以后任何硬件故障都由厂商免费维修。
显然也不合理。
消费者完全可能把本来已经损坏的手机归因于更新。
这种制度同样会被滥用。
所以真正合理的规则不会是:
软件更新以后坏了,全部厂商赔。
问题应该是:
怎样建立一个合理的因果和责任标准?
比如可以看一些更加客观的证据
某个型号是否集中出现同样问题?
故障率是否在更新以后显著增加?
厂商内部测试是否已经发现风险?
回滚软件以后问题是否消失?
是否存在明确的硬件批次关联?
厂商有没有及时通知用户?
这些都比简单问:
“是在更新之后坏的吗?”
更加有意义。
真正成熟的制度,应该依靠数据判断,而不是依靠情绪。
这件事情也让我想到一个非常普遍的商业原则
当一个公司能够持续改变产品时,它也需要承担持续的责任。
以前的商业模式是:
卖出去。
交易完成。
今天很多科技产品却不是这样。
卖出去只是关系的开始。
以后还有:
更新。
账号。
安全补丁。
云服务。
维修。
数据。
订阅。
这意味着企业不能只在销售那一天对产品负责。
产品生命周期可能长达五年、十年甚至更久。
软件让企业拥有了持续收入和持续控制,也自然会让消费者期待持续责任。
所以印度这次调查真正值得观察的,并不只是苹果最后会不会赔几个用户
更加重要的是一个越来越大的问题:
在软件定义产品的时代,传统的“硬件保修”和“软件免责”还能不能一直完全分开?
二十年前,这条边界很清楚。
今天已经越来越模糊。
未来汽车、手机、机器人、智能家居甚至工业设备都会遇到同样的问题。
一台机器可能机械结构完全正常,但软件许可证过期以后不能运行。
一辆汽车硬件仍然存在,但某项功能需要继续订阅。
一个零件已经换新,却因为软件没有配对无法使用。
这些问题最终都会逼着我们重新回答一个非常基础的问题:
当我花钱买下一件智能产品以后,我到底买下了什么?
如果只是购买一堆硬件,那么软件出了问题似乎不属于保修。
但如果没有软件,这堆硬件根本无法正常工作,那么把两者完全拆开又显得越来越不现实。
我觉得未来消费电子行业真正需要形成的新原则,也许很简单:
厂商当然不能为所有技术风险无限负责。
但同样不能因为问题发生在代码里,就自动认为和自己无关。
当硬件和软件已经共同构成一个产品时,责任最终也需要按照整个产品来讨论。
这可能才是Software-defined时代真正需要重新定义的“保修”。
感谢大家阅读!
如果你的手机原本完全正常,安装官方系统更新以后马上出现屏幕或者其他硬件故障,你觉得厂商应该免费维修吗?还是只要已经过了硬件保修期,消费者就应该自己承担风险?
