社区概览
Swift.org社区有一个独特的目标:打造世界上最好的通用编程语言。我们将在开放环境下共同开发这门语言,欢迎任何人参与贡献。本指南文档描述了Swift社区的组织方式,以便我们能够协同工作,为Swift添加令人惊叹的新功能,并使其能够被更多开发者在更多平台上使用。
交流方式
Swift语言在开放环境下开发,所有关于语言或社区流程的技术或管理主题都应该在Swift公共论坛上讨论。我们鼓励公开对话,Swift语言的活跃开发者应关注相关的论坛分类。
- 论坛分类目录和电子邮件说明在论坛部分。
- 所有Swift项目的源代码可以在GitHub上找到:github.com/apple。
- Swift语言的bug跟踪系统维护在github.com/swiftlang/swift/issues。
项目空间内的所有交流都应遵守Swift项目的行为准则。
社区结构
要以连贯、清晰的视角推进Swift编程语言的发展需要强有力的领导。领导层来自社区,并与更广泛的贡献者和用户群体密切合作。社区内的角色包括:
- 项目负责人 从社区任命技术领导者。Apple Inc.是项目负责人,通过其代表与社区互动。
- 核心团队 是负责Swift项目战略方向和监督的小组。
- 代码所有者 是负责Swift代码库特定领域的个人。
- 提交者 是拥有Swift代码库提交权限的任何人。
- 贡献者 是提供补丁或帮助代码审查的任何人。
- 指导小组
- 工作组
最重要的是,每个使用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
文件中并维护联系信息。如果您是在公司umbrella下做出贡献,请添加您公司的信息,而不要将自己也列为额外的版权持有人。
论坛
社区成员之间交流的主要方式是通过 Swift 论坛。在论坛中,我们有多个类别和子类别来帮助组织讨论。论坛主题可以通过标签进行进一步组织。
除了论坛网页界面外,还可以通过电子邮件与论坛互动。订阅和电子邮件首选项可以通过论坛用户设置进行配置。
Swift 项目的一个核心原则是社区应该开放和包容。在论坛上的互动应遵循以下准则:
-
论坛上的所有讨论都应遵守 Swift 项目的行为准则。
-
不同用户可能在讨论时有不同的语言偏好,鼓励使用他们选择的语言。
-
出于礼貌,对帖子的回复应使用与原帖相同的语言,以保持讨论的原有包容性,不会无意中排除已参与讨论的其他参与者(包括原帖作者)。
-
回复帖子时可以选择用不同的语言提供_额外的文本_,如果这样做有帮助的话。
-
帖子不应使用表情图片,如表情包;违规内容可能会被删除。更多信息请参见介绍此政策的论坛帖子。
公告
公告 - 面向所有对 Swift 项目重要公告感兴趣的人。这是一个低流量类别。
Swift 用户
使用 Swift - 对于新手或主要对使用 Swift 语言感兴趣的人,最好从”使用 Swift”类别开始参与。该区域旨在帮助用户获取关于 Swift 或其相关工具的帮助和提问,而不是讨论语言本身的开发工作。此类别接受发送至以下邮箱的邮件: [email protected]。
开发
编译器 - 供开发者讨论 Swift 编译器、底层运行时和 SourceKit 的开发和实现。此类别接受发送至: [email protected] 的邮件。
标准库 - 供开发者讨论 Swift 标准库的实现。此类别接受发送至: [email protected] 的邮件。
核心库 - 供开发者讨论 Swift 核心库的实现。此类别接受发送至: [email protected] 的邮件。
LLDB - 供开发者讨论 Swift REPL 和 LLDB 中特定于 Swift 的方面。此类别接受发送至: [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 开发者感兴趣的项目的场所。