<liclass="toctree-l2"><aclass="reference internal" href="MEP/MEP12.html">MEP12: Improve Gallery and Examples</a></li>
<liclass="toctree-l2"><aclass="reference internal" href="MEP/MEP13.html">MEP13: Use properties for Artists</a></li>
<liclass="toctree-l2"><aclass="reference internal" href="MEP/MEP14.html">MEP14: Text handling</a></li>
<liclass="toctree-l2"><aclass="reference internal" href="MEP/MEP15.html">MEP15: Fix axis autoscaling when limits are specified for one axis only</a></li>
<spanid="communications-guidelines"></span><h1>Community management guide<aclass="headerlink" href="#community-management-guide" title="Link to this heading">#</a></h1>
<p>These guidelines are applicable when <strong>acting as a representative</strong> of Matplotlib,
for example at sprints or when giving official talks or tutorials, and in any
community venue managed by Matplotlib.</p>
<p>Our approach to community engagement is foremost guided by our <aclass="reference internal" href="../project/mission.html#mission-statement"><spanclass="std std-ref">Mission Statement</span></a>:</p>
<ulclass="simple">
<li><p>We demonstrate that we care about visualization as a practice.</p></li>
<li><p>We deepen our practice and the community’s capacity to support users,
facilitate exploration, produce high quality visualizations, and be
understandable and extensible.</p></li>
<li><p>We showcase advanced use of the library without adding maintenance burden to
the documentation and recognize contributions that happen outside of the github
workflow.</p></li>
<li><p>We use communications platforms to maintain relationships with contributors
who may no longer be active on GitHub, build relationships with potential
contributors, and connect with other projects and communities who use
Matplotlib.</p></li>
<li><p>In prioritizing understandability and extensibility, we recognize that people
using Matplotlib, in whatever capacity, are part of our community. Doing so
empowers our community members to build community with each other, for example
by creating educational resources, building third party tools, and building
informal mentoring networks.</p></li>
</ul>
<sectionid="moderation">
<h2>Moderation<aclass="headerlink" href="#moderation" title="Link to this heading">#</a></h2>
<p>Moderation rights are granted specific to each <aclass="reference internal" href="#communication-channels"><spanclass="std std-ref">official platform</span></a>.
All matplotlib maintainers are moderators on github. If you are interested in moderating
any of the other platforms:</p>
<ulclass="simple">
<li><p>Matplotlib maintainers should reach out to the <aclass="reference external" href="https://matplotlib.org/governance/people.html#deputy-project-leads">community-manager</a>.</p></li>
<li><p>Everyone else should send an email to <aclass="reference external" href="mailto:matplotlib-social-admin%40numfocus.org">matplotlib-social-admin<span>@</span>numfocus<span>.</span>org</a>:</p>
<ul>
<li><p>Introduce yourself - GitHub handle and participation in the community.</p></li>
<li><p>Explain why you want moderation rights</p></li>
</ul>
</li>
</ul>
<sectionid="enforcement-responsibilities">
<h3>Enforcement responsibilities<aclass="headerlink" href="#enforcement-responsibilities" title="Link to this heading">#</a></h3>
<p>Any person with moderation rights is granted the authority to clarify and
enforce our standards of expected behavior. This is a supplement to our Code of Conduct,
not a replacement; moderators should make use of the <aclass="reference internal" href="../project/code_of_conduct.html#code-of-conduct"><spanclass="std std-ref">Contributor Covenant Code of Conduct</span></a> process for
CoC violations. In addition violations of platform specific terms of service should be
reported to that platform.</p>
<p>Moderators may hide, edit, or reject comments, commits, code, wiki edits, issues, and
other contributions that do not comply with our <aclass="reference internal" href="index.html#developers-guide-index"><spanclass="std std-ref">contributing guidelines</span></a>.
Deletion should only be used to remove sensitive information that can not be removed
through edits. On most platforms, these actions can be accessed through the [...] context
menu.</p>
<sectionid="communication">
<h4>Communication<aclass="headerlink" href="#communication" title="Link to this heading">#</a></h4>
<p>After taking action, Moderators should publicly communicate their reasons for
doing so to the user when possible, e.g. when doing so will not reveal sensitive
information. When the situation is sensitive, moderators should reassess whether the
situation would be better handled through the code of conduct process and attempt to
communicate privately with the user (e.g. DMs) if appropriate.</p>
</section>
<sectionid="consequences">
<h4>Consequences<aclass="headerlink" href="#consequences" title="Link to this heading">#</a></h4>
<p>Moderators have the right and responsibility to enforce consequences for disruptive
behavior. Moderators are welcome to consult on levying consequences in the <codeclass="docutils literal notranslate"><spanclass="pre">staff</span></code>
discourse channel. When possible, this should be done in the following stages:</p>
<ulclass="simple">
<li><p>warn: alert the user of their misconduct and how they can remedy the situation
- this can be done privately and then publicly if the behavior persists
- second warning should mention consequence of not heeding warning</p></li>
<li><p>temporary ban: apply a short term ban from the platform (default 1 week)
- temporary bans can be applied in increasing increments at the moderator's discretion</p></li>
<li><p>permanent ban from the platform</p></li>
</ul>
<p>If the user has not modified their behavior in an acceptable fashion, then the moderator
can move to the next stage. Moderators should notify the other maintainers of temporary
and permanent bans via the <codeclass="docutils literal notranslate"><spanclass="pre">staff</span></code> discourse channel or at the weekly developer meeting.
When feasible, moderators should also maintain a record of the unacceptable behavior. If
the user would like to appeal a ban (on any platform), moderators should make use of the
code of conduct process to resolve the situation by directing the user to file a code of
conduct report.</p>
<p>Moderators may immediately ban users in extenuating circumstance, such as while a
CoC or TOS report is being investigated or when the user is an agent or bot. Moderators
should file a code of conduct report for (human) users they feel should be permanently
banned from all platforms.</p>
</section>
</section>
</section>
<sectionid="official-project-platforms">
<spanid="communication-channels"></span><h2>Official project platforms<aclass="headerlink" href="#official-project-platforms" title="Link to this heading">#</a></h2>
<p>The Scientific Python community uses various platforms to stay updated on new features
and projects, to contribute by telling us what is on their mind and suggest issues and
bugs, and to showcase their use cases and the tools they have built.</p>
<p>The following venues are managed by Matplotlib maintainers and contributors:</p>
<ulclass="simple">
<li><p>library and docs: <aclass="github reference external" href="https://github.com/matplotlib/matplotlib">matplotlib/matplotlib</a></p></li>
<li><p>Public chat room on Discourse: <aclass="reference external" href="https://discourse.matplotlib.org/chat/c/community/3">Community</a></p></li>
</ul>
</section>
</section>
<sectionid="content-guidelines">
<h2>Content guidelines<aclass="headerlink" href="#content-guidelines" title="Link to this heading">#</a></h2>
<p>Communication on official channels, such as the Matplotlib homepage or on
Matplotlib social accounts, should conform to the following standards. If you
are unsure if content that you would like to post or share meets these
guidelines, ask on the <aclass="reference internal" href="#social-media-coordination"><spanclass="std std-ref">Social media coordination</span></a> channels before posting.</p>
<sectionid="general-guidelines">
<h3>General guidelines<aclass="headerlink" href="#general-guidelines" title="Link to this heading">#</a></h3>
<ulclass="simple">
<li><p>Do not share information that violates Matplotlib's <aclass="reference internal" href="../project/code_of_conduct.html#code-of-conduct"><spanclass="std std-ref">code of conduct</span></a> or does not align with Matplotlib's <aclass="reference internal" href="../project/mission.html#mission-statement"><spanclass="std std-ref">Mission Statement</span></a>.</p></li>
<li><p>Focus on Matplotlib, 3rd party packages, and visualizations made with Matplotlib.</p></li>
<li><p>These are also acceptable topics:</p>
<ul>
<li><p>Visualization best practices and libraries.</p></li>
<li><p>Projects and initiatives by NumFOCUS and Scientific Python.</p></li>
<li><p>How to contribute to open source projects.</p></li>
<li><p>Projects, such as scientific papers, that use Matplotlib.</p></li>
</ul>
</li>
<li><p>No gratuitous disparaging of other visualization libraries and tools, but
criticism is acceptable so long as it serves a constructive purpose.</p></li>
<li><p>Follow communication best practices:</p>
<ul>
<li><p>Do not share non-expert visualizations when it could cause harm, e.g.:</p>
<ul>
<li><p>Could the information affect someone's decisions in a way that impacts their personal health or safety?</p></li>
<li><p>Could the information be used as part of a politicised debate?</p></li>
</ul>
</li>
<li><p>Clearly state when the visualization data/conclusions cannot be verified.</p></li>
<li><p>Do not rely on machine translations for sensitive visualization.</p></li>
</ul>
</li>
<li><p>Verify sourcing of content (especially on Instagram & blog):</p>
<ul>
<li><p>Instagram/blog: ensure mpl has right to repost/share content</p></li>
<li><p>Make sure content is clearly cited:</p>
<ul>
<li><p>e.g. a tutorial reworking an example must credit the original example</p></li>
</ul>
</li>
</ul>
</li>
<li><p>Limited self/corporate promotion is acceptable.</p>
<ul>
<li><p>Should be no more than about a quarter of the content.</p></li>
</ul>
</li>
</ul>
</section>
<sectionid="visual-media-guidelines">
<h3>Visual media guidelines<aclass="headerlink" href="#visual-media-guidelines" title="Link to this heading">#</a></h3>
<p>Visual media, such as images and videos, must not violate the
<aclass="reference internal" href="../project/code_of_conduct.html#code-of-conduct"><spanclass="std std-ref">code of conduct</span></a>, nor any platform's rules.
Specifically:</p>
<ulclass="simple">
<li><p>Visual media must conform to the guidelines of all sites it may be posted on:</p>
<li><p>Emphasize the visualization techniques demonstrated by the visual media.</p></li>
<li><p>Clearly state that sharing is not an endorsement of the content.</p>
<ul>
<li><p>e.g. bitcoin related visualizations</p></li>
</ul>
</li>
</ul>
<sectionid="accessibility">
<h4>Accessibility<aclass="headerlink" href="#accessibility" title="Link to this heading">#</a></h4>
<p>Visual media in communications should be made as accessible as possible:</p>
<ulclass="simple">
<li><p>Add alt text to images and videos when the platform allows:</p>
<ul>
<li><p><aclass="reference external" href="https://medium.com/nightingale/writing-alt-text-for-data-visualization-2a218ef43f81">alt text for data viz</a></p></li>
<li><p><aclass="reference external" href="https://webaim.org/techniques/alttext/">general alt text guide</a></p></li>
</ul>
</li>
<li><p>Warn on bright, strobing, images & turn off autoplay if possible.</p></li>
<li><p>For images and videos made by the social media team:</p>
<ul>
<li><p>Make graphic perceivable to people who cannot perceive color well due to
color-blindness, low vision, or any other reason.</p></li>
<li><p>Do not make bright, strobing images.</p></li>
<li><p>More guidelines at <aclass="reference external" href="https://webaim.org/techniques/images/">https://webaim.org/techniques/images/</a>.</p></li>
</ul>
</li>
</ul>
</section>
</section>
</section>
<sectionid="social-media-brand">
<spanid="id4"></span><h2>Social media<aclass="headerlink" href="#social-media-brand" title="Link to this heading">#</a></h2>
<p>Matplotlib aims for a single voice across all social media platforms to build and
maintain a consistent brand identity for Matplotlib as an organization. This
depersonalization is the norm on social media platforms because it enables
constructive and productive conversations; People generally feel more comfortable
giving negative and constructive feedback to a brand than to specific contributors.</p>
<p>The current Matplotlib voice and persona aims to be kind, patient, supportive and
educational. This is so that it can de-escalate tensions and facilitate
constructive conversations; being perceived as negative or
argumentative can escalate very fast into long-lasting brand damage, being
perceived as personal leads to aggression and accusations faster than an
impersonal account, and being perceived as friendly and approachable leads to
higher engagement. Instead of speaking with a directive authority, which can be
intimidating and lead to negative engagement, it speaks as a peer or educator to
empower participation. The current voice encourages more input from folks we
engage with, and also makes it possible for folks who are not in the core team
to participate in managing the account.</p>
<p>While the <aclass="reference internal" href="#social-media-brand"><spanclass="std std-ref">brand identity</span></a> is casual, the showcased
content is high quality, peer-led resource building. Please follow these
guidelines to maintain a consistent brand identity across platforms.</p>
<sectionid="persona">
<h3>Persona<aclass="headerlink" href="#persona" title="Link to this heading">#</a></h3>
<p>On social media, Matplotlib:</p>
<ulclass="simple">
<li><p>Acts as a sentient visualization library, so talks about itself as a we, us,
our, and it. Avoids talking about itself in the 3rd person. Never uses 1st person.</p></li>
<li><p>Is very earnest, eager to please, and aims to be patient & painfully oblivious
to snark and sarcasm.</p></li>
<li><p>Gets over-excited over shiny visualizations - lots of emojis and the like -
and encourages folks to share their work.</p></li>
<li><p>Highlights various parts of the library, especially the more obscure bits and
bobbles.</p></li>
<li><p>Acknowledges that it is a sometimes frustrating tangle of bits & bobbles that
can confuse even the folks who work on it & signal boosts their confuzzlement.</p></li>
</ul>
</section>
<sectionid="behavior">
<h3>Behavior<aclass="headerlink" href="#behavior" title="Link to this heading">#</a></h3>
<p>When acting as a representative of the library, keep responses polite and assume
user statements are in good faith unless they violate the <aclass="reference internal" href="../project/code_of_conduct.html#code-of-conduct"><spanclass="std std-ref">code of conduct</span></a>.</p>
</section>
<sectionid="social-graph">
<h3>Social graph<aclass="headerlink" href="#social-graph" title="Link to this heading">#</a></h3>
<p>Only follow <strong>organizations and projects</strong>, do not follow individual accounts for
any reason, even maintainers/project leads/famous Python people!</p>
<p>Following these types of accounts is encouraged:</p>
<ulclass="simple">
<li><p>NumFocus and Scientific Python projects</p></li>
<li><p>3rd party packages</p></li>
<li><p>Visualization related projects and organizations</p></li>
<li><p>Open Source community projects</p></li>
<li><p>Sponsors</p></li>
</ul>
</section>
<sectionid="recurring-campaigns">
<h3>Recurring campaigns<aclass="headerlink" href="#recurring-campaigns" title="Link to this heading">#</a></h3>
<p>Typically the social media accounts will promote the following:</p>
<ulclass="simple">
<li><p>Matplotlib releases:</p>
<ul>
<li><p>Highlight new features & major deprecations</p></li>
<li><p>Link to download/install instructions</p></li>
<li><p>Ask folks to try it out.</p></li>
</ul>
</li>
<li><p><aclass="reference external" href="https://matplotlib.org/mpl-third-party/">third party packages</a></p></li>
<h4>Retired campaigns<aclass="headerlink" href="#retired-campaigns" title="Link to this heading">#</a></h4>
<ulclass="simple">
<li><p>John Hunter Excellence in Plotting, submission and winners</p></li>
</ul>
</section>
</section>
</section>
<sectionid="changing-the-guidelines">
<h2>Changing the guidelines<aclass="headerlink" href="#changing-the-guidelines" title="Link to this heading">#</a></h2>
<p>As the person tasked with implementing these guidelines, the <aclass="reference external" href="https://matplotlib.org/governance/people.html#deputy-project-leads">community-manager</a>
should be alerted to proposed changes. Similarly, specific platform guidelines
(e.g. github, discourse, Instagram) should be reviewed by the person responsible for
that platform, when different from the community manager. If there is no consensus,
decisions about guidelines revert to the community manager.</p>