附录 G - X 是如何开发的?
你有没有想过 X 语言语言本身是如何开发的?在本附录中,我们将看看 X 语言项目是如何组织的、人们如何贡献,以及决策是如何做出的。
X 语言项目
X 语言项目是一个开源项目。这意味着任何人都可以为其做出贡献。
治理
X 语言项目有一个治理结构,包括:
- 核心团队 - 指导项目的整体方向
- 语言团队 - 决定语言更改
- 库团队 - 决定标准库更改
- 编译器团队 - 致力于编译器
- 工具团队 - 致力于开发工具
- ** moderation 团队** - 维护行为准则
RFC 流程
语言的重大更改经过 RFC(征求意见)流程。
编写 RFC
对于重大更改,有人编写 RFC:
- 想法 - 在内部讨论想法
- RFC - 编写 RFC 文档
- 反馈 - 社区提供反馈
- 修订 - 根据反馈进行修订
- 决策 - 团队做出决策
- 实现 - 如果被接受,实现它
RFC 文档
RFC 文档包括:
- 摘要 - 更改的简要摘要
- 动机 - 为什么需要此更改
- 详细设计 - 详细设计
- 缺点 - 缺点
- 替代方案 - 考虑的替代方案
- 未解决的问题 - 未解决的问题
贡献
任何人都可以为 X 语言项目。
如何贡献
有很多贡献方式:
- 代码 - 编写代码
- 文档 - 编写文档
- 测试 - 编写测试
- 错误报告 - 报告错误
- 审查 - 审查拉取请求
- 社区 - 帮助社区
入门
如果你是新手,想要贡献:
- **找到“适合新手“问题 - 寻找标有“E-easy“或“good first issue“的问题
- **阅读贡献指南 - 阅读项目有贡献指南
- **加入交流 - 加入交流渠道
- 从小处开始 - 从小的更改开始
- **提问 - 提问!
贡献者许可证
贡献通常是根据项目使用 Apache 2.0 和 MIT 许可证的双重许可。
发布流程
X 语言有发布流程。
发布列车
X 语言在发布列车上:
- Nightly - 每晚构建,最新功能
- Beta - 每六周,测试版
- Stable - 每六周,稳定版
发布版本
Stable 版本每六周发布一次。这意味着你可以期待定期、可预测地获得新功能。
向后兼容性
X 语言非常重视向后兼容性。Stable 版本中的代码通常向后兼容旧代码继续在新编译器上编译。
代码库
X 语言代码库托管在 GitHub 上。
主要组件
主要组件是:
- 编译器 - X 语言编译器
- 标准库 - 标准库
- 文档 - 这本书和其他文档
- Cargo - 包管理器(如果适用)
- 工具 - 其他工具
构建系统
构建系统使用 Cargo(如果这是 Rust 项目)或其他构建系统。
社区
X 语言有一个友好和欢迎的社区。
交流渠道
有几种交流方式:
- GitHub - 问题和拉取请求
- Discord/Slack - 实时聊天
- 论坛 - 异步讨论
- 邮件列表 - 公告
行为准则
X 语言项目有行为准则,旨在营造一个安全和欢迎的环境。
致谢
X 语言之所以成为今天的样子,要感谢所有为它做出贡献的每一个人。感谢所有贡献者!
总结
X 语言项目:
- 是开源的
- 有治理结构
- 使用 RFC 流程进行重大更改
- 欢迎贡献
- 每六周发布一次
- 重视向后兼容性
- 有友好和欢迎的社区
如果你有兴趣,任何人都可以参与!