diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..33751a1e6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,134 @@ +# Contributing to Storj + +[license]: https://github.com/storj/storj/tree/main/LICENSE +[cla]: https://docs.google.com/forms/d/e/1FAIpQLSdVzD5W8rx-J_jLaPuG31nbOzS8yhNIIu4yHvzonji6NeZ4ig/viewform +[contributing]: https://github.com/storj/storj/tree/main/CONTRIBUTING.md +[white paper]: https://storj.io/whitepaper +[code of conduct]: https://github.com/storj/storj/tree/main/CODE_OF_CONDUCT.md +[writing tests]: https://github.com/storj/storj/wiki/Testing +[storj-sim]: https://github.com/storj/storj/wiki/Test-network + +Hi! Thanks for your interest in contributing to the Storj Network! + +Contributions to this project are released under the [AGPLv3 License][license]. +For code released under the AGPLv3, we request that contributors sign our +[Contributor License Agreement (CLA)][cla] so that we can re-license parts of the code +under a less restrictive license, like Apache v2, if that would help the adoption of Storj in the future. + +## Topics +* [Reporting Security Issues](#reporting-security-issues) +* [Issue tracking and roadmap](#issue-tracking-and-roadmap) +* [Quick Contribution Tips and Guidelines](#quick-contribution-tips-and-guidelines) +* [Testing](#testing) +* [Resources](#resources) + +## Reporting security issues +If you believe you've found a security vulnerability, please send your report to security-reports@storj.io. + +We greatly value security, and we may publicly thank you for your report, although we keep your name confidential if you request it. + +## Issue tracking and roadmap + +See the breakdown of what we're building by checking out the following resources: + +* [White paper][] + +## Quick contribution tips and guidelines + +### Pull requests are always welcome + +To encourage active collaboration, pull requests are strongly encouraged, not just bug reports. + +We accept pull requests for bug fixes and features where we've discussed the approach in an issue and given the go-ahead for a community member to work on it. + +"Bug reports" may also be sent in the form of a pull request containing a failing test. We'd also love to hear about ideas for new features as issues. + +Please do: + +* Check existing issues to verify that the bug or feature request has not already been submitted. +* Open an issue if things aren't working as expected. +* Open an issue to propose a significant change. +* open an issue to propose a feature +* Open a pull request to fix a bug. +* Open a pull request for an issue with the [`Help Wanted`](https://github.com/storj/storj/labels/Help%20Wanted) or [`Good first issue`](https://github.com/storj/storj/labels/Good%20First%20Issue) label and leave a comment claiming it. + +Please avoid: + +* Opening pull requests for issues marked `Need Design`, `Need Investigation`, `Waiting For Feedback` or `Blocked`. +* opening pull requests that are not related to any open issue unless they are bug reports in the form pull requests containing failing tests. + +Please note that this project adheres to a [Contributor Code of Conduct][code of conduct]. By participating in this project you agree to abide by its terms. + +### Install required packages + +To get started running Storj locally, download and install the latest release of Go (at least Go 1.13) at [golang.org](https://golang.org). + +You will also need [Git](https://git-scm.com/). (`brew install git`, `apt-get install git`, etc). +If you're building on Windows, you also need to install and have [gcc](https://gcc.gnu.org/install/binaries.html) setup correctly. + +We support Linux, Mac, and Windows operating systems. Other operating systems supported by Go should also be able to run Storj. + +### Download and compile Storj + +> **Aside about GOPATH**: Go 1.11 supports a new feature called Go modules, +> and Storj has adopted Go module support. If you've used previous Go versions, +> Go modules no longer require a GOPATH environment variable. Go by default +> falls back to the old behavior if you check out code inside of the directory +> referenced by your GOPATH variable, so make sure to use another directory, +> `unset GOPATH` entirely, or set `GO111MODULE=on` before continuing with these +> instructions. + +First, fork our repo and clone your copy of our repository. + +```bash +git clone git@github.com:/storj storj +cd storj +``` + +Then, let's install Storj. + +```bash +go install -v ./cmd/... +``` + +### Make changes and test + +Make the changes you want to see! Once you're done, you can run all the unit tests: + +```bash +go test -v ./... +``` + +You can also execute only a single test package if you like. For example: +`go test ./pkg/identity`. Add `-v` for more information about the executed unit +tests. + +See our guide for [writing tests][] and setting a local instance of the V3 components using the [storj-sim][]. + +### Commit Messages + +Our guide on good commits can be found at https://github.com/storj/storj/wiki/Git. + +### Push up a pull request + +Use Git to push your changes to your fork: + +```bash +git commit -a -m 'my changes!' +git push origin main +``` + +Use GitHub to open a pull request! + +## Testing +- See our guide for writing tests here: + - [Testing][writing tests] +- You can spin up a local instance of the V3 Network components (Uplink, Satellite, Storage Nodes), see: + - [Learn how to run the storj-sim test network][storj-sim] + +## Resources + +- [Storj White paper v3][white paper] +- [Wiki Page](https://github.com/storj/storj/wiki) +- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) +- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) diff --git a/README.md b/README.md index d98d5b812..d7225dfd8 100644 --- a/README.md +++ b/README.md @@ -27,74 +27,10 @@ retrieve those files! # Contributing to Storj -[![](https://sourcerer.io/fame/jtolds/storj/storj/images/0)](https://sourcerer.io/fame/jtolds/storj/storj/links/0)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/1)](https://sourcerer.io/fame/jtolds/storj/storj/links/1)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/2)](https://sourcerer.io/fame/jtolds/storj/storj/links/2)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/3)](https://sourcerer.io/fame/jtolds/storj/storj/links/3)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/4)](https://sourcerer.io/fame/jtolds/storj/storj/links/4)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/5)](https://sourcerer.io/fame/jtolds/storj/storj/links/5)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/6)](https://sourcerer.io/fame/jtolds/storj/storj/links/6)[![](https://sourcerer.io/fame/jtolds/storj/storj/images/7)](https://sourcerer.io/fame/jtolds/storj/storj/links/7) - -All of our code for Storj v3 is open source. Have a code change you think would make Storj better? Please send a pull request along! Make sure to sign our [Contributor License Agreement (CLA)](https://docs.google.com/forms/d/e/1FAIpQLSdVzD5W8rx-J_jLaPuG31nbOzS8yhNIIu4yHvzonji6NeZ4ig/viewform) first. See our [license section](#license) for more details. - -Have comments or bug reports? Want to propose a PR before hand-crafting it? Jump on to our [forum](https://forum.storj.io) and join the [Engineering Discussions](https://forum.storj.io/c/engineer-amas) to say hi to the developer community and to talk to the Storj core team. - -Want to vote on or suggest new features? Post it on the [forum](https://forum.storj.io/c/parent-cat/5). - -### Issue tracking and roadmap - -See the breakdown of what we're building by checking out the following resources: - - * [White paper](https://storj.io/whitepaper) - -### Install required packages - -To get started running Storj locally, download and install the latest release of Go (at least Go 1.13) at [golang.org](https://golang.org). - -You will also need [Git](https://git-scm.com/). (`brew install git`, `apt-get install git`, etc). -If you're building on Windows, you also need to install and have [gcc](https://gcc.gnu.org/install/binaries.html) setup correctly. - -We support Linux, Mac, and Windows operating systems. Other operating systems supported by Go should also be able to run Storj. - -### Download and compile Storj - -> **Aside about GOPATH**: Go 1.11 supports a new feature called Go modules, -> and Storj has adopted Go module support. If you've used previous Go versions, -> Go modules no longer require a GOPATH environment variable. Go by default -> falls back to the old behavior if you check out code inside of the directory -> referenced by your GOPATH variable, so make sure to use another directory, -> `unset GOPATH` entirely, or set `GO111MODULE=on` before continuing with these -> instructions. - -First, fork our repo and clone your copy of our repository. - -```bash -git clone git@github.com:/storj storj -cd storj -``` - -Then, let's install Storj. - -```bash -go install -v ./cmd/... -``` - -### Make changes and test - -Make the changes you want to see! Once you're done, you can run all of the unit tests: - -```bash -go test -v ./... -``` - -You can also execute only a single test package if you like. For example: -`go test ./pkg/identity`. Add `-v` for more informations about the executed unit -tests. - -### Push up a pull request - -Use Git to push your changes to your fork: - -```bash -git commit -a -m 'my changes!' -git push origin main -``` - -Use Github to open a pull request! +All of our code for Storj v3 is open source. If anything feels off, or if you feel that +some functionality is missing, please check out the [contributing page](https://github.com/storj/storj/blob/main/CONTRIBUTING.md). +There you will find instructions for sharing your feedback, building the tool locally, +and submitting pull requests to the project. ### A Note about Versioning diff --git a/docs/storagenode/CONTRIBUTING.md b/docs/storagenode/CONTRIBUTING.md deleted file mode 100644 index 1b0eccf6c..000000000 --- a/docs/storagenode/CONTRIBUTING.md +++ /dev/null @@ -1,64 +0,0 @@ -# Contribute to the Storage Node development - -[legal]: https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license -[license]: https://github.com/storj/storj/tree/main/LICENSE - -Hi! Thanks for your interest in contributing to the Storj Network! - -Contributions to this project are released under the [AGPLv3 License][license]. -For code released under the AGPLv3, we request that contributors sign our -[Contributor License Agreement (CLA)](https://docs.google.com/forms/d/e/1FAIpQLSdVzD5W8rx-J_jLaPuG31nbOzS8yhNIIu4yHvzonji6NeZ4ig/viewform) so that we can re-license the -code under Apache v2, or other licenses in the future. - -## Topics -* [Reporting Security Issues](#reporting-security-issues) -* [Quick Contribution Tips and Guidelines](#quick-contribution-tips-and-guidelines) -* [Storage Node Code Walkthrough](#storage-node-code-walkthrough) -* [Testing](#testing) - -## Reporting security issues -If you believe you've found a security vulnerability, please send your report to security-reports@storj.io. - -We greatly value security, and we may publicly thank you for your report, although we keep your name confidential if you request it. - -## Quick contribution tips and guidelines - -### Pull requests are always welcome - -To encourage active collaboration, pull requests are strongly encouraged, not just bug reports. - -We accept pull requests for bug fixes and features where we've discussed the approach in an issue and given the go-ahead for a community member to work on it. - -"Bug reports" may also be sent in the form of a pull request containing a failing test. We'd also love to hear about ideas for new features as issues. - -Please do: - -* Check existing issues to verify that the bug or feature request has not already been submitted. -* Open an issue if things aren't working as expected. -* Open an issue to propose a significant change. -* open an issue to propose a feature -* Open a pull request to fix a bug. -* Open a pull request for an issue with the [`SNO`](https://github.com/storj/storj/labels/SNO) and [`Help Wanted`](https://github.com/storj/storj/labels/Help%20Wanted) or [`Good first issue`](https://github.com/storj/storj/labels/Good%20First%20Issue) label and leave a comment claiming it. - -Please avoid: - -* Opening pull requests for issues marked `Need Design`, `Need Investigation`, `Waiting For Feedback` or `Blocked`. -* opening pull requests that are not related to any open issue unless they are bug reports in the form pull requests containing failing tests. - -Please note that this project adheres to a [Contributor Code of Conduct](https://github.com/storj/storj/tree/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. - -### Commit Messages - -Our guide on good commits can be found at https://github.com/storj/storj/wiki/Git. - -## Testing -- See our guide for writing tests here: - - [Testing](https://github.com/storj/storj/wiki/Testing) -- You can spin up a local instance of the V3 Network components (Uplink, Satellite, Storage Nodes), see: - - [Learn how to run the storj-sim test network](https://github.com/storj/storj/wiki/Test-network) - -## Resources - -- [Storj Whitepaper v3](https://storj.io/whitepaper) -- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) -- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) \ No newline at end of file