-
Notifications
You must be signed in to change notification settings - Fork 0
add CONTRIBUTING, CODE_OF_CONDUCT and Style Guide #85
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
Open
mniestroj
wants to merge
1
commit into
main
Choose a base branch
from
contributing
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
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 hidden or 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,128 @@ | ||
| # Contributor Covenant Code of Conduct | ||
|
|
||
| ## Our Pledge | ||
|
|
||
| We as members, contributors, and leaders pledge to make participation in our | ||
| community a harassment-free experience for everyone, regardless of age, body | ||
| size, visible or invisible disability, ethnicity, sex characteristics, gender | ||
| identity and expression, level of experience, education, socio-economic status, | ||
| nationality, personal appearance, race, religion, or sexual identity | ||
| and orientation. | ||
|
|
||
| We pledge to act and interact in ways that contribute to an open, welcoming, | ||
| diverse, inclusive, and healthy community. | ||
|
|
||
| ## Our Standards | ||
|
|
||
| Examples of behavior that contributes to a positive environment for our | ||
| community include: | ||
|
|
||
| * Demonstrating empathy and kindness toward other people | ||
| * Being respectful of differing opinions, viewpoints, and experiences | ||
| * Giving and gracefully accepting constructive feedback | ||
| * Accepting responsibility and apologizing to those affected by our mistakes, | ||
| and learning from the experience | ||
| * Focusing on what is best not just for us as individuals, but for the | ||
| overall community | ||
|
|
||
| Examples of unacceptable behavior include: | ||
|
|
||
| * The use of sexualized language or imagery, and sexual attention or | ||
| advances of any kind | ||
| * Trolling, insulting or derogatory comments, and personal or political attacks | ||
| * Public or private harassment | ||
| * Publishing others' private information, such as a physical or email | ||
| address, without their explicit permission | ||
| * Other conduct which could reasonably be considered inappropriate in a | ||
| professional setting | ||
|
|
||
| ## Enforcement Responsibilities | ||
|
|
||
| Community leaders are responsible for clarifying and enforcing our standards of | ||
| acceptable behavior and will take appropriate and fair corrective action in | ||
| response to any behavior that they deem inappropriate, threatening, offensive, | ||
| or harmful. | ||
|
|
||
| Community leaders have the right and responsibility to remove, edit, or reject | ||
| comments, commits, code, wiki edits, issues, and other contributions that are | ||
| not aligned to this Code of Conduct, and will communicate reasons for moderation | ||
| decisions when appropriate. | ||
|
|
||
| ## Scope | ||
|
|
||
| This Code of Conduct applies within all community spaces, and also applies when | ||
| an individual is officially representing the community in public spaces. | ||
| Examples of representing our community include using an official e-mail address, | ||
| posting via an official social media account, or acting as an appointed | ||
| representative at an online or offline event. | ||
|
|
||
| ## Enforcement | ||
|
|
||
| Instances of abusive, harassing, or otherwise unacceptable behavior may be | ||
| reported to the community leaders responsible for enforcement at | ||
| [email protected]. | ||
| All complaints will be reviewed and investigated promptly and fairly. | ||
|
|
||
| All community leaders are obligated to respect the privacy and security of the | ||
| reporter of any incident. | ||
|
|
||
| ## Enforcement Guidelines | ||
|
|
||
| Community leaders will follow these Community Impact Guidelines in determining | ||
| the consequences for any action they deem in violation of this Code of Conduct: | ||
|
|
||
| ### 1. Correction | ||
|
|
||
| **Community Impact**: Use of inappropriate language or other behavior deemed | ||
| unprofessional or unwelcome in the community. | ||
|
|
||
| **Consequence**: A private, written warning from community leaders, providing | ||
| clarity around the nature of the violation and an explanation of why the | ||
| behavior was inappropriate. A public apology may be requested. | ||
|
|
||
| ### 2. Warning | ||
|
|
||
| **Community Impact**: A violation through a single incident or series | ||
| of actions. | ||
|
|
||
| **Consequence**: A warning with consequences for continued behavior. No | ||
| interaction with the people involved, including unsolicited interaction with | ||
| those enforcing the Code of Conduct, for a specified period of time. This | ||
| includes avoiding interactions in community spaces as well as external channels | ||
| like social media. Violating these terms may lead to a temporary or | ||
| permanent ban. | ||
|
|
||
| ### 3. Temporary Ban | ||
|
|
||
| **Community Impact**: A serious violation of community standards, including | ||
| sustained inappropriate behavior. | ||
|
|
||
| **Consequence**: A temporary ban from any sort of interaction or public | ||
| communication with the community for a specified period of time. No public or | ||
| private interaction with the people involved, including unsolicited interaction | ||
| with those enforcing the Code of Conduct, is allowed during this period. | ||
| Violating these terms may lead to a permanent ban. | ||
|
|
||
| ### 4. Permanent Ban | ||
|
|
||
| **Community Impact**: Demonstrating a pattern of violation of community | ||
| standards, including sustained inappropriate behavior, harassment of an | ||
| individual, or aggression toward or disparagement of classes of individuals. | ||
|
|
||
| **Consequence**: A permanent ban from any sort of public interaction within | ||
| the community. | ||
|
|
||
| ## Attribution | ||
|
|
||
| This Code of Conduct is adapted from the [Contributor Covenant][homepage], | ||
| version 2.0, available at | ||
| https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. | ||
|
|
||
| Community Impact Guidelines were inspired by [Mozilla's code of conduct | ||
| enforcement ladder](https://github.com/mozilla/diversity). | ||
|
|
||
| [homepage]: https://www.contributor-covenant.org | ||
|
|
||
| For answers to common questions about this code of conduct, see the FAQ at | ||
| https://www.contributor-covenant.org/faq. Translations are available at | ||
| https://www.contributor-covenant.org/translations. |
This file contains hidden or 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,196 @@ | ||||||
| # Contributing to Golioth's Bluetooth Gateway | ||||||
|
|
||||||
| First off, thanks for taking the time to contribute! ❤️ | ||||||
|
|
||||||
| Contributions of all types are encouraged and valued. | ||||||
| We promise to work towards automating as much of the contribution process | ||||||
| as possible but request you refer to the sections below before contributing. It will make it a | ||||||
| lot easier for us maintainers and smooth out the experience for all involved. The community looks | ||||||
| forward to your contributions. 🎉 | ||||||
|
|
||||||
| > And if you like the project, but just don't have time to contribute, that's fine. | ||||||
| > There are other easy ways to support the project and show your appreciation, | ||||||
| > which we would also be very happy about: | ||||||
| > - Star the project | ||||||
| > - Tweet about it & mention [@golioth_iot](https://twitter.com/golioth_iot) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| > - Refer this project in your project's readme | ||||||
| > - Mention the project at local meetups and tell your friends/colleagues | ||||||
|
|
||||||
| ## Code of Conduct | ||||||
|
|
||||||
| This project and everyone participating in it is governed by the | ||||||
| [Golioth Bluetooth Gateway Code of Conduct](CODE_OF_CONDUCT.md). | ||||||
| By participating, you are expected to uphold this code. Please report unacceptable behavior | ||||||
| to <[email protected]>. | ||||||
|
|
||||||
| ## I Have a Question | ||||||
|
|
||||||
| After referring to our [Documentation](https://docs.golioth.io) and searching for existing | ||||||
| [Issues](https://github.com/golioth/bluetooth-gateway/issues), feel free to ask a question or | ||||||
| start a discussion in our [Forum](https://forum.golioth.io/). | ||||||
|
|
||||||
| - Provide as much context as you can about what you're running into. | ||||||
| - Provide project and platform versions (target board, version of our SDK), depending on what seems relevant. | ||||||
|
|
||||||
| We will then answer your question as soon as possible. | ||||||
|
|
||||||
| ## I Want To Contribute | ||||||
|
|
||||||
| > ### Legal Notice | ||||||
| > When contributing to this project, you must agree that you have authored 100% of the content, | ||||||
| > that you have the necessary rights to the content and that the content you contribute may be | ||||||
| > provided under the project license. | ||||||
|
|
||||||
| ### Developer Certificate of Origin Process | ||||||
|
|
||||||
| This project will only accept contributions using the Developer’s Certificate of Origin 1.1 located | ||||||
| at https://developercertificate.org (“DCO”). The DCO is a legally binding statement asserting that | ||||||
| you are the creator of your contribution, or that you otherwise have the authority to distribute | ||||||
| the contribution, and that you are intentionally making the contribution available under the | ||||||
| license associated with the Project ("License"). | ||||||
|
|
||||||
| You can agree to the DCO in your contribution by using a “Signed-off-by” line at the end of your | ||||||
| commit message. You should only submit a contribution if you are willing to agree to the DCO terms. | ||||||
| If you are willing, just add a line to the end of every git commit message: | ||||||
|
|
||||||
| ``` | ||||||
| Signed-off-by: Jane Smith <[email protected]> | ||||||
| ``` | ||||||
|
|
||||||
| You may type this line on your own when writing your commit messages. However, Git makes it easy | ||||||
| to add this line to your commit messages. If you set your user.name and user.email as part of your | ||||||
| git configuration, you can sign your commit automatically with `git commit -s`. | ||||||
|
|
||||||
| ## Reporting Bugs | ||||||
|
|
||||||
| ### Before Submitting a Bug Report | ||||||
|
|
||||||
| We have a special place in our hearts for embedded developers and have been on the receiving | ||||||
| end of some nasty silicon errata and software bugs. Because of this we genuinely appreciate the | ||||||
| time and effort you put into uncovering bugs not only in our software but yours as well. | ||||||
|
|
||||||
| To best help you out we *recommend* that you gather the following information before making a bug report. | ||||||
|
|
||||||
| - Make sure that you are using the latest supported version | ||||||
| - Check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/golioth/bluetooth-gateway/issues?q=label%3Abug). | ||||||
| - Collect information about the bug: | ||||||
| - Stack trace | ||||||
| - OS, Platform and Version (Windows, Linux, macOS, x86, ARM) | ||||||
| - Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant. | ||||||
| - Possibly your input and the output | ||||||
| - Can you reliably reproduce the issue? And can you also reproduce it with older versions? | ||||||
| - Determine if your bug is really a bug and not an error on your side e.g. using incompatible | ||||||
| environment components/versions (Make sure that you have read the [documentation](https://docs.golioth.io). | ||||||
| If you are looking for support, you might want to check [this section](#i-have-a-question)). | ||||||
|
|
||||||
| However we also realize there are those times where you just need a good ol' sanity check. | ||||||
| If it's late and you find yourself debugging assembly code please feel free to reach out to us | ||||||
| on [Discord](https://discord.com/invite/qKjmvzMVYR) for some re-assurance. | ||||||
|
|
||||||
|
|
||||||
| ### How Do I Submit a Good Bug Report? | ||||||
|
|
||||||
| > We take security very seriously. It is *vitally* important to NOT publicly report | ||||||
| > security related issues, vulnerabilities or bugs. Instead, please send your findings | ||||||
| > by email to <[email protected]>. We appreciate your research and will work with you | ||||||
| > to resolve the situation ASAP. | ||||||
| <!-- You may add a PGP key to allow the messages to be sent encrypted as well. --> | ||||||
|
|
||||||
| Upon following the recommendations in the previous section: | ||||||
|
|
||||||
| - Open a [Bug Report](https://github.com/golioth/bluetooth-gateway/issues/new/choose) | ||||||
| - Complete the Bug Report form | ||||||
| - Include any information gathered in the previous section | ||||||
| - Please provide as much context as possible and describe the *reproduction steps* that someone | ||||||
| else can follow to recreate the issue on their own. | ||||||
| - For good bug reports isolate the problem and create a reduced test case. | ||||||
|
|
||||||
| Once it's filed: | ||||||
|
|
||||||
| - The project team will label the issue accordingly. | ||||||
| - A team member will try to reproduce the issue with your provided steps. If there are no | ||||||
| reproduction steps or no obvious way to reproduce the issue, the team will ask you for | ||||||
| those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be | ||||||
| addressed until they are reproduced. | ||||||
| - If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly | ||||||
| other tags (such as `critical`), and the issue will be left to be [implemented by someone](#your-first-code-contribution). | ||||||
|
|
||||||
| <!-- You might want to create an issue template for bugs and errors that can be used as a guide and that defines the structure of the information to be included. If you do so, reference it here in the description. --> | ||||||
|
|
||||||
| ## Suggesting Enhancements | ||||||
|
|
||||||
| This section guides you through submitting an enhancement suggestion for Golioth's Bluetooth | ||||||
| Gateway, **including completely new features and minor improvements to existing functionality**. | ||||||
| Following these guidelines will help maintainers and the community to understand your suggestion and | ||||||
| find related suggestions. | ||||||
|
|
||||||
| ### Before Submitting an Enhancement | ||||||
|
|
||||||
| - Make sure that you are using the latest version. | ||||||
| - Read the [documentation](https://docs.golioth.io) carefully and find out if the functionality is | ||||||
| already covered, maybe by an individual configuration. | ||||||
| - Perform a [search](https://github.com/golioth/bluetooth-gateway/issues) to see if the | ||||||
| enhancement has already been suggested. If it has, add a comment to the existing issue instead | ||||||
| of opening a new one. | ||||||
| - Find out whether your idea fits with the scope and aims of the project. It's up to you to make a | ||||||
| strong case to convince the project's developers of the merits of this feature. Keep in mind | ||||||
| that we want features that will be useful to the majority of our users and not just a small subset. | ||||||
| If you're just targeting a minority of users, consider writing an add-on/plugin library. | ||||||
|
|
||||||
| ### How Do I Submit a Good Enhancement Suggestion? | ||||||
|
|
||||||
| Enhancement suggestions are currently tracked as discussions in our | ||||||
| [Forum](https://forum.golioth.io/). We recommend establishing the following in your discussion topic | ||||||
| and description: | ||||||
|
|
||||||
| - Use a **clear and descriptive title** for the issue to identify the suggestion. | ||||||
| - Provide a **step-by-step description of the suggested enhancement** with as many details as possible. | ||||||
| - **Describe the current behavior** and **explain which behavior you expected to see instead** and | ||||||
| why. At this point you can also tell which alternatives do not work for you. | ||||||
| - You may want to **include screenshots and animated GIFs** which help you demonstrate the steps | ||||||
| or point out the part which the suggestion is related to. You can use | ||||||
| [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and | ||||||
| [this tool](https://github.com/colinkeenan/silentcast) or | ||||||
| [this tool](https://github.com/GNOME/byzanz) on Linux. <!-- this should only be included if the project has a GUI --> | ||||||
| - **Explain why this enhancement would be useful** to most SDK users. You may also want to point | ||||||
| out the other projects that solved it better and which could serve as inspiration. | ||||||
|
|
||||||
| <!-- You might want to create an issue template for enhancement suggestions that can be used as a guide and that defines the structure of the information to be included. If you do so, reference it here in the description. --> | ||||||
|
|
||||||
| ## Style Guide | ||||||
|
|
||||||
| Follow the guidelines in our [Style Guide](doc/Style_Guide.md). | ||||||
|
|
||||||
| ## Commit Guide | ||||||
|
|
||||||
| Each commit message should contain: | ||||||
|
|
||||||
| * a short and descriptive subject line followed by a blank line, which includes a | ||||||
| prefix that identifies the subsystem being changed, followed by a colon. | ||||||
| * a body which explains the reason for the change ("why" the code is changed). | ||||||
| * a `Signed-off-by: <name> <email>` line (automatic with `git commit -s`). | ||||||
|
|
||||||
| Here's an example: | ||||||
|
|
||||||
| ``` | ||||||
| golioth_rpc: add void *callback_arg | ||||||
|
|
||||||
| Added a convenience callback_arg, so user can capture their own | ||||||
| data and forward it to the RPC method callback when it's invoked. | ||||||
|
|
||||||
| Signed-off-by: Nick Miller <[email protected]> | ||||||
| ``` | ||||||
|
|
||||||
| If the change addresses an issue, include a line of the form: | ||||||
|
|
||||||
| ``` | ||||||
| Fixes #<issuenumber> | ||||||
| ``` | ||||||
|
|
||||||
| ## Improving The Documentation | ||||||
|
|
||||||
| - If you want to assist in improving comments in line with code in our sources feel free to make an issue or PR | ||||||
| - If improving handbooks or guides are your interest head on over to [github.com/golioth/docs](https://github.com/golioth/docs), which contains the sources for our formal documentation hosted at [docs.golioth.io](https://docs.golioth.io/) | ||||||
|
|
||||||
| ---- | ||||||
| ### This guide is based on the **contributing-gen**. [Make your own](https://github.com/bttger/contributing-gen)! | ||||||
Oops, something went wrong.
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.
This style guide is pretty out of date, I think we should just leave it out for now, until we get a chance to update the version in the SDK