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 1 commit
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
133 changes: 133 additions & 0 deletions content/contribute/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
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 everything we need help with and how you can get started helping out. Please
note that even though 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 it's sister-projects are big projects with lots of code, in multiple
languages. We always need help with writing and maintaining code, but it can
be daunting to just jump into it. Therefore, we have made sure that we label
features or bugfixes that people can help out with, with "Help Wanted" label.
That's a 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 start. But the "Help Wanted" label exists in all of our repositories
(in the Github organizations IPFS / libp2p / IPLD / Multiformats)

### Documentation

Again, IPFS is a huge project and undertaking. With lots of code comes the need
of having lots of good documentation too! However, this is currently are area
we're severly lacking enough manpower to make great. If writing technical documentation is your area, we'd love your help!

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

### Support

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

We mostly do support via the forum we have here: https://discuss.ipfs.io/

### Testing

As we're continously improving IPFS everyday, mistakes can happen and we release
something that could work much better or simply doesn't work. If you like to
dig into edge-cases or writing testing scenarios, getting dirty with all our
testing infrastructure would be a wet dream for you.
Copy link
Contributor

@Mr0grog Mr0grog Feb 14, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I re-worded this in my PR, but we should avoid this kind of language. It’s offensive and off-putting to many people.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the feedback, will keep in mind for the future.


Mainly, CI work is happening over at https://github.com/ipfs/jenkins and larger
scale tests are planned to be happening over at https://github.com/ipfs/kubernetes-ipfs


### Design

Currently, there is no fulltime designers working with IPFS and it's sister-projects.
Although it would be nice to have, we still have many smaller pieces that can be
contributed by you as a outsider!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, makes a lot of sense. @alanshaw, @lidel and @akrych might know more projects that needs help from designers as well. I think ipfs-desktop should be here as well.

Copy link
Contributor

@lidel lidel Feb 14, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


**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, comes lots of Github Issues. We need YOU to help with
organizing all of this in some manner. We don't quite yet have any proper resources
for getting started with this.

**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 do have a repository (https://github.com/ipfs/community) for organize community
events, and would love your help to have meetups in more locations or make the
existing ones more regular.


### Applications

IPFS is built so others can build applications using it! Building applications and
services using IPFS is a excellent way of finding use cases where IPFS quite
doesn't the job as great as it could, or to uncover bugs/inefficiences.

A place to get started is to look at our awesome-ipfs list, and build anything
that you think is missing. If you're unsure about something, you're welcome to
create a 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

Since IPFS is a protocol in the end, we always welcome ideas and feedback on how
to improve it. Most of the work would happen within the specifications or ipfs/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

Protocol Labs is in the ground and bottom a research lab, where YOUR idea can
become real, if it can have a real impact on the world. If you're interested in
contributing to the research, please reach out to [email protected] or [email protected]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be mailto: links, or are we trying to avoid that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, mailto: sounds good, think it was just because of laziness I didn't add it. Can't find a reason why we would avoid it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, can we make Hugo do that automatically? (Do we want to?)

for more information, please include what your interest 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