Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 1.8 KB

contribute.md

File metadata and controls

28 lines (22 loc) · 1.8 KB

Contribute

go-ipfs is MIT licensed open source software. We welcome contributions big and small! Take a look at the community contributing notes. Please make sure to check the issues. Search the closed ones before reporting things, and help us with the open ones.

General Guidelines:

  • see the dev pseudo-roadmap
  • please adhere to the protocol described in the main ipfs repo, paper, and specs (WIP).
  • please make branches + pull-request, even if working on the main repository
  • ask questions or talk about things in Issues or #ipfs on freenode.
  • ensure you are able to contribute (no legal issues please-- we'll probably setup a CLA)
  • run go fmt before pushing any code
  • run golint and go vet too -- some things (like protobuf files) are expected to fail.
  • if you'd like to work on ipfs part-time (20+ hrs/wk) or full-time (40+ hrs/wk), contact @jbenet
  • have fun!

A short intro to the Go development workflow:

  • Ensure you have Go installed on your system.
  • Make sure that you have the environment variable GOPATH set somewhere, e.g. $HOME/gopkg
  • Clone ipfs into the path $GOPATH/src/github.com/ipfs/go-ipfs
    • NOTE: This is true even if you have forked go-ipfs, dependencies in go are path based and must be in the right locations.
  • You are now free to make changes to the codebase as you please.
  • You can build the binary by running go build ./cmd/ipfs from the go-ipfs directory.
    • NOTE: when making changes remember to restart your daemon to ensure its running your new code.