Skip to content
This repository was archived by the owner on Aug 23, 2020. It is now read-only.

Commit e8ffdeb

Browse files
author
Gal Rogozinski
authored
Fix: Race condition
Merge pull request #1838 from acha-bill/race-and-update-fixes
2 parents 7d97993 + ca75abb commit e8ffdeb

File tree

61 files changed

+1911
-1197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1911
-1197
lines changed

CODE_OF_CONDUCT.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Community Code of Conduct
2+
3+
In the IOTA community, participants from all over the world come together to create. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use the IOTA technology.
4+
5+
This document offers some guidance to ensure IOTA participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
6+
7+
This Code of Conduct is shared by all contributors and users who engage with the IOTA Foundation team and its community services.
8+
9+
## Overview
10+
11+
This Code of Conduct presents a summary of the shared values and “common sense” thinking in our community. The basic social ingredients that hold our project together include:
12+
13+
- Being considerate
14+
- Being respectful
15+
- Being collaborative
16+
- Being pragmatic
17+
- Supporting others in the community
18+
- Getting support from others in the community
19+
20+
This Code of Conduct reflects the agreed standards of behavior for members of the IOTA community, in any social media platform, forum, mailing list, wiki, web site, discord channel, public meeting or private correspondence within the context of the IOTA Foundation team and the IOTA Tangle technology. The community acts according to the standards written down in this Code of Conduct and will defend these standards for the benefit of the community. Leaders of any group, such as moderators of social media groups, mailing lists, discord channels, forums, etc., will exercise the right to suspend access to any person who persistently breaks our shared Code of Conduct.
21+
22+
## Be considerate
23+
24+
Your actions and work will affect and be used by other people and you, in turn, will depend on the work and actions of others. Any decision you take will affect other community members, and we expect you to take those consequences into account when making decisions.
25+
26+
As a user, remember that community members work hard on their part of IOTA and take great pride in it.
27+
28+
## Be respectful
29+
30+
In order for the IOTA community to stay healthy, its members must feel comfortable and accepted. Treating one another with respect is absolutely necessary for this. In a disagreement, in the first instance, assume that people mean well.
31+
32+
We do not tolerate personal attacks, racism, sexism or any other form of discrimination. Disagreement is inevitable, from time to time, but respect for the views of others will go a long way to winning respect for your own view. Respecting other people, their work, their contributions and assuming well-meaning motivation will make community members feel comfortable and safe and will result in motivation and productivity.
33+
34+
We expect members of our community to be respectful when dealing with other contributors, users, and communities. Remember that IOTA is an international project and that you may be unaware of important aspects of other cultures.
35+
36+
## Be collaborative
37+
38+
Your feedback is important, as is its form. Poorly thought out comments can cause pain and the demotivation of other community members, but considerate discussion of problems can bring positive results. An encouraging word works wonders.
39+
40+
## Be pragmatic
41+
42+
The IOTA community is pragmatic and fair. We value tangible results over having the last word in a discussion. We defend our core values like freedom and respectful collaboration, but we don’t let arguments about minor issues get in the way of achieving more important results. We are open to suggestions and welcome solutions regardless of their origin. When in doubt support a solution which helps to get things done over one which has theoretical merits, but isn’t being worked on. Use the tools and methods which help to get the job done. Let decisions be taken by those who do the work.
43+
44+
## Support others in the community
45+
46+
The IOTA community is made strong by mutual respect, collaboration and pragmatic, responsible behavior. Sometimes there are situations where this has to be defended and other community members need help.
47+
48+
If you witness others being attacked, think first about how you can offer them personal support. If you feel that the situation is beyond your ability to help individually, go privately to the victim and ask if some form of official intervention is needed.
49+
50+
When problems do arise, consider respectfully reminding those involved of our shared Code of Conduct as a first action. Leaders are defined by their actions and can help set a good example by working to resolve issues in the spirit of this Code of Conduct before they escalate.
51+
52+
## Get support from others in the community
53+
54+
Disagreements, both political and technical, happen all the time. Our community is no exception to the rule. The goal is not to avoid disagreements or differing views but to resolve them constructively. You should turn to the community to seek advice and to resolve disagreements and where possible consult the team most directly involved.
55+
56+
Think deeply before turning a disagreement into a public dispute. If necessary, request mediation, and try to resolve differences in a less emotional medium. If you do feel that you or your work is being attacked, take your time to think things through before writing heated replies. Consider a 24-hour moratorium if emotional language is being used – a cooling-off period is sometimes all that is needed. If you really want to go a different way, then we encourage you to publish your ideas and your work, so that it can be tried and tested.
57+
58+
This work, "IOTA Community Guidelines", is a derivative of the [Community code of conduct by ownCloud](https://owncloud.org/community/code-of-conduct/), used under [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/). "IOTA Community Guidelines" is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by IOTA Foundation.

CONTRIBUTING.md

Lines changed: 99 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,118 @@
1-
## How to contribute to IRI
1+
# Contribute to IRI
22

3-
#### **How should a Pull Request look like**?
4-
Before creating a PR make sure you have read the entire contributing guideline. Ensure the PR description clearly describes the problem and solution by following the template. It is best to discuss your changes in an issue before creating the PR. A PR should address a **specific concern**. If it addresses more than one concern it **should be split**. Small PRs get merged in faster. Very large PRs are difficult to review and test. This makes them less likely to be merged.
3+
This document describes how to contribute to IRI.
54

6-
#### **Did you find a bug?**
5+
We encourage everyone with knowledge of IOTA technology to contribute.
76

8-
* **Do not open a GitHub issue if the bug is a security vulnerability
9-
in IRI**, and instead, please contact us via [[email protected]](mailto:[email protected]).
7+
Thanks! :heart:
108

11-
* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/iotaledger/iri/issues). You can also look up related issues by a label. For example, if your issue is database-related, filter based on the `C-DB` label and look for related issues. If it's API related, use `C-API` and so on. `C` stands for component. Make sure you skim through the labels to find your category.
9+
## Do you have a question?
1210

13-
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/iotaledger/iri/issues/new). Be sure to include a **title and clear description**, and as much relevant information as possible. Make sure you follow our new issue template. The first part of the issue template is dedicated to reporting bugs, delete the second part. Steps to reproduce are particularly important. Add any relevant log output and screenshots. The easier it will be to reproduce your issue, the more likely it's getting fixed.
11+
If you have a general or technical question, you can use one of the following resources instead of submitting an issue:
1412

15-
#### **Did you write a patch that fixes a bug?**
13+
- [**Developer documentation:**](https://docs.iota.org/) For official information about developing with IOTA technology
14+
- [**Discord:**](https://discord.iota.org/) For real-time chats with the developers and community members
15+
- [**IOTA cafe:**](https://iota.cafe/) For technical discussions with the Research and Development Department at the IOTA Foundation
16+
- [**StackExchange:**](https://iota.stackexchange.com/) For technical and troubleshooting questions
1617

17-
* [New issues](https://github.com/iotaledger/iri/issues/new) should be used for reporting issues. If you already wrote a patch for an issue that you or someone else reported, make sure you link it to the open issue. You can do this by mentioning the issue number in the comment or description on the PR, for example `#123` to link issue "123".
18+
## Ways to contribute
1819

19-
#### **Do you intend to add a new feature or change an existing one?**
20+
To contribute to IRI on GitHub, you can:
2021

21-
* Suggest your change as a [new issues](https://github.com/iotaledger/iri/issues/new). Use the second part of the issue template, dedicated to new feature requests and delete the first part. If you plan on implementing the change yourself, start writing the code and submit a PR. Note that the fact that the feature is "code ready" doesn't mean it will get merged. It is advisable to gather feedback for the change first. You are encouraged to start and drive a discussion on [Discord](https://discord.iota.org/). The IRI team also monitors the repo and will provide feedback where relevant.
22+
- Report a bug
23+
- Suggest a new feature
24+
- Build a new feature
25+
- Contribute to the documentation
2226

23-
#### **Want to write a regression test for your feature? Or to any other feature that needs a test?**
27+
## Report a bug
2428

25-
* Please refer to our current [regression tests](https://github.com/iotaledger/iri/tree/dev/python-regression).
29+
This section guides you through reporting a bug. Following these guidelines helps maintainers and the community understand the bug, reproduce the behavior, and find related bugs.
2630

31+
### Before reporting a bug
2732

28-
#### **Do you have questions about the functioning of IRI nodes, the network or anything IOTA related?**
33+
Please check the following list:
2934

30-
* Use our [Discord](https://discordapp.com/invite/fNGZXvh) to join the discussion and ask questions.
35+
- **Do not open a GitHub issue for [security vulnerabilities](SECURITY.MD)**, instead, please contact us at [[email protected]](mailto:[email protected]).
3136

32-
#### **Do you want to contribute to the IRI documentation?**
37+
- **Ensure the bug was not already reported** by searching on GitHub under [**Issues**](https://github.com/iotaledger/iri/issues). If the bug has already been reported **and the issue is still open**, add a comment to the existing issue instead of opening a new one. You can also find related issues by their [label](https://github.com/iotaledger/iri/labels?page=1&sort=name-asc). For example, if your issue is database related, filter issues based on the `C-DB` label to look for related ones. `C` stands for component.
3338

34-
The IOTA documentation is based in the [docs](https://github.com/iotaledger/docs) repo. You are welcome to contribute. Make sure you follow the instructions on adding new docs.
39+
**Note:** If you find a **Closed** issue that seems similar to what you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
3540

36-
Thanks! :heart: :heart: :heart:
41+
### Submitting A Bug Report
3742

38-
The contribution guidelines are inspired by the Ruby on Rails contribution guidelines.
43+
To report a bug, [open a new issue](https://github.com/iotaledger/iri/issues/new), and be sure to include as many details as possible, using the template.
3944

40-
IRI Team
45+
**Note:** Minor changes such as fixing a typo can but do not need an open issue.
46+
47+
If you also want to fix the bug, submit a [pull request](#pull-requests) and reference the issue.
48+
49+
## Suggest a new feature
50+
51+
This section guides you through suggesting a new feature. Following these guidelines helps maintainers and the community collaborate to find the best possible way forward with your suggestion.
52+
53+
### Before suggesting a new feature
54+
55+
**Ensure the feature has not already been suggested** by searching on GitHub under [**Issues**](https://github.com/iotaledger/iri/issues).
56+
57+
### Suggesting a new feature
58+
59+
To suggest a new feature, talk to the IOTA community and IOTA Foundation members in the #iri-discussion channel on [Discord](https://discord.iota.org/).
60+
61+
If the IRI team approves your feature, the team will create an issue for it.
62+
63+
## Build a new feature
64+
65+
This section guides you through building a new feature. Following these guidelines helps give your feature the best chance of being approved and merged.
66+
67+
### Before building a new feature
68+
69+
Make sure to discuss the feature in the #iri-discussion channel on [Discord](https://discord.iota.org/).
70+
71+
Otherwise, your feature may not be approved at all.
72+
73+
### Building a new feature
74+
75+
To build a new feature, check out a new branch based on the `dev` branch, and be sure to consider the following:
76+
77+
- If the feature has a public facing API, make sure to document it, using Javadoc code comments
78+
79+
- Where necessary, please write regression tests for your feature. Refer to our current [regression tests](https://github.com/iotaledger/iri/tree/dev/python-regression) for guidance.
80+
81+
## Contribute to the IRI documentation
82+
83+
The IRI documentation is hosted on https://docs.iota.org, which is built from content in the [documentation](https://github.com/iotaledger/documentation) repository.
84+
85+
Please see the [guidelines](https://github.com/iotaledger/documentation/CONTRIBUTING.md) on the documentation repository for information on how to contribute to the documentation.
86+
87+
## Pull requests
88+
89+
This section guides you through submitting a pull request (PR). Following these guidelines helps give your PR the best chance of being approved and merged.
90+
91+
### Before submitting a pull request
92+
93+
When creating a pull request, please follow these steps to have your contribution considered by the maintainers:
94+
95+
- A pull request should have exactly one concern (for example one feature or one bug). If a PR address more than one concern, it should be split into two or more PRs.
96+
97+
- A pull request can be merged only if it references an open issue
98+
99+
**Note:** Minor changes such as fixing a typo can but do not need an open issue.
100+
101+
- All code should be well tested and follow the [code styleguide](STYLEGUIDE.md)
102+
103+
### Submitting a pull request
104+
105+
The following is a typical workflow for submitting a new pull request:
106+
107+
1. Fork this repository
108+
2. Create a new branch based on your fork
109+
3. Commit changes and push them to your fork
110+
4. Create a pull request against the `dev` branch
111+
112+
If all [status checks](https://help.github.com/articles/about-status-checks/) pass, and the maintainer approves the PR, it will be merged.
113+
114+
**Note:** Reviewers may ask you to complete additional work, tests, or other changes before your pull request can be approved and merged.
115+
116+
## Code of Conduct
117+
118+
This project and everyone participating in it is governed by the [IOTA Code of Conduct](CODE_OF_CONDUCT.md).

0 commit comments

Comments
 (0)