--- 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. ## 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 MongoDB, Elasticsearch or BigchainDB. 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 info@oceanprotocol.com.