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.
We also have a help wanted
label for more general opportunities for members of the community to contribute.
- 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.
In order to contribute, you will need to complete CFF Contributor License Agreement.
Start the authorization process by clicking here and selecting the "Cloud Foundry - Series LLCs" option. If you are contributing code as an employee of a company click "Corporate", select the appropriate company from the list, then confirm your affiliation on the page that appears. If you are contributing as an individual, click "Individual". For further assistance with EasyCLA, please submit a support request ticket. The linux-foundation-easycla bot will automatically check if you are covered under the CLA when you make a contribution.
The agreement documents that are signed during the above process can be found on the Paketo website: Corportate CLA Individual CLA
New maintainers must already be contributors, must be nominated by an existing maintainer, and must be elected by a supermajority of the steering committee.