---
title: Ways to Contribute
description: There are many ways you could contribute to Ocean Protocol.
---

All contributions to Ocean Protocol are governed by our [Contributor Code of Conduct](/concepts/code-of-conduct/).
Code development follows the [Ocean Engineering Principles](/concepts/principles/).

## Help Develop Core Ocean Software

- Read and understand the [legal requirements when contributing code](/concepts/legal-reqs/).
- Look through the [dev-ocean repository on GitHub](https://github.com/oceanprotocol/dev-ocean). It summarizes Ocean Protocol software development practices and policies.
- Ask technical questions in the [Ocean Protocol chatroom on Gitter](https://gitter.im/oceanprotocol/Lobby).
- Find repository-specific development notes in each repository (usually in the root `README.md` file).

## Report a Vulnerability

See the page about [reporting vulnerabilities](/concepts/vulnerabilities/).

## Report a Bug or Make a Feature Request

To report a bug that isn't a vulnerability, or to make a feature request, go to the relevant GitHub repository, click on the Issues tab, click on the New issue button, and read the instructions.

## Suggest a Change to the Protocol Itself

To suggest a change to the Ocean Protocol itself (which is actually a set of protocols), go to the [Ocean Protocol Enhancement Proposals (OEPs)](https://github.com/oceanprotocol/OEPs/) repository and write a proposal, either as an issue or as a pull request.

## Write!

You could write articles or blog posts related to Ocean Protocol. Possible topics include:

- a story about how you used Ocean Protocol or an Ocean network
- news from a recent event
- tutorials for beginners
- a deep dive into some specific aspect of Ocean Protocol
- a blog post about a particular component in the Ocean Protocol stack

For instructions on how to contribute to our main documentation site, check out the docs repo.

<repo name="docs"></repo>

## Participate in a Bounty

See the page about [bounties](/concepts/bounties/).

## Become an Ocean Protocol Ambassador

- [Read the announcement of the Ocean Protocol Ambassador Program](https://blog.oceanprotocol.com/envoys-of-the-new-data-economy-ocean-protocol-ambassadors-3816a0e63611)
- [Read about some ambassadors](https://blog.oceanprotocol.com/an-ambassadors-tale-531401d4452f)
- [Apply to become an ambassador](https://oceanprotocol.com/#ambassadors)

## Develop a Service Integration Driver or Plugin

- Aquarius currently supports storing metadata in Elasticsearch or MongoDB. Each option is supported by its own "OceanDB driver." You could write a new OceanDB driver to support another database. See [the existing OceanDB repositories for examples](https://github.com/oceanprotocol?utf8=%E2%9C%93&q=oceandb&type=&language=).
- Brizo currently supports storing data sets in Azure Storage, Amazon S3 or on-premise. Each option is supported by its own "Osmosis driver." You could write a new Osmosis driver to support another storage provider. See [the existing Osmosis repositories for examples](https://github.com/oceanprotocol?utf8=%E2%9C%93&q=osmosis&type=&language=).
- [OEP-11 lists the supported encryption and decryption options](https://github.com/oceanprotocol/OEPs/tree/master/11#encryption-and-decryption) (for encrypting URLs before putting them in the metadata, not data sets themselves). You could add support for another option.
- Other kinds of services could also be integrated. If you need help or advice, then email <a href="mailto:info@oceanprotocol.com">info@oceanprotocol.com</a>.
