|
| 1 | +# For Contributors |
| 2 | + |
1 | 3 | GraalVM welcomes contributors to the core platform and projects that extend that
|
2 | 4 | platform. There have been significant contributions from both industry
|
3 | 5 | and academia so far and we thank you for considering to contribute your changes!
|
4 | 6 |
|
| 7 | +### How to Contribute |
| 8 | + |
5 | 9 | - Learn [how to become a GraalVM contributor](https://www.graalvm.org/community/contributors/).
|
6 | 10 | - Check individual README.md and CONTRIBUTING.md files in the subprojects to learn how to build and import them into your IDE (for example, [the compiler README.md](compiler/README.md))
|
7 | 11 | - Subscribe and post to [[email protected]](https://oss.oracle.com/mailman/listinfo/graalvm-dev) for questions related to working with the sources or extending the GraalVM ecosystem by creating new languages, tools, or embeddings.
|
| 12 | + |
| 13 | +### Contributor Roles |
| 14 | + |
| 15 | +There are different roles for contributors of the project. Find a list of current contributors in [CENSUS.md](CENSUS.md). |
| 16 | + |
| 17 | +* Committer |
| 18 | + * Has Signed the [Oracle Contributor Agreement](https://oca.opensource.oracle.com/), which is a prerequisite for contributing to the project |
| 19 | + * At least one pull request authored by the individual has been merged |
| 20 | + |
| 21 | +* Code Owner |
| 22 | + * Source code directories contain an OWNERS.toml metadata file to define one or more Code Owners. |
| 23 | + * If there is no such file, the property of the parent directory is inherited. |
| 24 | + * A change to the source code must be approved by at least one of the Code Owners. |
| 25 | + * Large modifications should be discussed with the Technical Area Lead for architectural design before a pull request is created. |
| 26 | + |
| 27 | +* Technical Area Lead |
| 28 | + * Code Owner with primary responsibility for architecture and design of a specific area |
| 29 | + * Has the ability to veto changes in his area on technical grounds |
| 30 | + |
| 31 | +* Security Lead |
| 32 | + * Organizes the vulnerability group for sharing security patches |
| 33 | + * Reviews pull requests for aspects relevant for security |
| 34 | + * Primary point of contact in case of discussing a potential security vulnerability |
| 35 | + |
| 36 | +* Developer Advocacy Lead |
| 37 | + * Manages interactions within the GraalVM Community |
| 38 | + * Runs the Advisory Board |
| 39 | + * Primary point of contact for enquiries related to the GraalVM community or community support |
| 40 | + |
| 41 | +* Project Lead |
| 42 | + * Defines an overall technical direction |
| 43 | + * Mediates disputes over code ownership |
| 44 | + * Appoints the Security Lead, Developer Advocacy Lead, and Technical Area Leads |
| 45 | + * Appointed by Oracle |
| 46 | + |
| 47 | +### Backports |
| 48 | + |
| 49 | +For versions of GraalVM with ongoing community maintenance and backport support, a Lead Maintainer is chosen among the project contributors. That lead maintainer is responsible for managing the corresponding community backport repository. See [here](https://github.com/oracle/graal/issues/8935) an example of a call for a lead maintainer. |
| 50 | + |
| 51 | +### Advisory Board |
| 52 | + |
| 53 | +Apart from source code contributors to the project, there is also a role for advisory board members that discuss project matters and direction as well as drive awareness and adoption of GraalVM technology. Find a description of the advisory board and its current members [here](https://www.graalvm.org/community/advisory-board/). |
| 54 | + |
| 55 | +### Security |
| 56 | + |
| 57 | +Entities interested in sharing reports of vulnerabilities and collaborate on security fixes should contact the Security Lead. |
0 commit comments