The Paketo Buildpacks organization welcomes contributions from everyone. Formally, contributions are given as pull requests for a given repository. To contribute to a repository, follow the steps below:
- Fork the repo you'd like to make a contribution to
- Clone your fork to your local workstation
- Create a new branch for the issue
- Make the necessary changes on that branch
- Commit and push to that branch
- Make a pull request against the repo
- Sign the Contributor Licensing Agreement, if necessary
We tag issues that should be reasonable for a new contributor to take on with a
good first issue
label so you have somewhere to start.
- Want to report concerns/bugs? Create an issue on the affected repo.
- Usage issues/help? Reach out to us on Slack.
- Want to participate in deeper architectural discussions? Attend our weekly working group meetings.
The Paketo organization is divided into teams that are responsible for the maintenance of some subset of repositories belonging to a particular domain (e.g. Node.js, Python, Golang).
For each team, there are two tiers of participants:
- Contributors
- Maintainers
Becoming a contributor requires a history of interaction with repositories
under a given team's jurisdiction (e.g. node-engine repo for the Node.js
team).
Once this history has been established, you may self-nominate or be nominated by an existing contributor or maintainer. Each new contributor must be elected by a super-majority of the team maintainers.
One way to self-nominate is by creating an issue on the language-family repo for a given team. You can find an example of a self-nomination issue on the Ruby buildpack repository. This nomination included links to contributions made as justification for nomination and was approved by a super-majority of the team maintainers.
New maintainers must already be contributors, must be nominated by an existing maintainer, and must be elected by a supermajority of the steering committee.