在我前一段时间的博客中提到过要建立一个好的Linux生态环境,在标准化方面做出努力,为Linux开发更多的应用程序,这次我们继续讨论这个话题。
11月初,有媒体报道,Linux的增长速度有所减缓。对此,有人持不同意见,我并不想卷入这场争论,但我认为,对此我们更应该有以下共识:Linux需要团结起来,吸引更多的应用程序,防止分裂。
作为一个操作系统,Linux需要在桌面和服务器、电信级服务器和一般消费电子设备、商业版本和自由版本等各种环境下运行。这使得任何市场划分和统一版本的行为都必须非常谨慎。
Linux标准化已经有了一个良好的开端。但是,它涉及的领域实在太多,虚拟化、安全、文件系统、管理等各个方面需要的规范都很多。我的建议是,我们 组织一个技术团队,一起研究这些关键的技术领域,并制订一个阶段性计划。而且,我们还必须不断扩大我们涉及的技术范围,并定期检查每一项技术的进展。这 样,我们才能确保在短期内覆盖每一项技术,其重要优先级由技术的组成和发展成熟度决定。
对于功能增强的问题,是需要不断创新的。就算对API进行标准化之后,新的需求、新的硬件、新的计算模式依然可能继续出现。我们不得不提前考虑这些问题。标准化API也不能杜绝这一点,但是它为增强功能确立了标准化的流程。
在管理方面,不是哪一个厂商能单独控制的。应该使用与厂商无关、开放的流程,必须遵守良好的开源原则,如代码共享,并选择最好的解决方案,而不是针对解决方案去制定相关的原则。
在认证方面,标准化工作并不能为ISV提供单一的生态环境。标准化并不意味着应用程序就能在各种环境下运行,而需要无数标准化接口(和POSIX即可 移植操作系统接口相比而言)的支持。为了能够达到“编写一次,到处运行”的目的,我们需要进行认证。ISV的Linux API需要经过认证(经过一系列的测试完成),以确保它是按照标准定义来做的,可以在标准Linux上运行。同样,Linux版本也需要确保能够支持标准 API,以便ISV通过标准Linux的认证之后就能够真正地到处运行。
当然,在Linux版本之间肯定会有所差异。从鼓励创新的角度来看,这是好事。不过,所有的Linux版本都必须认识到,在经历了一段时间的多样性实 验之后,我们必须选择一种最佳的解决方案来解决所有的问题和标准化。这可能就意味着牺牲:一些Linux版本为了标准化,可能需要逐渐放弃一些技术。不 过,对于整个Linux生态系统来说,这样的牺牲应该是有价值的。
很多人都把维护和支持Linux作为一种有利可图的手段,这就必然会加强在差异性方面的投资,做出其他版本没有的特性。但在标准化过程中,为了共同的利益,我们需要控制这方面的投资,而应该把这些钱用于测试、质量改进和安全性方面。
要做到标准化,我们还需要很多时间。然而,有些利益是短期的,我们现在能做到的只是简化ISV的API,这样客户能够立刻享受到好处。然而,要达到“编写一次,到处运行”的远大目标,我们还有很长的路要走。