贡献 GraalVM
GraalVM 是一个开源的 Oracle 项目,全球各地的人们在此贡献自己的工作,互相帮助,并使 GraalVM 不断创新。我们感谢过去大大小小的贡献,并始终欢迎新的合作者!只有一个庞大的社区才能使该项目成为强大的语言虚拟化技术。
有两种常见的协作方式
- 通过提交 GitHub 问题 来报告错误、提出问题或请求增强功能。请注意,安全漏洞应报告给 secalert_us@oracle.com。
- 通过创建 GitHub 拉取请求。
如果您只想为文档做出贡献,请查阅 本指南。
如果您考虑为 GraalVM 核心做出贡献,请从学习如何使用独特的构建工具 mx
从源代码构建 GraalVM 分发版开始。了解如何设置合适的开发环境,将 GraalVM 项目加载到 IDE 中,并查看可以参考的主要类,以便对编译器的工作有基本的了解。此视频演示了上述内容。
如何成为 GraalVM 贡献者?
以下是为 GraalVM 社区版及其项目做出贡献的一些提示,这些项目托管在 GitHub 上的 Oracle 组织中。我们期望贡献者遵守 贡献者盟约行为准则。总共有三个阶段
一、创建拉取请求
如果您认为您的贡献对他人有价值,请创建拉取请求 (PR)。常见流程是派生仓库、提交更改并创建 PR。创建 PR 时,请务必包含对更改意图的清晰描述,除非更改是不言自明的(例如,版本更新)。描述为什么 (1) 需要此更改或功能,(2) 如何实现,以及(可选)(3) 可能产生的进一步影响。您可以使用 PR 请求描述字段或提交消息。建议每个 PR 请求只解决一个功能或更改。
一旦您创建了拉取请求,Travis CI 服务将对您的更改运行一些健全性检查。请务必解决这些检查发现的任何明显问题(例如,格式违规),但请记住,测试失败可能不直接与您的更改相关(由于基础设施问题和瞬时测试失败,没有完美的门控)。
二、签署 Oracle 贡献者协议
为了使您的拉取请求被接受,您需要签署 Oracle 贡献者协议 (OCA)。OCA 有两种类型:个人 OCA 和公司 OCA。在线签署,一旦您的姓名或组织出现在 OCA 签署者列表中,我们就会将您添加到用于检查拉取请求作者是否受 OCA 覆盖的数据库中。如果您的条目在签署者列表中显示有延迟,请发送电子邮件至 oracle-ca_us@oracle.com。如果您的条目已在签署者列表中,但机器人仍在您的拉取请求上留下您未签署 OCA 的消息,请在拉取请求上留言说明您现在已受 OCA 覆盖。该机器人从一个独立于 OCA 签署者列表的数据库运行(因为后者不一定包含电子邮件详细信息),并且必须手动更新。
三、审查与合并
Oracle 员工将审查提议的更改,一旦拉取请求处于可合并状态,将负责将其合并到主分支。为确保在验证外部贡献代码符合这些要求方面格外谨慎,我们设有一个入站检查机器人。
提交拉取请求时会发生什么?
有许多方向可以探索,从错误修复或 API 文档改进等较小的更改,到可以加速执行或更好地控制系统的更大更改。
我们期待通过使用 Truffle 框架实现新的语言支持来扩展 GraalVM 生态系统,为多语言编程提供更好的工具,或提出新的嵌入场景。持续的努力方向是利用机器学习优化编译器配置。欢迎贡献者加入用 Java 编写的完全元循环 Java 运行时的开发。我们不断研究更高效的内存使用技术,并致力于提高不同工作负载的性能。
若要联系 GraalVM 开发人员提出与使用 GraalVM 源代码相关的问题,请订阅并发布到 graalvm-dev@oss.oracle.com。