Code of Conduct

Hex exists to facilitate sharing code, by making it easy for Erlang ecosystem developers to publish and distribute packages.

Hex is a piece of technology, but more importantly, it is a community.

We believe that our mission is best served in an environment that is friendly, safe, and accepting; free from intimidation or harassment.

Towards this end, certain behaviors and practices will not be tolerated.

Hex is the set of formats and APIs that makes up the specification of Hex. Hex.pm is an implementation of the Hex specifications, it is comprised of this website and associated HTTP API, the package repository including packages published to Hex.pm and the website hexdocs.pm. In this document Hex and Hex.pm is used interchangeably but it refers to Hex.pm.

tl;dr

Scope

We expect all members of the Hex community, including paid and unpaid agents, administrators, and users to abide by this Code of Conduct at all times in all Hex community venues, online and in person, and in one-on-one communications pertaining to Hex affairs.

This policy covers the usage of the Hex registry, as well as the Hex website, Hex related events, and any other services offered by or on behalf of Hex (collectively, the “Service”). It also applies to behavior in the context of the Hex Open Source project communities, including but not limited to public GitHub repositories, IRC channels, social media, mailing lists, and public events.

This Code of Conduct is in addition to, and does not in any way nullify or invalidate, any other terms or conditions related to use of the Service.

The definitions of various subjective terms such as “discriminatory”, “hateful”, or “confusing” will be decided at the sole discretion of the Hex team (support@hex.pm).

Friendly Harassment-Free Space

We are committed to providing a friendly, safe and welcoming environment for all, regardless of gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race, or similar personal characteristics.

We ask that you please respect that people have differences of opinion regarding technical choices, and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a single right answer. A difference of technology preferences is not a license to be rude.

Any spamming, trolling, flaming, baiting, or other attention-stealing behaviour is not welcome, and will not be tolerated.

Harassing other users of the Service is never tolerated, whether via public or private media.

Avoid using offensive or harassing package names, nicknames, or other identifiers that might detract from a friendly, safe, and welcoming environment for all.

Harassment includes, but is not limited to: harmful or prejudicial verbal or written comments related to gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race, or similar personal characteristics; inappropriate use of nudity, sexual images, and/or sexually explicit language in public spaces; threats of physical or non-physical harm; deliberate intimidation, stalking or following; harassing photography or recording; sustained disruption of talks or other events; inappropriate physical contact; and unwelcome sexual attention.

Acceptable Package Content

The Hex team reserve the right to make judgement calls about what is and isn’t appropriate in published packages. These are guidelines to help you be successful in our community.

Packages published to the Service must be created using the Hex command-line client, or a functionally equivalent implementation. For example, a “package” must not be a PNG or JPEG image, movie file, or text document. Using the Service as a personal general-purpose database is also not allowed for this reason. Packages should be Hex packages, and nothing else.

Packages must contain some functionality. “Squatting”, that is, publishing an empty package to “reserve” a name, is not allowed.

Packages must not contain illegal or infringing content. You should only publish packages or other materials to the Service if you have the right to do so. This includes complying with all software license agreements or other intellectual property restrictions. For example, redistributing an MIT-licensed module with the copyright notice removed, would not be allowed. You will be responsible for any violation of laws or others’ intellectual property rights.

Packages must have a license that allows any users access to the package and it’s contents for use as a dependency in their project. The license may impose sensible restrictions on how the package can be used or add requirements to the project using it. Examples of licenses that can be used is (but not limited to): MIT, Apache, BSD, GPL, WTFPL and Unlicense.

Packages must not be malware. For example, a package which is designed to maliciously exploit or damage computer systems, is not allowed. However, an explicitly documented penetration testing library designed to be used for white-hat security research would most likely be fine.

Package name, description, and other visible metadata must not include abusive, inappropriate, or harassing content.

Reporting Violations of this Code of Conduct

If you believe someone is harassing you or has otherwise violated this Code of Conduct, please contact us at support@hex.pm to send us an abuse report. If this is the initial report of a problem, please include as much detail as possible. It is easiest for us to address issues when we have more context.

Consequences

All content published to the Service, including user account credentials, is hosted at the sole discretion of the Hex team.

Unacceptable behavior from any community member, including sponsors, employees, customers, or others with decision-making authority, will not be tolerated.

Anyone asked to stop unacceptable behavior is expected to comply immediately.

If a community member engages in unacceptable behavior, the Hex team may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event or service).

Addressing Grievances

If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Hex, we will do our best to ensure that your grievance is handled appropriately.

In general, we will choose the course of action that we judge as being most in the interest of fostering a safe and friendly community.

Contact Info

Please contact the Hex team at support@hex.pm if you need to report a problem or address a grievance related to an abuse report.

You are also encouraged to contact us if you are curious about something that might be “on the line” between appropriate and inappropriate content. We are happy to provide guidance to help you be a successful part of our community.

Changes

This is a living document and may be updated from time to time. Please refer to the git history for this document to view the changes.

Credit and License

This code of conduct is based on npm’s code of conduct, which in turn borrows heavily from the Stumptown Syndicate Citizen’s Code of Conduct, and the Rust Project Code of Conduct.

This document may be reused under a Creative Commons Attribution-ShareAlike License.