This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Contribution Guidelines

How to contribute to SOARCA

SOARCA is an open-source project written in Golang and we love getting patches and contributions, and feature suggestions to make SOARCA and its docs even better. We welcome participation from anyone, regardless of their affiliation with OASIS. We invite constructive contributions and feedback from all contributors, following the standard practices for participation in GitHub public repository projects.

We expect everyone to follow our Code of Conduct, the licenses for each repository, and agree to our Contributor License Agreement when you make your first contribution.

Thank you for contributing to our project! Your efforts make a difference.

Contributing to SOARCA

The SOARCA itself lives on github.

How to contribute

Before making contributions to the project repositories, please follow these general steps for GitHub contribution.

I found a bug / Creating issues

If there’s something you’d like to see in SOARCA (or if you’ve found something that isn’t working the way you’d expect), but you’re not sure how to fix it yourself, please create an issue. Make sure to adhere to the structure of an issue submission. Fully comprehend the problem at hand and provide comprehensive details in your issue description.

Feature additions or requests

You can submit feature requests either through GitHub issues or the discussion pages.

Code reviews

Every submission, including those from project members, must undergo review and approval from at least one core maintainer. GitHub pull requests are utilized for this process. Consult GitHub Help for more information on using pull requests.

Branch naming

The CI is configured to only allow for certain branch naming namely:

  • master
  • development
  • feature/
  • feature/docs/
  • bugfix/
  • release/x.x
  • hotfix/

Coding style

The project has opted to select the go style guide with some exceptions:

Communication channels

Feel free to engage with the community for discussions and assistance via one of the following channels:

Contributing to these docs

Would you like to enhance our documentation? Our documentation is built using the Hugo framework along with the Docsy theme template.

Quick start with Hugo and Docsy

  1. Install Hugo; the installation guide can be found here.
  2. Clone our repository, and if you make changes, fork our repository. Use the following command to clone: git clone <repository_url>.
  3. All the documentation for the GitHub Pages lives under /documentation. Use the cd documentation && hugo serve command to preview the documentation locally. Open http://localhost:1313 in your web browser to view the documentation. In most cases, docsy will automatically reload the site to reflect any changes to the documentation or the code. Changes to some parts of the docsy code may require manually reloading the page or restarting the container.
  4. Continue with the usual GitHub workflow to edit files, commit them, push the changes up to your fork, and create a pull request.

Updating a single page

If you’ve just spotted something you’d like to change while using the docs, Docsy has a shortcut for you:

  1. Click Edit this page in the top right-hand corner of the page.
  2. If you don’t already have an up-to-date fork of the project repo, you are prompted to get one - click Fork this repository and propose changes or Update your Fork to get an up-to-date version of the project to edit. The appropriate page in your fork is displayed in edit mode.

License

The project is licensed under the Apache License 2.0. See full license here.

1 - Contributor Covenant Code of Conduct

Our Pledge

We, as contributors and maintainers, pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment include:

  • Using welcoming and inclusive language
  • Respecting differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others’ private information, such as a physical or electronic address, without explicit permission
  • Any other conduct that could reasonably be considered inappropriate in a professional setting

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team via Github or join our Slack channel. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at here For answers to common questions about this code of conduct, see