Contributing to the Chaos Toolkit
The Chaos Toolkit is a free and open source tool and a community-driven set of projects. The community’s input is what makes this project special and a success.
Your input could take the form of raising issues, voting for issues, starring projects, joining us on our community Slack team, submitting pull requests, or even suggesting whole new extension projects.
Whatever you can contribute, we’re listening and want you to help us drive the project forward.
The Chaos Toolkit Incubator¶
New potential projects should be first incubated in the Chaos Toolkit Incubator until they are ready to be moved into the main Chaos Toolkit suite of projects. Conditions for graduating a project from the Incubator to the main suite of projects include:
- Correct Licensing and Certification of Origin.
- A popular starred and used extension to the Chaos Toolkit.
- Active and prompt project issue resolution.
How to submit your own project to the incubator?¶
The incubator is a place for community projects to be collected. If you think your extension makes sense as a community project, please don’t hesitate to suggest it. The best place to start is on the community Slack team to announce it.
Generally speaking, you should consider the followings:
- Can your project be made publicly available? Think it should respect the Developer Certificate of Origin
- Does it serve your own purpose or can it be used by anyone?
- What license do you want to set on it? We tend to prefer permissive licenses that are recognized by the Open Source project, such as Apache or BSD
- Will you be able to provide basic support to the project after you have submitted it? We are not talking about enterprise support but merely basic issues overview and bug fixes from time to time
Notice also that we deal with contributors on a repository basis. Collaborators are external contributors with little permissions to the org and write permissions to the repositories they contribute to. We suggest that accounts should have 2FA enabled. This reduces the security surface risks in case a contributor account is breached.
Licensing and Certification of Origin¶
Every project in the Chaos Toolkit and the Chaos Toolkit Incubator is licensed under the Apache License, Version 2.0 and abides by the Developer Certificate of Origin on all accepted commits to the master
branch.
Contributing code to an Existing Project¶
Contributions are alwasy welcome. You can help the maintainers and improve merge by following a set of simple baseline rules.