Anyone can contribute to COmanage by
- Participating in community discussions on the Email Lists and Slack Channels, in particular
- Filing bug reports and requests for enhancement (RFEs) in the COmanage Issue Tracker.
- Bug reports with patches, pull requests, or suggested fixes are especially welcome.
- Any code submissions must be small (ie: only a few lines, and consist exclusively of bug fixes to existing code), otherwise see Harder, below.
- Making minor corrections (fixing typos or clarifying existing language) in this wiki.
- Please do not make major changes without consulting the project first.
- Discussing or presenting on your COmanage deployments, to your colleagues, at conferences, in elevators, or at social events where you aren't concerned with coming across as too geeky.
- Funding. Various mechanisms exist for funding project development and work. Drop a note to the dev list and we'll point you in the right direction.
Non-trivial contributions to COmanage require a few more steps. While this list is oriented towards code contributions, similar constraints apply to other sorts of contributions, including documentation.
- Identify your Intellectual Property contribution authority. In many cases (the details of which vary by legal jurisdiction and employment arrangements), your potential contributions are actually owned by your employer, client, or funder. In other cases, you as the author own your contributions. You must first identify the owner (not the author) of your work. The owner must then consent to the contributions. As part of obtaining consent, it as also necessary to determine under what arrangement the contributions are made. There are two basic options, in accordance with the Internet2 Intellectual Property Policy:
- Contributions are made under the standard Apache 2.0 license, the same license used by the project.
- Agree with Internet2 to an alternate arrangement. This could include (but is not limited to) submitting a signed Contributor License Agreement like was previously required.
- Once you've identified your contribution authority, drop a note to the dev list or open a pull request (but keep reading first) as appropriate. We'll work with you to verify the status of your authority before accepting the contribution.
- A list of organizations that may currently contribute code is available in Authorized COmanage Contributors.
- Read through the Developer Manual pages (and in particular the Coding Style document) for the project's current best practices.
- Reach out to the dev team (drop a note to the dev list, find us at a conference, etc) to discuss your proposed work and to identify the correct branch to apply the work to.
- We recommend consulting with us prior to starting any major work so we can make sure you're headed in the right direction.
- All technical work requires an associated issue in the COmanage Issue Tracker.
- Once your changes are ready, submit a pull request against the identified branch. Your changes will be reviewed and either modifications will be requested or the pull request merged.
- If you do this often enough, we might make you a committer. We don't have formal thresholds for that just yet, though.