JavaScript 规范采用新许可证

Ecma 国际最近批准了 2022 年版的 ECMAScript 标准。本版中包含一项新内容,在之前的版本中并不存在,但这不是一项新的编程功能。

今年 3 月,Ecma 国际接受了 Mozilla 牵头的关于一项新的替代许可证的提案。6 月 22 日,该许可证的首批采用请求被授予 TC39,并应用于以下文件:ECMA-262(ECMAScript,JavaScript 的正式名称)和 ECMA-402(ECMAScript 国际化 API)。

ECMAScript 规范由 Ecma 国际开发,而其他 Web 技术(如 HTML 和 CSS)则由 W3C 开发。这些机构拥有不同的默认许可协议,这会导致两个问题。首先,使用不同的许可证会增加参与者进行法律审查的负担。这可能会阻碍对不同规范的贡献。其次,默认的 Ecma 许可证包含一些限制,禁止创建衍生作品,这与 W3C 形成对比。这些条款在实践中并没有造成问题,但它们仍然不反映我们对开源的看法,尤其是像 JavaScript 这样基础的东西。Mozilla 希望让每个人都能轻松参与 Web 的演进,因此我们主动为 Ecma 国际规范引入了一项替代许可证。

替代许可证是什么?

完整的替代许可证文本可以在Ecma 许可证常见问题解答中找到。Ecma 现在提供了两种许可证,可以根据特定技术委员会的需求进行采用。默认的 Ecma 国际许可证提供了一个关于特定标准工作的明确文档和位置,目的是防止分叉。该许可证规定了将特定标准嵌入源文本以及部分或全部复制的条款。

新的替代许可证旨在与 W3C 的工作保持一致,其文本主要基于 W3C 的文档和软件许可证。该许可证对标准的衍生作品更加宽松。这提供了一个法律框架和一项重要保证,确保互联网基础设施的开发能够独立于任何组织继续进行。通过将替代许可证应用于像 ECMAScript 这样重要的标准,Ecma 国际已经证明了其对 Web 基础构建块的管理责任。此外,这为具有类似许可要求的标准化项目提供了潜在的新家园。

标准和开源

标准化源于多个实现者需要在共同设计上达成一致的需求。标准化提高了整个行业的协作,并减少了对同一问题的重复解决方案。它还提供了一种收集用户或潜在用户反馈的方式。标准和开源都是通过协作来产生技术解决方案的。标准化和开源项目之间一个显著的区别是,后者通常侧重于在单个实现中开发解决方案。

开源在项目的宽松许可方面一直走在前列。多年来,不同的许可证(如 BSD、Creative Commons、GNU GPL & co、MIT 和 MPL)一直在寻求以不同的重点和目标来允许开放协作。标准化机构正在逐渐采用更多开源的技术。2015 年,W3C 采用了其文档和软件许可证,并在此过程中迁移了负责 Web 的许多规范(如 CSS 和 HTML)。根据此新许可证,W3C 确保了无论组织发生何种变化,都能在过去的工作基础上进行构建的能力。

Mozilla 的作用

作为我们确保自由开放 Web 工作的一部分,我们与 Ecma 国际以及许多合作伙伴一起,编写了受 W3C 文档和软件许可证启发的许可证。我们的目标是使 JavaScript 的状态与 Web 的其他规范保持一致。此外,随着这项新许可证提供给 Ecma 国际的所有 TC,这将使其他组织能够以相同的视角来处理标准化。

这样的变化来自于许多不同参与者的工作,我们感谢 TC39 中所有为这项工作做出贡献的人。此外,我还要感谢我在 Mozilla 的同事们,他们出色地完成了这项工作:Zibi Braniecki 和 Peter Saint-Andre 在撰写文档草案和 Ecma 国际讨论方面给予了我支持;Daniel Nazer、Eric Rescorla、Bobby Holley 和 Tantek Çelik 为该项目提供了建议和指导。

关于 Yulia Startsev

Yulia Startsev 的更多文章…