How to Help

So you want to contribute to IPFS and the ecosystem? Here is a quick listing of things we need help with and how you can get started. Even if what you want to do is not listed here, we probably accept contributions for it! If you’re unsure, please open a issue.

Areas of contribution

Code

IPFS and its sister-projects are big, with lots of code written in multiple languages. We always need help writing and maintaining code, but it can be daunting to just jump in. We use the label “Help Wanted” on features or bugfixes that people can help out with. They are an excellent place for you to start contributing code.

The biggest and most active repositories we have today are:

If you want to start contributing to the core of IPFS, those repositories are a great place start. But the “Help Wanted” label exists in all of our repositories across the Github organizations IPFS, libp2p, IPLD, and Multiformats.

Documentation

Again, IPFS is a huge project and undertaking. With lots of code comes the need for lots of good documentation! However, we need a lot more help to write the awesome docs the project needs. If writing technical documentation is your area, we’d absolutely love your help!

The best place to get started is by looking through the Github Issues at: https://github.com/ipfs/docs

Support

IPFS already has lots of users and curious people experimenting and using IPFS in their applications. These users sometimes get stuck or have questions that need answering. If you’ve contributed something with code or documentation, chances are that you can probably help a lot of people with their questions.

We do most support via the forum we have at: https://discuss.ipfs.io/

Testing

We’re continuously improving IPFS every day, but mistakes can happen and we could release something that doesn’t work as well as it should — or simply doesn’t work at all! If you like to dig into edge-cases or write testing scenarios, wrangling our testing infrastructure could be the job for you.

We work on CI tools at https://github.com/ipfs/jenkins and plan larger scale tests at https://github.com/ipfs/kubernetes-ipfs

Design

We have many design needs, but only a small team of visual and UX designers who divide their time between IPFS-related projects and other work here. That means there are a number of issues which could use your design contributions. As home to IPFS Desktop and Companion, the ipfs-gui repo is a good place to look for opportunities to help move our design work forward. Simply filter by the label that best fits your skillset, such as design-visual or design-ux.

Issues / Triaging

With lots of code come lots of Github Issues. We need YOU to help with organizing all of this in some manner. We don’t yet have any proper resources for getting started with this. Get in touch if you can contribute a sense of extreme organization!

We currently don’t have a single place for this. If you’d like to start it, please let us know

Community

If interacting with people is your favorite thing to do in this world, IPFS and co. are always happy to help you organize events and/or workshops to teach IPFS.

We have a repository (https://github.com/ipfs/community) for organizing community events and would love your help to have meetups in more locations or make the existing ones more regular.

Applications

IPFS is designed for others to build applications around it! Building applications and services using IPFS is an excellent way to find use cases where IPFS doesn’t yet do a perfect job or uncover bugs and inefficiencies.

Get started by looking at our awesome-ipfs list. Build anything you think is missing! If you’re unsure about something, please create an issue to get help or feedback on your specific problem/idea.

Protocol Design

IPFS is ultimately about building better protocols, and we always welcome ideas and feedback on how to improve those protocols. Post feedback, issues, and proposals in the specs projects in our Github organizations or in ipfs/notes.

Research

Finally, we see Protocol Labs as a research lab, where YOUR ideas can become technologies that have a real impact on the world. If you’re interested in contributing to our research, please reach out to research@ipfs.io or research@protocol.ai for more information. Include what your interests are so we can make sure you get to work on something fun and valuable.