Skip to content

Commit 02691bf

Browse files
committed
Add strawman contributing guidelines
The language about the license comes from what github shows at the top of https://github.com/orcasound/orcasite/blob/main/LICENSE. I don't like the use of this license, and Scott's discussion in #181 proposes changing it, which I would prefer. However, in this PR I just document the current state, which may dissuade some contributors from participating. Changing the current state, if done, would be in a separate pull request. Signed-off-by: Dave Thaler <dthaler1968@gmail.com>
1 parent 02d8480 commit 02691bf

File tree

1 file changed

+93
-5
lines changed

1 file changed

+93
-5
lines changed

CONTRIBUTING.md

Lines changed: 93 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,115 @@
22

33
Welcome to Orcasound! We're thrilled you're interested in contributing to the site.
44

5-
### Code of Conduct
5+
- [Code of Conduct](#code-of-conduct)
6+
- [Reporting Bugs](#bugs)
7+
- [Requesting New Features](#new-features)
8+
- [Contributing Code](#contributing-code)
9+
- [Contacting Us](#contacting-us)
10+
- [Resources](#resources)
11+
12+
## Code of Conduct
613

714
Please read and make sure you understand our [Code of Conduct](/CODE_OF_CONDUCT.md) before contributing to the project.
815

9-
### General workflow
10-
We recommend following these steps if you'd like to contribute to the repo.
16+
## Reporting Bugs
17+
18+
First, **ensure the bug was not already reported** by searching on GitHub under
19+
[Issues](https://github.com/orcasound/orcasite/issues).
20+
21+
If you found bug, you can help us by
22+
[submitting a GitHub Issue](https://github.com/orcasound/orcasite/issues/new).
23+
The best bug reports provide a detailed description of the issue and step-by-step instructions
24+
for reliably reproducing the issue.
25+
26+
## Requesting New Features
27+
28+
You can request a new feature by [submitting a GitHub Issue](https://github.com/orcasound/orcasite/issues/new).
29+
30+
If you would like to implement a new feature, please first
31+
[submit a GitHub Issue](https://github.com/orcasound/orcasite/issues/new) and
32+
communicate your proposal so that the community can review and provide feedback. Getting
33+
early feedback will help ensure your implementation work is accepted by the community.
34+
This will also allow us to better coordinate our efforts and minimize duplicated effort.
35+
36+
## Contributing Code
37+
38+
Orcasite is currently covered by the [GNU Affero General Public License v3.0](https://github.com/orcasound/orcasite/blob/main/LICENSE). Permissions of this strongest copyleft license are conditioned on making available
39+
complete source code of licensed works and modifications, which include larger works using a licensed
40+
work, under the same license. Copyright and license notices must be preserved. Contributors provide
41+
an express grant of patent rights.
42+
43+
If you are willing to follow the conditions of this license, check out the following links
44+
to find an unassigned item to contribute to:
45+
46+
- ["Good first issue" GitHub issues for first-timers](https://github.com/orcasound/orcasite/labels/good%20first%20issue)
47+
- ["Help wanted" GitHub issues](https://github.com/orcasound/orcasite/labels/help%20wanted)
48+
- [Project board](https://github.com/orgs/orcasound/projects/38/views/1)
49+
- [Figma](https://www.figma.com/design/41JuvNkXJhTUob8HMsJiNC/Orcasite%3A-design-updates?node-id=882-3971)
50+
- [Trello board with overview of features](https://trello.com/b/hRFh7Sc1/orcasite-development)
51+
- [Public roadmap](https://trello.com/b/wBg0qhss/orcasound-roadmap)
52+
53+
Once you've chosen an issue and want to contribute code:
1154

12-
0. Check out the [Trello board](https://trello.com/b/hRFh7Sc1/orcasite-development) for an overview of features being worked on.
13-
- This [public roadmap](https://trello.com/b/wBg0qhss/orcasound-roadmap) has a higher level view.
1455
1. Fork the Orcasite repo.
1556
2. Develop on a [feature branch](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow).
1657
3. Submit a PR (don't review your own)!
1758
- To maintain a consistent style, we recommend running [Prettier](https://github.com/prettier/prettier) on js, and `mix format` before submission.
1859
4. Once a PR is merged, we can throw it up onto the dev server to see how things look!
1960

61+
### Submitting a Pull Request
62+
63+
For all but the absolute simplest changes, first find an existing GitHub issue or
64+
[submit a new issue](https://github.com/orcasound/orcasite/issues/new) so that the
65+
community can review and provide feedback. Getting early feedback will help ensure your work
66+
is accepted by the community. This will also allow us to better coordinate our efforts and
67+
minimize duplicated effort.
68+
69+
If you would like to contribute, first identify the scale of what you would like to contribute.
70+
If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are
71+
submitting a feature or substantial code contribution, please discuss it with the maintainers and
72+
ensure it follows the public roadmap. You might also read these two blogs posts on contributing
73+
code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and
74+
[Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik.
75+
All code submissions will be reviewed and tested, and only those that meet
76+
the bar for both quality and design/roadmap appropriateness will be merged into the source.
77+
78+
For all pull requests the following rules apply:
79+
- The pull request description should describe the problem and solution, and reference the GitHub issue if one exists.
80+
- Existing tests should continue to pass.
81+
- Tests should ideally be included for every bug or feature that is completed.
82+
- Documentation should be included for every feature that is end-user visible.
83+
- Coding style should be consistent with the style used in other files of the same type in this repository.
84+
85+
## Contacting Us
86+
2087
### Questions?
88+
89+
We are happy to answer as best we can any question you have about Orcasite.
90+
There are multiple ways you can ask questions:
91+
92+
- Using the [Zulip channel](https://orcasound.zulipchat.com/#narrow/stream/437031-orcasite)
93+
- Using [Github discussions](https://github.com/orcasound/orcasite/discussions)
94+
95+
### Meetings
96+
97+
We meet for one hour other Wednesday via Google Meet. You can request a calendar invite or check the
98+
[Zulip channel](https://orcasound.zulipchat.com/#narrow/stream/437031-orcasite) for the latest meeting
99+
date and time information.
100+
101+
- [Request a calendar invite](https://forms.gle/Tegj4x6qxWx7PSes5)
102+
- [Meeting link](https://meet.google.com/igp-gpdr-wwu)
103+
- [Meeting notes](https://docs.google.com/document/d/1zXngvGO5kdm24gqSTNfHleFifU6ldtbA4amGSXe5jpg/edit?tab=t.0#heading=h.qyef7i4h6hom)
104+
105+
### Maintainers
106+
21107
If you have any questions about parts of the architecture and site, these are contributors with context about various parts:
22108

23109
- [Paul Cretu](https://github.com/paulcretu) - Orcanode, streaming backend, ffmpeg
24110
- [Skander Mzali](https://github.com/skanderm) - Elixir backend, JS/React frontend
25111

112+
## Resources
113+
26114
### Learning resources
27115
If you're new to Elixir (or JS and React), that's no problem! Here are some resources for learning what they're about.
28116

0 commit comments

Comments
 (0)