
Opensource.com
现在您可能已经对“开源”的含义有了很好的理解。(如果您不了解,您应该在深入阅读本文之前阅读什么是开源?)。那么,当我们谈论开放标准时,我们指的是什么呢?
在开源软件开发中,开放标准充当指导方针,以保持技术的“开放性”,特别是对于开源开发者而言。听起来很简单,对吧?不幸的是,关于什么符合开放标准,以及谁来决定什么成为标准的争论,使得开放标准的定义变得有点复杂。在深入探讨什么是开放标准之前,让我们先仔细看看标准。
什么是“标准”?
ISO,国际标准化组织,将标准定义为“一份文件,提供可以持续使用以确保材料、产品、流程和服务适合其用途的要求、规范、指南或特性。”
ISO 是一个独立的、非政府的国际组织,负责制定国际标准。ISO 网站 解释说,国际标准为产品、服务和系统提供规范,以确保质量、安全和效率,这对于促进国际贸易至关重要。
标准是我们能够使用加拿大银行的借记卡从南非的机器上取款,将三星手机上的照片分享到苹果笔记本电脑,购买适合阅读灯和吊扇的灯泡,以及访问互联网的原因。
事实上,标准非常重要,以至于它们甚至在 10 月 14 日拥有自己的年度节日,世界标准日,这是世界标准合作组织 (WSC) 的倡议。
另一方面,制定标准非常复杂,以至于它有自己的 xkcd 标准如何扩散 漫画。
标准是如何制定的?
嗯,这很复杂。世界上有数百个,甚至数千个标准组织,其中许多组织是多个更大的标准组织的一部分。而且没有一个可以统治所有标准的手册,这就是为什么我们最终得到一系列标准,例如开放或封闭、行业或供应商标准等等。
让我们以 ISO 为例。ISO 是一个更大组织的缩写,其成员包括 163 个国家标准机构。由于标准影响着每个人、每一天,因此有很多标准制定组织 (SDO),并非所有组织都是 ISO 的成员。SDO 专注于特定的行业或技术(例如,互联网),但许多 SDO 共同努力开发跨越专业领域和行业的规范。
想象一下,开发自愿的、基于共识的国际标准需要多少合作和协作。例如,WSC 网站解释,世界标准合作组织是 ISO、IEC(国际电工委员会)和 ITU(国际电信联盟)之间的高级别合作。“在这个旗帜下,这三个组织维护其共同利益,以加强和推进自愿的、基于共识的国际标准体系,”该网站表示。通过共同努力制定国际标准,来自不同行业的组织能够实施惠及跨行业组织的标准。
WSC 网站还指出,国际标准是全球贸易和经济发展的重要工具。“它们为技术的传播和使用提供了协调、稳定和全球认可的框架。它们包含最佳实践和协议,这些实践和协议鼓励更公平的发展并促进信息社会的整体增长。” 当我们谈论开源代码和开放标准时,情况也是如此。
在他的标准入门读物《理解技术标准化努力》(PDF)中,开源倡导者和软件业务顾问 Stephen Walli 解释说:
技术互操作性标准是定义通过公认的共识过程的两个对象之间边界的规范。共识过程可能是国家标准组织(例如 ISO、BSI)支持的正式法律程序,具有广泛利益的行业或贸易组织(例如 IEEE、ECMA),或具有更窄焦点的联盟(例如 W3C、OASIS)。标准流程不是要找到最佳技术解决方案并将其编纂成典,而是要找到所有参与者都能接受的最佳共识驱动的解决方案。
最佳互操作性标准使多种实现能够交付到市场。它们通过在市场上实现选择来使客户受益。一个成功的标准通常有许多实现,从标准开发生产者的角度来看,实现最多的标准可以被认为是“获胜”。
开放标准示例:互联网
在解释 开放互联网标准时,互联网协会(一个帮助推动互联网政策和技术标准的全球组织)表示,“互联网从根本上基于开放的、非专有的标准的存在。它们是允许设备、服务和应用程序在广泛分散的网络之间协同工作的关键。” 该页面列出了 互联网工程任务组 (IETF)、互联网研究任务组 (IRTF) 和 互联网架构委员会 (IAB) 作为开放互联网标准开发背后的核心组织。“这些组织都是开放、透明的,并依赖于自下而上的共识建立过程来制定标准。它们有助于确保开放标准具有可自由访问的规范,不受限制,具有开放式开发并且不断发展,”该页面解释说。
要了解互联网标准的庞大数量,请参阅 互联网标准页面,该页面位于 RFC 系列中,该系列自 1998 年以来一直由与互联网协会签订的合同资助,托管在 RFC 编辑器网站上。
官方互联网标准示例
请注意,并非所有 RFC(征求意见稿)都是标准。正如该网站解释的那样,“RFC 系列包含关于互联网的技术和组织文档,包括互联网工程任务组 (IETF)、互联网研究任务组 (IRTF)、互联网架构委员会 (IAB) 和 独立提交 四个流产生的规范和政策文件。”
让我们更仔细地看看 STD 3,例如,互联网主机要求 - 通信层。这个早期的互联网标准可以追溯到 1989 年。
互联网主机要求 - 通信层
图 2 仅显示了目录中列出的前 12 页。STD 3 超过 100 页。
STD 3 引言的第 4 页说,标准文档——请记住,STD 3 只是这些文档中概述的众多互联网标准之一——旨在为互联网通信软件的供应商、实施者和用户提供指导。“它们代表了互联网研究和供应商社区成员贡献的大量技术经验和智慧的共识,”它解释说。
STD 3 引言的第 5 页
第 5 页很好地说明了关于标准的几个关键点:
- 它们是自愿的,
- 当它们为市场开发时很重要,
- 并且它们会随着时间推移而发展。
标准是自愿的
“对于为受限环境设计的特定供应商产品,可能有充分的理由选择使用不同的规范,”STD 3 解释说。例如,在 2016 年 9 月,苹果宣布,其 iPhone 7 和 7 Plus 将在没有 3.5 毫米耳机端口的情况下发货,而 3.5 毫米耳机端口一直是包括手机、音乐播放器和笔记本电脑在内的大多数移动设备的标准。
记者 Chris Taylor 在 Mashable 上发表的 评论文章 中回应说:“它为了自己的专有 [Lightning] 系统而根除了世界上最成功、最广泛和音质最好的音频标准。”
苹果营销主管 Phil Schiller 表示,此举是出于“勇气”,但 Taylor 和许多其他记者(以及消费者)认为,此举更多与苹果计划从销售 aux-to-Lightning 电缆适配器和无线耳机中获利有关。许多人喜欢无线耳机的便利性,但在音质方面,无线耳机并不被认为是优越的。尽管苹果将此举定位为具有合理的理由,但并非所有人都同意。
Walli 的入门读物解决了供应商规范(如 iPhone 的新 Lightning 音频标准)而不是行业标准的问题。“供应商规范通过鼓励围绕供应商技术基础的补充来支持供应商的业务。它们使供应商受益,而不是客户。”
标准化时机很重要
STD 3 引言说明,互联网在制定该标准时仍处于起步阶段。“尽管目前大多数实现都以各种方式未能满足这些要求,有些是轻微的,有些是主要的,但该规范是我们需要努力实现的理想目标,”它解释说。
从技术成熟度的角度来看,时机很重要。“许多人担心过早标准化会阻碍创新,”Walli 说。“一旦市场中出现标准化点,显然是时候编纂市场的一个方面,从而允许新的创新围绕稳定的‘标准化’基础构建,”他解释说。Walli 指出,过早或超前于市场进行标准化是困难的,他说,“好的标准编纂了已被证明的做事方式。它们基于现有的实践和经验。”
标准不断发展
STD 3 引言承认,随着互联网的成熟,标准将不断发展,并表示,“这些要求基于当前的互联网架构水平。本文档将根据需要进行更新,以提供额外的澄清或在规范仍在发展的领域中包含更多信息。”
是什么使标准“开放”?
嗯,这也非常复杂,因为不同的标准组织和倡导者提供不同的指导方针。让我们以一个开放标准组织 OASIS 为例。
ISO 是由许多国家标准机构组成的组织,而 OASIS 是一个非营利性联盟,旨在推动全球信息社会开放标准的开发、融合和采用。让我们从宏观层面了解 OASIS 制定开放标准的要求。
OASIS 网站解释说:“OASIS 成员广泛代表了公共和私营部门技术领导者、用户和影响者的市场。该联盟拥有 5,000 多名参与者,代表了 65 个以上国家/地区的 600 多个组织和个人成员。”
在 OASIS 下,技术委员会 (TC) 制定标准,然后为了使该标准被联盟采用为开放标准,它必须:
- 由领域专家(而非 SDO 工作人员)创建;
- 在国际认可的开放流程下制定(即,对公众审查和辩论开放);
- 易于访问和采用;
- 允许任何受标准影响的人为标准的制定做出贡献;
- 没有隐藏的专利来吓唬实施者;
- 具有内置的实施标准的能力(即,OASIS 标准必须通过多个使用声明来验证);
- 并且对政府来说是安全的,可以认可。
(来自 启动 TC (PDF)。)
OASIS 是 OpenDocument OASIS 标准(例如,.odt
文件)的开发组织,该标准于 2006 年获得 ISO 和 IEC 的批准 (ISO/IEC 26300)。正如该公告解释的那样,“OpenDocument 为办公应用程序定义了一种真正的开放式 XML 文件格式。该标准适用于文本、电子表格、图表、图形、演示文稿和数据库,使文档摆脱了其原始应用程序的束缚,从而可以使用任何符合 OpenDocument 标准的软件或工具进行交换、检索和编辑。该标准将促进以新的和创新的方式访问、搜索、使用、集成和开发文档内容。”
OASIS 制定了详细的 政策和指南,以帮助开发开放标准,因此请浏览他们的网站,以了解开发标准(即使在“开放”中)所涉及的幕后工作。例如,该网站包括 反垄断指南 和 知识产权政策,以及关于利益冲突和互操作性演示的政策。
但是,宏观概述显示了开放标准必须是公开创建的,并且易于采用,没有限制或使用或版税期望。
其他开放标准倡导者如何定义“开放标准”?
Bruce Perens,《开源定义》的创建者,概述了开放标准必须满足的 六个标准:
- 可用性:开放标准可供所有人阅读和实施。
- 最大化最终用户选择:开放标准为标准的实现创建了一个公平、有竞争力的市场。它们不会将客户锁定在特定的供应商或团体中。
- 无版税:开放标准可供所有人免费实施,无需版税或费用。标准组织对合规性的认证可能涉及费用。
- 无歧视:开放标准和管理它们的组织不会因为技术标准合规性以外的任何原因而偏袒某个实施者。认证组织必须为低成本和零成本实施提供验证途径,但也可能提供增强的认证服务。
- 扩展或子集:开放标准的实现可以扩展或以子集形式提供。但是,认证组织可能会拒绝认证子集实现,并且可能会对扩展提出要求(请参阅掠夺性做法)。
- 掠夺性做法:开放标准可以采用许可条款来防止通过拥抱和扩展策略颠覆标准。附加到标准的许可证可能要求发布扩展的参考信息,以及允许所有其他人创建、分发和销售与扩展兼容的软件的许可证。开放标准不得以其他方式禁止扩展。
欧洲自由软件基金会 (FSFE) 与科技行业、政治界和社区的其他个人和组织合作,概述了一个不同的五点定义。根据 FSFE 的说法,开放标准是指一种格式或协议,该格式或协议:
- 完全公开评估和使用,不受约束,并且所有方都可以平等地使用;
- 没有任何组件或扩展依赖于不符合开放标准定义的格式或协议;
- 没有限制任何一方或任何商业模式使用它的法律或技术条款;
- 由任何单一供应商独立管理和进一步开发,过程向竞争对手和第三方平等参与开放;
- 由竞争供应商提供多种完整实现,或者作为所有方都可以平等获得的完整实现。
开源促进会 (OSI) 是负责审查和批准许可证以符合开源定义 (OSD) 的组织,它表示“‘开放标准’不得禁止开源软件中的符合性实现。” OSI 提供了开放标准必须满足的五个标准的列表。“如果‘开放标准’不符合这些标准,它将歧视开源开发者,”该网站表示:
- 无有意秘密:标准不得隐瞒互操作性实现所需的任何细节。由于缺陷是不可避免的,因此标准必须定义一个流程,用于修复在实施和互操作性测试期间发现的缺陷,并将所述更改纳入标准的修订版本或取代版本中,并以不违反 OSR 的条款发布。
- 可用性:标准必须在合理且非歧视性成本下,以免版税条款免费公开可用(例如,从稳定的网站)。
- 专利:实施标准的所有必要专利必须
- 以免版税条款许可,以供无限制使用,或
- 在开源软件实践时,受不主张权利承诺的保护
- 无协议:部署标准的符合性实现不得有执行许可协议、NDA、授权、点击通过或任何其他形式的文书工作的要求。
- 无 OSR 不兼容的依赖项:标准的实施不得要求任何其他不符合本要求标准的技术。
“标准协作”与“开源协作”有何不同?
标准和开源项目是不同的协作。它们是市场中具有不同目标、结果和流程的不同经济工具。正如 Stephen Walli 解释的那样:
1. 标准的开发和变更需要更长的时间。 开源项目可以快速开发,而标准鼓励多种实现,并且倾向于在具有一定成熟度和竞争力的市场中进入。标准和规范不会快速更改,因此它们的制定预期是需要持续更长的时间。例如,从 HTML1.0 到 HTML5 标准大约花费了 18 年,而我们自 1981 年以来就有了 TCP,几乎没有变化。
2. 标准是基于共识的妥协。 开源项目由贡献和精英管理驱动。
3. 标准定义了有用的可预测的边界。 运行良好的开源项目是丰富多样的生态系统的构建块。
开放标准组织示例
标准机构
软件标准
安全标准
基准标准
(来源:http://community.redhat.com/standards/)
感谢 Stephen Walli、Rikki Endsley、Deb Bryant 和 Nithya Ruff 对本资源的贡献。