-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contributing Guidelines - First Draft (Discuss) #278
Open
MishaBoar
wants to merge
2
commits into
main
Choose a base branch
from
MishaBoar-guidelines
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
# Contributing to the website hosted at Dogecoin.com | ||
|
||
Dogecoin.com is a community-driven effort. The purpose of the website is to offer information and education about Dogecoin, advocate for its adoption, and inform users about safe practices. | ||
|
||
Dogecoin.com aims to provide a service to Dogecoin users and to be inclusive. As such, submissions to this repository cannot be an expression of the interests of specific organizations, companies, or individuals. | ||
|
||
## Contributor Workflow | ||
|
||
The repository is maintained using the "contributor workflow" where everyone without exception contributes to the website using "pull requests". This facilitates social contribution, easy testing, and peer review. | ||
|
||
As the repository contains both code contributions and content, the workflow accommodates and facilitates both. | ||
|
||
To contribute to the website, the workflow is as follows: | ||
|
||
- Fork the repository in GitHub, and clone it in your development machine. | ||
- Create a topic branch, within which you will work on your changes. | ||
- Commit changes to the branch. | ||
- Raise a Pull Request via GitHub. | ||
|
||
Whenever possible [commits should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention). This guarantees consistency and readability of the repository history, and it is useful to easily track and revert changes to the website. Whenever possible, commits should not obfuscate the history of past contributions of code or content. | ||
|
||
Commit messages should be verbose by default consisting of a short subject line (50 chars max), a blank line and detailed explanatory text as separate | ||
paragraph(s). This is not necessary if the title alone is self-explanatory (like "Corrected typo in cannoli.txt"), in which case a single title line is sufficient. | ||
|
||
The body of the pull request should contain enough description about what your contribution does together with any justification/reasoning. You should include references to any discussions (for example other tickets or mailing list discussions). You can add more commits to your pull request by committing them locally and pushing them to your branch and/or fork until you have satisfied feedback. | ||
|
||
With content submissions, in-depth explanations and linking to sources are needed, without exception, in cases of claims concerning the history of Dogecoin and text, images, or other media associated with it. | ||
|
||
## Pull Request Philosophy | ||
|
||
Pull Requests should always be focused. For example, a pull request could add an article, fix a bug, or refactor code; but not a mixture. Please avoid submitting pull requests that attempt to do too much, are overly large, or overly complex as this makes review difficult. | ||
|
||
It is particularly crucial to keep frontend content edits - for example, the creation of new articles or edits to existing ones - separated from code edits and bug fixes. | ||
|
||
Just like with code, the history of articles, faqs, and informative sections of the website must be preserved and easy to track and revert. | ||
|
||
|
||
### Features | ||
|
||
When adding a new feature, thought must be given to the long-term maintenance that feature may require after inclusion. Before proposing a new | ||
feature or section to the website that will require maintenance, please consider if you are willing to maintain it (including bug fixing). If features get orphaned with no maintainer in the future, they may be removed. | ||
|
||
|
||
## "Decision Making" Process | ||
|
||
Whether a pull request is merged and published on the website rests with the repository maintainers collaborating with contributors. | ||
|
||
Maintainers will take into account the consensus among contributors. Maintainers cannot bypass, at any moment, the need for peer reviews. | ||
|
||
In case of content submissions, maintainers and contributors will consider the quality, soundness, and impartiality of the content, alongside appropriate documentation and factual information corroborating statements within the submitted content. | ||
|
||
Maintainers will take into consideration if a submission is in line with the general principles of Dogecoin. | ||
|
||
In general, all pull requests must: | ||
|
||
- Have a clear use case, fix a demonstrable bug, or provide content useful to the Dogecoin community; | ||
- Not be an expression of particular interests of companies, organizations, or individuals; | ||
- Be focused; | ||
- Be peer-reviewed; | ||
- In case of code changes, have gone through functional tests; | ||
- Follow code and content style guidelines; | ||
- Not break the website's building process; | ||
|
||
The following contributions must come with significant discussion, happening in public and accessible to all, before | ||
approval and merge: | ||
|
||
- Major structural changes | ||
- Major content changes | ||
- Linking to third-party resources | ||
|
||
|
||
### Peer Review | ||
|
||
Anyone may participate in peer review which is expressed by comments in the pull request. | ||
|
||
With code submissions, reviewers will review the code for obvious errors and will test new functionality and fixes by generating a local copy of the website on their machine. No approval of code changes and features should come without reasonable testing by at least one reviewer. Repository maintainers take into account the peer review when determining if | ||
there is consensus to merge a pull request. | ||
|
||
With content submissions, reviewers will assess the quality of the submission by focusing on the soundness of the claims contained within it (also based on associated documentation), on the quality of the writing (proper grammar, punctuation, clarity), and on whether the content is useful and fitting to the purpose of the website. | ||
|
||
Contributions can be made in any language, but a translation in English of content provided in other languages should be provided by the original contributor or other contributors before it is published on the website. | ||
|
||
Maintainers reserve the right to weigh the opinions of peer reviewers using common sense judgment and also may weigh based on meritocracy: those | ||
that have demonstrated a deeper commitment and understanding toward Dogecoin (over time) or have clear domain expertise may naturally have more weight, as one would expect in all walks of life. | ||
|
||
### Maintainers | ||
Maintainers are appointed to their role depending on their merits, skills, and contributions to Dogecoin and its community. The composition of the group of maintainers should be diverse and not represent the opinions of a specific organization, company, groups, or individuals. | ||
|
||
At all times, maintainers act following the opinions of peer reviewers and using common sense judgement. Maintainers are appointed to their role after public discussion on Github. After public discussion, their role can be revoked if their past choices are deemed inappropriate or inconsistent. | ||
|
||
### Merging pull requests | ||
|
||
Maintainers can only merge pull requests after any maintainer, other than the author of a pull request, has approved the submission according to the decision making process outlined above. | ||
|
||
Maintainers must keep pull requests open for at least 24 hours after approval to merge is given, to allow anyone to voice a concern that may have been missed in review, or request more time to investigate a suspected issue. | ||
|
||
For submissions containing links to websites and resources managed by third parties, pull requests must be open for at least 72 hours after approval to merge is given. | ||
|
||
Requests for time and maintainer decision making are expected to be documented on the pull request discussion on Github. | ||
|
||
Time-critical changes containing advisories or security fixes can be exempted from this rule but must be clearly documented and announced to the community using commonly used communication channels. | ||
|
||
## Copyright | ||
|
||
By contributing to this repository, you agree to license your work under the MIT license unless specified otherwise in `contrib/debian/copyright` or at | ||
the top of the file itself. Any work contributed where you are not the original author must contain its license header with the original author(s) and source. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About this. Will the discussing be on GitHub?
How significant should be the discussion?
Example, Wallets that links to third-party resources there are already some pending for review for some time, how should it be handle if nobody else discuss about it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We certainly do not have enough activity on this Github, but I think that when it comes to wallets the only thing you can do is to wait for others to share their opinion.
Very very difficult to vouch for a wallet, for example, when they have not been audited by reliable third parties and still do not have a long enough track record. While you have disclaimers in place in the wallet list, I do feel queasy saying "that's OK". You will see the resources I added in the "resources" section (current version was really just little more than a stub) were mostly relatively risk-free picks.
Facing the same issue on Twitter right now, with some wallet manufacturers offering to send me their (very expensive) wallets, with some interesting features regarding backup management, but that I would not be able to review properly with my means. Too big of a responsibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Understood. Much thanks :)