diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..3f18f5480 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,127 @@ +# 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, caste, color, 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 other's 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 +[contact@memgraph.com](contact@memgraph.com). 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, version 2.1, +available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder][mozilla coc]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). +Translations are available at +[https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..8bfd6f7e0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,121 @@ +# How to contribute? + +This is a general purpose guide for contributing to Memgraph. We're still +working out the kinks to make contributing to this project as easy and +transparent as possible, but we're not quite there yet. Hopefully, this document +makes the process for contributing clear and answers some questions that you may +have. + +- [How to contribute?](#how-to-contribute) + - [Open development](#open-development) + - [Branch organization](#branch-organization) + - [Bugs & changes](#bugs--changes) + - [Where to find known issues?](#where-to-find-known-issues) + - [Proposing a change](#proposing-a-change) + - [Your first pull request](#your-first-pull-request) + - [Sending a pull request](#sending-a-pull-request) + - [Style guide](#style-guide) + - [How to get in touch?](#how-to-get-in-touch) + - [Code of Conduct](#code-of-conduct) + - [License](#license) + - [Attribution](#attribution) + +## Open development + +All work on Memgraph is done via [GitHub](https://github.com/memgraph/memgraph). +Both core team members and external contributors send pull requests which go +through the same review process. + +## Branch organization + +Most pull requests should target the [`master +branch`](https://github.com/memgraph/memgraph/tree/master). We only use separate +branches for developing new features and fixing bugs before they are merged with +`master`. We do our best to keep `master` in good shape, with all tests passing. + +Code that lands in `master` must be compatible with the latest stable release. +It may contain additional features but no breaking changes if it's not +absolutely necessary. We should be able to release a new minor version from the +tip of `master` at any time. + +## Bugs & changes + +### Where to find known issues? + +We are using [GitHub Issues](https://github.com/memgraph/memgraph/issues) for +our public bugs. We keep a close eye on this and try to make it clear when we +have an internal fix in progress. Before filing a new task, try to make sure +your problem doesn't already exist. + +### Proposing a change + +If you intend to change the public API, or make any non-trivial changes to the +implementation, we recommend [filing an +issue](https://github.com/memgraph/memgraph/issues/new). This lets us reach an +agreement on your proposal before you put significant effort into it. + +If you're only fixing a bug, it's fine to submit a pull request right away but +we still recommend to file an issue detailing what you're fixing. This is +helpful in case we don't accept that specific fix but want to keep track of the +issue. + +### Your first pull request + +Working on your first Pull Request? You can learn how from this free video +series: + +**[How to Contribute to an Open Source Project on +GitHub](https://app.egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)** + +If you decide to fix an issue, please be sure to check the comment thread in +case somebody is already working on a fix. If nobody is working on it at the +moment, please leave a comment stating that you intend to work on it so other +people don't accidentally duplicate your effort. + +If somebody claims an issue but doesn't follow up for more than two weeks, it's +fine to take it over but you should still leave a comment. + +### Sending a pull request + +The core team is monitoring for pull requests. We will review your pull request +and either merge it, request changes to it, or close it with an explanation. +**Before submitting a pull request,** please make sure the following is done: + +1. Fork [the repository](https://github.com/memgraph/memgraph) and create your + branch from `master`. +2. If you've fixed a bug or added code that should be tested, add tests! +3. Use the formatter `clang-format` for C/C++ code and `flake8` for Python code. + `clang-format` will automatically detect the `.clang-format` file in the root + directory while `flake8` can be used with the default configuration. + +### Style guide + +Memgraph uses the [Google Style +Guide](https://google.github.io/styleguide/cppguide.html) for C++ in most of its +code. You should follow them whenever writing new code. + +## How to get in touch? + +Aside from communicating directly via Pull Requests and Issues, the Memgraph +Community [Discord Server](https://discord.gg/memgraph) is the best place for +conversing with project maintainers and other community members. + +## [Code of Conduct](https://github.com/memgraph/memgraph/blob/master/CODE_OF_CONDUCT.md) + +Memgraph has adopted the [Contributor +Covenant](https://www.contributor-covenant.org/) as its Code of Conduct, and we +expect project participants to adhere to it. Please read [the full +text](https://github.com/memgraph/memgraph/blob/master/CODE_OF_CONDUCT.md) so +that you can understand what actions will and will not be tolerated. + +## License + +By contributing to Memgraph, you agree that your contributions will be licensed +under the [Memgraph licensing +scheme](https://github.com/memgraph/memgraph/blob/master/LICENSE). + +## Attribution + +This Contributing guide is adapted from the **React.js Contributing guide** +available at +[https://reactjs.org/docs/how-to-contribute.html](https://reactjs.org/docs/how-to-contribute.html). diff --git a/README.md b/README.md index b75ab5ea9..8abec4deb 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,12 @@ Build modern, graph-based applications on top of your streaming data in minutes.

+

+ + Discord + +

+ ## :clipboard: Description Memgraph is a streaming graph application platform that helps you wrangle your @@ -48,7 +54,7 @@ Memgraph is implemented in C/C++ and leverages an in-memory first architecture to ensure that you’re getting the best possible performance consistently and without surprises. It’s also ACID-compliant and highly available. -## :shipit: Download & Install +## :floppy_disk: Download & Install ### Windows @@ -91,14 +97,25 @@ The Memgraph documentation is available at Command line options that Memgraph accepts are available in the [reference guide](https://memgraph.com/docs/memgraph/reference-guide/configuration). -## :trophy: Contributions +## :trophy: Contributing -For bugs, feature requests, or any other code-related info, reach out to us -using [GitHub issues](https://github.com/memgraph/memgraph/issues/new). We'd -love to hear your ideas and talk about them before any code is written, that way -we can brainstorm the general use cases and create better software! +The main purpose of this repository is to continue evolving Memgraph, making it +faster and easier to use. Development of Memgraph happens in the open on GitHub, +and we are grateful to the community for contributing bug fixes and +improvements. Read below to learn how you can take part in improving Memgraph. -## :scroll: Licence +### Code of Conduct + +Memgraph has adopted a Code of Conduct that we expect project participants to +adhere to. Please read [the full text](CODE_OF_CONDUCT.md) so that you can +understand what actions will and will not be tolerated. + +### Contributing Guide + +Read our [contributing guide](CONTRIBUTING.md) to learn about our development +process and how to propose bug fixes and improvements. + +### :scroll: License Memgraph Community is available under the [BSL license](./licenses/BSL.txt).
Memgraph Enterprise is available under the