微软 365 的文档格式通过人为设计的复杂 XML 架构,将用户锁定在其生态系统内,阻碍了软件间的互操作性。这种复杂性并非技术上的必要,而是一种商业策略,其特点包括深层嵌套的标签、过度抽象和不直观的命名,这使得第三方开发者极难开发出兼容的软件。最终,用户如同被单一供应商绑架,失去了选择权。因此,用户和组织都应对专有技术采取批判性立场,以避免被锁定。
“人为复杂”的本质
理论上,文件格式应当尽可能简单和易于访问,以促进知识共享。XML 架构的初衷是为了实现互操作性,让不同软件能顺利读取和写入同一种文件。
然而,XML 架构也可以被有意地设计得极其复杂、臃肿和晦涩。当这种复杂性超出内容本身的需求时,它就不再是桥梁,而是一道刻意制造的壁垒。即使屏幕上显示的内容完全相同,其背后的代码结构也可能天差地别。
一个简单的句子,如“生存还是毁灭,这是一个问题”,在复杂的架构下会变成一长串普通用户无法理解的标签序列。
复杂的具体表现
这种人为的复杂性与内容的实际需求完全脱节,其特征包括:
- 深度嵌套的标签结构: 结构层级过多,难以解析。
- 过度抽象: 使用了太多超出必要的通用概念。
- 海量的可选元素: 包含成百上千个可选或重载的元素,增加了不确定性。
- 不直观的命名: 标签和属性的命名不符合直觉,难以理解。
- 广泛使用扩展点和通配符: 为未来的不确定性预留了过多空间,增加了实现的难度。
- 庞大的文档: 微软 365 格式的说明文档总计超过 8,000 页,其本身就是一种复杂性的体现。
这些特征共同作用,使得任何试图实现该架构的开发者都面临着巨大的困难。
复杂性如何成为一种“锁定”策略
为了更好地理解这种锁定策略,可以将其比作一个铁路系统:
想象一下,铁路轨道是向所有人开放的,但主要的列车制造商强加了一套自己设计的、极其复杂的控制系统。理论上,任何人都可以制造兼容轨道的列车,但由于控制系统的规范过于复杂,最终只有那家主要制造商能够提供铁路服务。
最糟糕的是,乘客们并不知道自己被技术限制所绑架,直到票价上涨或服务线路减少时才恍然大悟。到那时,他们只能被迫接受制造商的条款。
现实世界的后果
这与信息技术领域正在发生的事情非常相似。用户常常在不知不觉中被锁定,因为他们忽视了使用专有技术带来的问题。例如,微软在没有充分技术理由的情况下,迫使用户从 Windows 10 升级到 Windows 11,这进一步将用户锁定在 Windows 11 和 Microsoft 365 的生态系统中。
如果多年来,数以百万计的用户(包括政府和跨国组织)没有不加批判地接受这种技术现实,而是对这种垄断行为提出质疑,我们今天的处境将会大不相同。
因此,在开发或选择一个基于 XML 的系统时,必须记住一个核心原则:
复杂性禁锢人,而简单和清晰则解放人。