diff --git a/MAINTAINERS.yaml b/MAINTAINERS.yaml index 6a6d9c33d..c632e52cd 100644 --- a/MAINTAINERS.yaml +++ b/MAINTAINERS.yaml @@ -1,5 +1,5 @@ - name: Aishat Muibudeen - github: mayaleeeee + github: Mayaleeeee linkedin: aishatmuibudeen slack: U03CNHGEUR1 twitter: maya_ux_ui diff --git a/code_of_conduct/coc-incident-resolution-procedures.md b/code_of_conduct/coc-incident-resolution-procedures.md new file mode 100644 index 000000000..58341cf52 --- /dev/null +++ b/code_of_conduct/coc-incident-resolution-procedures.md @@ -0,0 +1,248 @@ +# AsyncAPI Code of Conduct - Incident Resolution Procedures + +## Purpose and scope +These Procedures address the following topics related to the resolution of potential violations of the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md): + +- [How to submit a report](#how-to-submit-a-report) + - [Submit in writing](#submit-in-writing) + - [Submit in spoken conversation](#submit-in-spoken-conversation) + - [How to report anonymously](#how-to-report-anonymously) +- [What information to include in your report](#what-information-to-include-in-your-report) +- [What happens after a report is submitted](#what-happens-after-a-report-is-submitted) + - [Acknowledgement of Receipt](#acknowledgement-of-receipt) + - [Confirmation and Jurisdiction](#confirmation-and-jurisdiction) + - [Who will have access to reports](#who-will-have-access-to-reports) + - [Investigation](#investigation) + - [Notification to the Accused Person](#notification-to-the-accused-person) +- [Resolution](#resolution) + - [Interim Protective Measures](#interim-protective-measures) + - [Mediation and Resolution by Agreement](#mediation-and-resolution-by-agreement) + - [Potential Remedies](#potential-remedies) + - [Restorative Justice](#restorative-justice) + - [Transformative Justice](#transformative-justice) + - [Factors that the CoC Committee will consider](#factors-that-the-coc-committee-will-consider) + - [Examples of Remedies](#examples-of-remedies) + - [Accountability](#accountability) + - [Communicating the Results](#communicating-the-results) +- [Information Sharing](#information-sharing) +- [Confidentiality Policy](#confidentiality-policy) +- [No Retaliation](#no-retaliation) +- [Conflicts of Interest](#conflicts-of-interest) + - [Obligation to disclose potential conflicts of interest](#obligation-to-disclose-potential-conflicts-of-interest) + - [Procedures to disclose and confirm conflicts](#procedures-to-disclose-and-confirm-conflicts) + - [Procedures when a hard conflict of interest exists](#procedures-when-a-hard-conflict-of-interest-exists) + - [Procedures when a soft conflict of interest exists](#procedures-when-a-soft-conflict-of-interest-exists) +- [Amendments](#amendments) +- [Attribution](#attribution) + +## How to submit a report + +You may report a potential violation of the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md) in writing or in a spoken conversation as indicated below. + +### Submit in writing + +To report a violation in writing, please email [conduct@asyncapi.io](mailto:conduct@asyncapi.io), which goes to all primary (not alternate) members of the AsyncAPI Code of Conduct Committee (CoC Committee). If you do not want your report to be received by all members of the CoC Committee, either because you want to submit a report anonymously or because one of the CoC Committee members has a conflict of interest, you may send your report directly to any individual member of the CoC Committee. + +### Submit in spoken conversation + +If you prefer to report the violation in a spoken conversation, you may request a virtual meeting with a CoC Committee member. If the incident occurs at an event, you may report the incident in person either to a member of the AsyncAPI CoC Committee or a [Technical Steering Committee](https://www.asyncapi.com/community/tsc) (TSC) member. + + +### How to report anonymously + +If you desire to submit a report anonymously, please send a message directly to any individual member of our CoC Committee through the AsyncAPI Slack and let them know you would like to submit a Code of Conduct report anonymously. If you submit your report anonymously, that member of the CoC Committee will share the contents of your report with the rest of the CoC Committee. Still, they will not disclose your identity as the reporter to the other members of the CoC Committee (unless such disclosure is necessary to comply with applicable laws or court orders or to protect you or someone else from imminent danger). + +## What information to include in your report + +When reporting a potential Code of Conduct violation, please include the following information in your report: + +- Names of the people involved (or if names are unknown, use descriptions and any identifying information such as appearance, role, username, or handle), including the person you believe violated the Code of Conduct and any witnesses. + +- Description of the incident, including the events that occurred, the date and time, and the location or community space where the incident occurred. + +- The portion(s) of the CoC you believe to be violated. + +- If you have relevant documentary evidence, such as screenshots or photographs, please provide those with your report. + +## What happens after a report is submitted + +### Acknowledgement of Receipt + +The Code of Conduct Committee will acknowledge receipt of your report in a timely manner, usually within three business days. + +### Confirmation and Jurisdiction + +Once the report has been submitted, the AsyncAPI CoC Committee will confirm receipt of the report and, if it does not have jurisdiction over the incident, notify the complainants unless they have done so anonymously and have not provided their contact information. + +The Jurisdiction of the CoC Committee is as follows: +- [AsyncAPI Initiative GitHub](https://github.com/asyncapi) +- [AsyncAPI Slack](asyncapi.slack.com) +- AsyncAPI social networks: [Twitter](https://twitter.com/AsyncAPISpec), [LinkedIn](https://www.linkedin.com/company/asyncapi), [YouTube](https://www.youtube.com/asyncapi), [Twitch](https://www.twitch.tv/asyncapi), and [Mastodon](https://fosstodon.org/@AsyncAPISpec) +- AsyncAPI events: conferences, talks, workshops, etc. + +### Who will have access to reports + +Reports will only be shared with non-conflicted members of the CoC Committee, with very limited exceptions. See the “Confidentiality”, “Information Sharing”, “Communicating the Results”, and “Conflicts of Interest” sections below for more information. + +### Investigation + +The CoC Committee will investigate the report by reviewing available evidence and, if appropriate, interviewing witnesses, the accused person, and persons who were targeted or may have been harmed. In some cases, the CoC Committee may consult an external professional investigator or mediator to assist. + +If a potential incident comes to the CoC Committee’s attention that may present a serious continuing risk to community safety, the CoC Committee may investigate it even if no official report has been received. + +If the CoC Committee determines that the Code of Conduct was violated, the CoC Committee will decide on what remediation steps should be taken. See “Resolution” below for more information. + +### Notification to the Accused Person + +During or after the investigation, the CoC Committee shall notify the accused person that an incident report has been received concerning their alleged behavior unless it determines that the report is meritless or has been filed in bad faith. While the investigation is ongoing, the CoC Committee shall determine at its discretion whether, how, and when to notify the accused person, and how much information to share about the nature of the allegations, if any, taking into consideration risks of retaliation, evidence tampering or destruction, or witness tampering that might result from the notification. If the accused person was notified of the complaint before or during the investigation, after the incident is resolved, the CoC Committee shall notify the accused person of the outcome. + +## Resolution + +### Interim Protective Measures + +Although the CoC Committee will not take any permanent actions until the CoC Committee has gathered and reviewed all available evidence, the CoC Committee reserves the right to take immediate temporary action (e.g., temporarily suspending someone’s participation in a community space while the investigation is pending) at any time after learning of the incident if the CoC Committee determines this is necessary to protect the community or community members from the risk of harm. + +### Mediation and Resolution by Agreement + +If the accused person and the parties potentially harmed in an incident communicate to the CoC Committee that they would like to resolve the incident through restorative conversation (see “Restorative Justice" below), mediation, or mutual agreement, the CoC Committee will wait until the parties have attempted to do so before making any final decisions regarding resolution of the incident. If all involved parties consent, the CoC Committee, other community members, or an external professional mediator may help facilitate the discussion. If the involved parties agree on an outcome for resolving the incident, the CoC Committee will review the outcome to (a) determine if it is adequate or if any further actions need to be taken to protect the health and safety of the community and (b) support the involved parties with implementation and accountability. + +### Potential Remedies + +The goal of the Code of Conduct incident resolution is to support and safeguard the health, safety, and well-being of the community and individuals who participate and reinforce community standards for acceptable behavior; the purpose is not to punish. Whenever appropriate, the CoC Committee shall seek to resolve incidents using restorative justice and transformative justice approaches, as summarized below. + +#### Restorative Justice + +Restorative justice is a framework that seeks to repair the harm that was caused by an incident and focuses primarily on the parties directly involved in an incident. The goals of restorative justice are to: + +- Support the individuals harmed in their healing and recovery. + +- Provide the accused person with an opportunity to understand the impact of their actions, learn from their mistakes, and improve their behavior (e.g., through coaching, mentoring, or education). + +- Provide the accused person with opportunities to make amends and take actions that help repair or reduce the harm that was caused (e.g., through an apology or community service). + +Restorative justice typically involves a mediated conversation between the accused person and the person harmed to create shared understanding, healing, relationship repair, and closure. However, the CoC Committee will never require individuals involved in an incident to interact or communicate with each other; mediated conversations will only take place if all parties consent. + +#### Transformative Justice + +Transformative justice is a framework that seeks to address systemic issues that may have contributed to or encouraged the harmful behavior (e.g., systems or policies that reward bad behavior, or failure to educate newcomers about standards of conduct). If the CoC Committee determines there are any such systemic issues, the CoC Committee will recommend to the Technical Steering Committee that such issues be addressed, and, if appropriate, the CoC Committee may offer advice or other support. + +### Factors that the CoC Committee will consider + +If the CoC Committee determines that a violation has occurred, the CoC Committee will consider the following factors when determining what remediation steps to take: + +- Is the harmful behavior an isolated incident or pattern of repeated behavior? + +- How severe is the harmful behavior? + +- How does the harmful behavior impact the community and its participants? + +- What remedies would best repair or reduce the harm that was caused by the incident? + +- What remedies would best protect the community and involved individuals from further harm? + +- Is the accused person willing to acknowledge why their behavior was harmful and improve their behavior? If so, what remedies would best support them in improving their behavior? (e.g., education or mentoring) + +- Are there systemic issues that encourage and contribute to harmful behavior? If so, how can the community address these systemic issues to prevent similar incidents from occurring in the future? + +### Examples of Remedies + +The following are examples of remedies the CoC Committee may consider. The following list is non-exhaustive: + +- Issuing a warning + +- Removing harmful content from community or project spaces + +- A public or private apology + +- Temporary suspension or permanent ban from community or project + +- Temporary or permanent removal from leadership role + +- Education, mentoring, or coaching to help the accused improve their behavior + +- Addressing systemic issues that contributed to or encouraged the harmful behavior (e.g., through policy changes) to prevent similar incidents from occurring in the future + +### Accountability + +If any party does not fulfill their obligations related to the incident resolution (e.g., if the remediation requires the accused person to complete a non-violent communication course and fail to do so), the CoC Committee may take further action to resolve the incident. + +### Communicating the Results + +An incident is considered “resolved” when the CoC Committee has completed its investigation and either (a) determined what remediation actions are needed to resolve an incident (including determining that the involved parties’ agreed-upon resolution is adequate) (b) or determined that the CoC was not violated and no remediation is needed. When the incident is resolved, a member of the CoC Committee will inform the person who submitted the report. The CoC Committee will determine how much information to share with the reporter regarding the committee’s findings and what remediation steps were taken, if any, considering the privacy, confidentiality, and potential impact on the individuals involved in the incident. Notification to the accused person shall follow [Notification to the Accused Person](#notification-to-the-accused-person). The CoC Committee will also determine what information is necessary to share publicly or with community and project leaders. Any communication regarding the results of the investigation will be confidential. + +## Information Sharing + +The CoC Committee and Technical Steering Committee (TSC) may share information on an as-needed basis about reported incidents and their resolution for the limited purposes of: + +- Ensuring that the incident is resolved by the appropriate body with jurisdiction as described in the Jurisdiction and Escalation Policy, + +- Investigating and resolving the reported incident, + +- Maintaining a central repository of records and confirming whether an accused person has prior violations that were resolved by a different incident response team, as described in the Jurisdiction and Escalation Policy, + +- Implementing protective measures and protecting community members from harm, + +- Issuing public transparency reports regarding AsyncAPI Code of Conduct incidents (similar to [transparency reports issued by the Linux Foundation](https://www.linuxfoundation.org/blog/blog/linux-foundation-events-code-of-conduct-transparency-report-2021-event-summary/)). Such transparency reports will not disclose the identities of reporters, persons harmed, or witnesses. Depending on the resolution of an incident, the accused person might or might not be named in a transparency report or other communication to the community. + +## Confidentiality Policy + +When the AsyncAPI CoC Committee handles the incident response, only members of the CoC Committee without hard conflicts of interest (see our Conflicts of Interest policy below) will have access to confidential information about the incident, including the identities of the reporters. The AsyncAPI CoC Committee will not disclose the identities or confidential information provided by reporters or persons who were targeted or potentially harmed without their permission, except to a limited number of people on an as-needed basis for investigating and resolving the incident and protecting community members from harm. For example, the AsyncAPI CoC Committee might need to disclose certain information about the incident to TSC to arrange for onsite support for a target of harassment, or to an external professional mediator or investigator who is engaged to resolve the incident. Confidential information about incidents will only be shared with individuals who are obligated to similarly maintain the confidentiality of such information. + +In some cases, it may be necessary to question the accused person about the incident to perform a fair and thorough investigation of a reported incident. Although the CoC Committee will not disclose to the accused person who reported the incident or what witnesses have provided information, if only one person or a very small number of people were involved in or witnessed the incident, the accused person may be able to guess their identities. + +In rare situations, the CoC Committee may be required to disclose confidential information about an investigation to comply with applicable laws, a subpoena, or court order, or to defend against litigation. + +## No Retaliation + +The AsyncAPI community will not tolerate retaliation against community members who report concerns under the CoC in good faith or assist in an investigation as witnesses or by providing relevant information. Acts of retaliation are themselves violations of the AsyncAPI Code of Conduct. If you believe you have been retaliated against, please report it using the abovementioned reporting process. + +## Conflicts of Interest + +**Hard Conflicts**: A CoC Committee member has a hard conflict of interest if any of the following are true: + +- They are the accused person, or a person alleged to be directly harmed or targeted by the alleged wrongdoing; + +- They have a close personal relationship (e.g., close friend, spouse, or family member) with the accused person or with a person alleged to be directly targeted or harmed by alleged wrongdoing; + +- They have a close professional relationship (e.g., direct supervisory relationship at the same employer) with the accused person or with a person alleged to be directly harmed or targeted by the alleged wrongdoing; + +- They have another personal interest in the outcome of the incident that is likely to undermine their impartiality. + +- Multiple soft conflicts exist. + + +**Soft Conflicts**: A CoC Committee member has a soft conflict of interest if any of the following are true: + +- They work at the same company as the accused person, but do not have a close personal or professional relationship (e.g., they work for separate business units or divisions and do not interact regularly); + +- Other circumstances exist that are likely to give the appearance of a conflict of interest, even if such circumstances are not actually likely to undermine their impartiality, such as participating in public discussion about a potential violation or concern regarding the accused person’s behavior in their capacity rather than in their official capacity as representative of the CoC Committee. + +Merely witnessing a potential Code of Conduct violation does not constitute a conflict of interest. + +### Obligation to disclose potential conflicts of interest + +When a CoC Committee member has a potential soft or hard conflict of interest concerning a reported incident, they have an obligation to promptly disclose the nature of their potential conflict of interest to the rest of the CoC Committee (unless such potential conflict of interest is already known to the other members of the CoC Committee). + +### Procedures to disclose and confirm conflicts + +Statements of conflict and confirmation of stated conflicts must be done before initiating an investigation and recorded in the notes of the first meeting convened to discuss the incident. + +A committee member may verbally disclose a conflict statement to the committee first, then follow up in writing with the statement of conflict. They may also directly provide the statement of conflict in writing. + +Statements of conflict must include the kind of conflict (hard or soft) and the specific area of conflict. The committee is then required to confirm the conflict by the majority; for the existence of a soft conflict, the confirmation must also outline what that member can and can not do as part of the investigation. + +### Procedures when a hard conflict of interest exists + +A CoC Committee member with a hard conflict of interest will not be allowed to attend meetings or otherwise participate in discussions or decision-making of the CoC Committee related to the incident; their participation shall be limited to allowing the remaining CoC Committee members to interview them as a witness and providing information requested by the CoC Committee. Additionally, a CoC Committee Member with a hard conflict of interest will not be provided with confidential information about the incident (e.g., identities of reporters or contents of confidential reports). + +### Procedures when a soft conflict of interest exists + +A CoC Committee member with a soft conflict of interest will not have the right to vote but may be allowed to participate in a discussion regarding the incident. The remaining CoC Committee members will decide what information to provide such conflicted members and the extent to which such conflicted members may be present at meetings, participate in discussions, and otherwise assist in the resolution of the incident. Any decisions regarding the participation or recusal of a CoC Committee member with a soft conflict of interest will be recorded in the committee’s meeting minutes or other records. + +## Amendments + +The Code of Conduct Committee must approve any amendments to these Incident Resolution Procedures. + +## Attribution + +This document is based on the [CNCF Code of Conduct - Incident Resolution Procedures](https://github.com/cncf/foundation/blob/main/code-of-conduct/coc-incident-resolution-procedures.md). diff --git a/code_of_conduct/code-of-conduct-committee.md b/code_of_conduct/code-of-conduct-committee.md new file mode 100644 index 000000000..cbf82a4be --- /dev/null +++ b/code_of_conduct/code-of-conduct-committee.md @@ -0,0 +1,45 @@ +# AsyncAPI Code of Conduct Committee + +## Purpose + +The AsyncAPI Code of Conduct Committee (CoC Committee) is a committee that responds to investigates, and resolves [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md) incidents. + +The members of the CoC Committee are members of the [Technical Steering Committee](https://www.asyncapi.com/community/tsc) (TSC) [voted](https://github.com/orgs/asyncapi/discussions/682#discussioncomment-7498209) publicly by the community. The committee has a two-year term, after which re-election will take place. + +## Members + +The AsyncAPI CoC Committee consists of 3 full members and 3 alternate members: + +**Full Members**: + +- [Aishat Muibudeen](https://github.com/mayaleeeee) +- [Azeez Elegbede](https://github.com/acethecreator) +- [Sergio Moya](https://github.com/smoya) + +**Alternate Members:** + +- [Alejandra Quetzalli](https://github.com/alequetzalli) +- [Thulisile Sibanda](https://github.com/thulieblack) + +If one of the CoC members listed above is unavailable or has to recuse themselves from participating in the resolution of a CoC incident due to a conflict of interest (see our [Conflict of Interest policy](*)), AsyncAPI may request assistance from the [Technical Steering Committee](https://www.asyncapi.com/community/tsc) in appointing an alternate from the TSC members to take their place for that incident. + +## How Decisions Are Made + +Decisions of the CoC Committee shall be made by consensus whenever possible. In the event consensus cannot be reached, decisions shall be made by majority vote of non-conflicted members of the CoC Committee. A decision to take temporary interim action in the event of an emergency may be taken by any individual CoC Committee member acting in good faith, and the CoC Committee shall review such action and decide whether to confirm or reverse such action. Any permanent action shall require approval of a majority of non-conflicted members of the CoC Committee. The CoC Committee may take action without a meeting if a majority of non-conflicted members express agreement in writing (e.g., email or Slack) and none of the non-conflicted CoC Committee members either object to the proposed action or request a meeting to discuss the proposed action within 24 hours after the action is first proposed to the CoC Committee. In the absence of such agreement in writing, the CoC Committee may only take action during or after a meeting takes place at which the proposed action is discussed and agreed to by consensus or voted upon by a quorum of the non-conflicted members. A majority of non-conflicted members shall be deemed a quorum for purposes of a meeting. See the [Conflict of Interest](*) section of the Incident Resolution Procedures for more information. + +## External Support Resources + +The CoC Committee may, in its discretion, consult external mediators, investigators, advisors, and consultants as needed to assist with resolution of CoC Incidents. Any such external resources shall not have a vote, and shall be required to maintain confidentiality. + +## Incident Resolution Procedures + +Please see our [Incident Resolution Procedures](coc-incident-resolution-procedures.md), which address, among others: + +- How to submit a report +- What information to share in your report +- What happens after a report is submitted +- Resolution +- Information sharing +- Confidentiality Policy +- No retaliation +- Conflicts of interest diff --git a/tweets/recurring-discuss-ideas/2024-06-01.tweet b/tweets/recurring-discuss-ideas/2024-06-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2024-06-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it 👇 and let us have an open discussion 🚀 + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file diff --git a/tweets/recurring-slack-link/2024-06-01.tweet b/tweets/recurring-slack-link/2024-06-01.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2024-06-01.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +🔗 asyncapi.com/slack-invite + +Ask for help and help others too. 💪🏿💪🏽🦾 \ No newline at end of file