平台指导小组
平台指导小组致力于使 Swift 语言及其工具能够在新环境中使用。平台指导小组的主要目标是推动开发工作,使 Swift 工具链和语言运行时能够支持各种平台。具体而言,平台指导小组将:
- 与 Swift 核心团队合作制定工具链改进和扩展平台支持的路线图,
- 与(即将成立的)生态系统指导小组合作,改善在所有支持平台上搭建 Swift 开发环境的体验,
- 与语言指导小组合作,定义特定环境中的 Swift 语言支持,
- 实施 Swift 工具链和新平台支持的演进流程,
- 让社区了解项目路线图的变更、已接受提案的状态,以及平台支持的可用性、支持级别和要求。
成员资格
平台指导小组由在构建系统、编译器、调试器、链接器或系统编程方面具有技术专长和实践工程经验的 Swift 社区成员组成。指导小组的成员都是志愿者,通常任期两年。Swift 核心团队全权负责指导小组的成员资格,可以根据需要增加或移除成员。
平台指导小组的现任成员包括:
- Alastair Houghton,Chair (@al45tair)
- Danielle Lancashire (@endocrimes)
- Frederic Riss (@fredriss)
- Kuba Mracek (@kubamracek)
- Rokhini Prabhu (@rokhinip)
- Saleem Abdulrasool,Core Team Representative & member (@compnerd)
演进
平台指导小组对 Swift 工具链中的底层工具具有演进决策权,包括:
- SwiftPM 构建系统
- 调试器
- 链接器
- 库,如代码检查器
- Swift 运行时机制
- ABI 稳定性
- 基于平台约束的运行时 API 可用性
由于特定平台的 Swift 语言子集的提案或愿景文档会直接影响程序语义和整体编程模型,因此将与语言指导小组合作进行审查。
平台指导小组的演进决策权不包括:
- 帮助程序员在各种平台上读写代码的工具
- IDE 扩展
- SourceKit LSP
- DocC
- SwiftPM 依赖管理和分发功能
这些都属于(即将成立的)生态系统指导小组的职权范围。
并非平台指导小组推动的所有变更都需要经过演进审查。演进审查对于定义新的平台支持和现有平台的新功能至关重要,特别是那些对 ABI 稳定性和工具链兼容性有重大影响的功能。平台指导小组还将参与相关社区的标准流程,例如为支持 LLDB 而向 DWARF 调试标准提交提案。演进流程只关注与底层平台交互的实现细节。对于特定平台达到更高支持级别的日常工程工作、一般性错误修复、性能改进和其他生活质量改进,则无需经过演进流程。
沟通
平台指导小组主要通过 Swift 论坛的平台分类与社区沟通。它也可能在 Swift 博客上发布特别文章。
指导小组目前正在制定平台演进流程,并将在确定流程细节后更新本章程。预计指导小组将负责:
- 宣布(并运行)平台演进提案审查。
- 宣布有关平台演进提案审查的决定。
- 在每次 Swift 发布后,描述该版本中新实现的平台演进提案。
- 在每次 Swift 发布后,描述未来几个版本(1-2 年时间线)的平台演进路线图。
指导小组还将部分负责平台和运行时库文档的内容:
- 它将对平台演进提案作为主要文档具有编辑权限。
- 它将与其他指导小组一起审查 swift.org 上托管的任何与平台支持相关的语言、库、运行时或平台文档的技术内容,但这些文档的编辑权限属于网站工作组或其他相关小组。
平台演进流程
指导小组目前正在制定平台演进流程,完成后将在此处分享更多信息。
社区参与
平台指导小组不是与 Swift 社区分离的。指导小组成员像其他社区成员一样参与平台演进讨论并提出变更建议。当指导小组在内部讨论过程中对提案产生新想法时,指导小组成员应在审查完成前将该想法提交给社区讨论。
欢迎就 Swift 平台支持、平台演进流程、具体平台演进提案或任何其他属于平台指导小组职权范围的主题提出建议或反馈。与平台指导小组沟通的主要方式是在 Swift 论坛的演进分类中发帖,可以在现有的审查、建议或其他讨论主题中回复,也可以在演进 > 讨论或演进 > 建议中创建新主题。社区成员也可以通过电子邮件或论坛私信与平台指导小组成员进行私下联系。
平台指导小组遵循 Swift 行为准则。如果您遇到或目睹了任何滥用、骚扰或其他不可接受的行为,可以联系指导小组主席或 Swift 核心团队成员,或者标记该行为以进行审核。