Skip to content
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.

[WIP] Add contribute page #237

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 151 additions & 0 deletions content/contribute/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
section: Contribute
pagetype: major
title: Contribute to IPFS
constellation: constellation-05.svg
save_as: contribute/index.html
---

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](#code)
- [Documentation](#documentation)
- [Support](#support)
- [Testing](#testing)
- [Design](#design)
- [Issues / Triaging](#issues-triaging)
- [Community](#community)
- [Applications](#applications)
- [Protocol Design](#protocol-design)
- [Research](#research)


### 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:

- https://github.com/ipfs/go-ipfs
- https://github.com/ipfs/js-ipfs
- https://github.com/libp2p/go-libp2p
- https://github.com/libp2p/js-libp2p

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](https://github.com/ipfs),
[libp2p](https://github.com/libp2p),
[IPLD](https://github.com/libp2p), and
[Multiformats](https://github.com/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 continously 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 <abbr title="Continuous Integration">CI</abbr> tools at https://github.com/ipfs/jenkins
and plan larger scale tests at https://github.com/ipfs/kubernetes-ipfs


### Design

There are no full-time designers working on IPFS and its sister-projects, but
there are many small places throughout all our projects that could use your
design love.

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


### 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 inefficiences.

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.

- https://github.com/ipfs/awesome-ipfs
- https://github.com/ipfs/notes
- https://github.com/ipfs/apps
- https://discuss.ipfs.io/


### 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`](https://github.com/notes).

- https://github.com/ipfs/specs
- https://github.com/libp2p/specs
- https://github.com/ipld/specs
- https://github.com/multiformats/specs
- https://github.com/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 [email protected] or
[email protected] for more information. Include what your interests are so
we can make sure you get to work on something fun and valuable.

30 changes: 30 additions & 0 deletions layouts/contribute/single.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>

<head>
{{ partial "head.html" . }}
</head>

<body>
{{ partial "header.html" (dict "hero" "" "baseUrl" ($.Param " baseURL ") "page" .) }}

<div class="container">
<section id="content" class="body blog">
<div class="content-wrapper" style="width: 70%; margin: 0px auto;">
{{ .Content }}
</div>
<!-- /.entry-content -->
</section>

<div class="content-wrapper">
{{ partial "latest.html" . }}
</div>

</div>

{{ partial "footer.html" . }}
<script src="/js/common.js"></script>
<script src="/js/header-and-latest.js"></script>
</body>

</html>
1 change: 1 addition & 0 deletions layouts/partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ <h1 class="pull-left">
<li><a href="/docs/install" {{ if eq .page.Params.pagename "install" }}class="current-item"{{ end }}>Install</a></li>
<li><a href="/media" {{ if eq .page.Type "media" }}class="current-item"{{ end }}>Media</a></li>
<li><a href="/docs" {{ if and (eq .page.Type "docs") (not (eq .page.Params.pagename "install")) }}class="current-item"{{ end }}>Docs</a></li>
<li><a href="/contribute" {{ if and (eq .page.Type "contribute") (not (eq .page.Params.pagename "install")) }}class="current-item"{{ end }}>Contribute</a></li>
<li><a href="/blog" {{ if or (eq .page.Type "blog") (eq .page.Data.Singular "author") }}class="current-item"{{ end }}>Blog</a></li>
</ul>
</nav>
Expand Down