社区概述
Swift.org 社区有一个独特的目标:打造世界上最好的通用编程语言。我们将在开放环境中共同开发这门语言,欢迎任何希望参与的人贡献。本指南文档描述了 Swift 社区的组织方式,以便我们能够共同为 Swift 添加令人惊叹的新功能,并使其可用于更多平台的更多开发者。
交流
Swift 语言在开放环境中开发,所有关于语言或社区流程的技术或管理主题都应该在 Swift 公共论坛中讨论。我们鼓励公开对话,Swift 语言的活跃开发者应该关注相关的论坛分类。
- 论坛分类目录和电子邮件说明在论坛部分。
- 所有 Swift 项目的源代码可以在 GitHub 上的 github.com/apple 找到。
- Swift 语言的错误追踪系统维护在 github.com/swiftlang/swift/issues。
项目空间内的所有交流都应遵守 Swift 项目的行为准则。
社区结构
以连贯、清晰的视角推进 Swift 编程语言的发展需要强有力的领导。领导层来自社区,并与更广泛的贡献者和用户群体密切合作。社区内的角色包括:
- 项目负责人 从社区任命技术领导者。Apple Inc. 是项目负责人,通过其代表与社区互动。
- 核心团队 是负责 Swift 项目战略方向和监督的小组。
- 代码所有者 是负责 Swift 代码库特定领域的个人。
- 提交者 是任何拥有 Swift 代码库提交权限的人。
- 贡献者 是任何贡献补丁或帮助代码审查的人。
- 指导小组
- 工作组
- C++ 互操作性 是一个致力于添加 Swift 和 C++ 之间双向互操作性支持的团队。
- 贡献者体验 是一个支持 Swift 项目贡献者的团队,包括在 Swift 论坛上的贡献。
- 文档 是一个帮助指导 Swift 文档体验的团队。
- 服务器端 Swift 是一个促进使用 Swift 开发和部署服务器应用程序的团队。
- 网站 是一个帮助指导 Swift.org 网站发展的团队。
最重要的是,每个使用 Swift 的人都是我们扩展社区中的重要成员。
项目负责人
Apple Inc. 是项目负责人,作为项目的仲裁者。项目负责人任命领导职位的高级人员,这些领导者来自全球 Swift 贡献者社区。社区领导者和代码贡献者共同努力不断改进 Swift,该语言将通过所有参与者的良好工作而进步。
Ted Kremenek 是 Apple 指定的代表,作为项目负责人的发言人。
核心团队
核心团队为 Swift 社区的各个工作组和倡议提供凝聚力,提供支持和战略调整。项目负责人任命核心团队成员,以带来经验、专业知识和领导力的混合,使该团队能够共同作为 Swift 项目及其社区的有效管理者。核心团队成员预计会随时间变化。
当前的核心团队成员是:
- Ben Cohen
- Holly Borla
- Marc Aupont
- Mishal Shah
- Paris Pittman
- Saleem Abdulrasool
- Ted Kremenek
我们感谢以下荣誉退休核心团队成员的服务:
- Chris Lattner
- Dave Abrahams
- Doug Gregor
- Joe Groff
- Joe Pamer
- John McCall
- Tom Doron
语言指导小组
语言指导小组由 Swift 项目负责人和核心团队确定的专家组成,这些专家拥有平衡的观点和专业知识,可以审查、指导并战略性地调整语言的变化。语言指导小组审查并帮助迭代来自社区的语言演进提案,作为这些提案的批准者。工作组成员帮助连贯地推动 Swift 语言向前发展,以创建最好的通用编程语言。语言指导小组成员预计会随时间变化。
当前的语言指导小组成员是:
- Becca Royal-Gordon
- Ben Cohen
- Doug Gregor
- Freddy Kellison-Linn
- Holly Borla
- Joe Groff
- John McCall
- Steve Canon
- Tony Allevato
- Xiaodi Wu
代码所有者
代码所有者是被分配到 Swift 项目特定领域的个人,代码质量是他们的主要责任。Swift 总项目由众多子项目组成,包括 Swift 标准库、LLDB 调试器的扩展和 Swift 包管理器等。每个子项目都将被分配一个代码所有者。然后代码所有者负责获取所有贡献的审查、收集社区反馈,并将批准的补丁整合到产品中。
任何人都可以审查代码,我们欢迎所有感兴趣的人进行代码审查。代码审查程序不是由中央全局政策规定的。相反,这个过程由每个代码所有者定义。
任何活跃并表现出价值的社区成员都可以通过在论坛上发帖提出成为代码所有者,或由另一个成员提名。如果其他贡献者同意,项目负责人将进行任命并将新所有者的名字添加到代码所有者文件中。这个职位完全是自愿的,可以随时辞职。
当前代码所有者的列表可以在 Swift 源代码树根目录的 CODE_OWNERS.txt
文件中找到。我们还维护一个邮件组,这样你可以发送电子邮件给所有代码所有者。
对 Swift 的成功来说,可能没有什么比强大、投入的代码所有者更重要了。我们都欠他们尊重、感激之情,以及我们能提供的任何帮助。
每个贡献者负责将其姓名添加到项目根目录的 CONTRIBUTORS.txt
文件中并维护联系信息。如果你是在公司的支持下做出贡献,请添加你的公司信息,而不要将自己也列为额外的版权持有人。
论坛
社区成员之间交流的主要方式是通过 Swift 论坛。在论坛中,我们有许多类别和子类别,以帮助组织讨论。论坛主题可以通过使用标签进一步组织。
除了论坛网页界面外,还可以通过电子邮件与论坛互动。订阅和电子邮件首选项通过论坛用户设置进行配置。
Swift 项目的一个核心原则是社区是开放和包容的。论坛上的参与应遵循以下准则:
-
论坛上的所有讨论都应遵守 Swift 项目的行为准则。
-
不同用户可能在选择讨论语言方面有不同的偏好,鼓励使用他们选择的语言。
-
出于礼貌,对帖子的回复应使用与原帖相同的语言,以保持讨论的原有包容性,不会无意中排除已经参与讨论的其他参与者(包括原帖作者)。
-
对帖子的回复可以选择提供用不同语言编写的_额外文本_,如果这样做有帮助的话。
公告
公告 - 面向任何对听取关于 Swift 项目的重要公告感兴趣的人。这是一个低流量类别。
Swift 用户
使用 Swift - 对于新手或主要对使用 Swift 语言感兴趣的人,最好从在使用 Swift 类别中开始参与。这个区域旨在让用户获得关于 Swift 或其相关工具的帮助或提出问题,而不是讨论对语言本身所做的工作。此类别将接受发送至:[email protected] 的电子邮件。
开发
编译器 - 供开发者讨论 Swift 编译器、低级运行时和 SourceKit 的开发和实现。此类别将接受发送至:[email protected] 的电子邮件。
标准库 - 供开发者讨论 Swift 标准库的实现。此类别将接受发送至:[email protected] 的电子邮件。
核心库 - 供开发者讨论 Swift 核心库的实现。此类别将接受发送至:[email protected] 的电子邮件。
LLDB - 供开发者讨论 Swift REPL 和 Swift 特定方面的 LLDB 的实现。此类别将接受发送至:[email protected] 的电子邮件。
包管理器 - 供开发者讨论 Swift 包管理器的实现。此类别将接受发送至:[email protected] 的电子邮件。
LLBuild - 供开发者讨论低级构建系统(llbuild)的实现。此类别将接受发送至:[email protected] 的电子邮件。
公告 - 用于与开发者相关的公告,如发布公告、分支和基础设施更新。
CI 通知 - 来自 ci.swift.org 的构建和测试失败的自动通知。
Swift 演进
请查看 Swift 演进仓库 了解 Swift 的演进过程以及正在讨论的提案。
公告 - 用于宣布 Swift 演进提案的审查和结果。所有演进提案的讨论和审查都在 swift-evolution 邮件列表上进行。
提议 - 用于在进入审查阶段之前提出 Swift 的演进建议,包括新的语言特性、新的标准库 API 等。此类别将接受发送至:[email protected] 的电子邮件。
提案审查 - 发布和评论处于审查阶段的提案。此类别将接受发送至:[email protected] 的电子邮件。
讨论 - 用于讨论 Swift 的演进。此类别将接受发送至:[email protected] 的电子邮件。
服务器
供开发者讨论 Swift.org 和服务器工作组支持的服务器端功能。
开发 - 供开发者讨论服务器工作组开发的服务器端功能的实现。
Docker - 供开发者讨论 Swift 的官方 Docker 镜像支持。
相关项目
相关项目 - 相关项目类别包括专门用于 Swift 社区中独立于 Swift 语言本身的开源项目的子类别。
社区展示 - 社区展示类别是 Swift 社区成员宣布他们创建的可能对其他 Swift 开发者感兴趣的内容的场所。