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.

The goal of the Code of Conduct is to specify a baseline standard of behavior so that people with different social values and communication styles can talk about Hex effectively, productively, and respectfully, even in face of disagreements. The Code of Conduct also provides a mechanism for resolving conflicts in the community when they arise.

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, 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, discussion forums and mailing lists when they relate to the Service or Hex communities.

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. 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, including via package names, description, other metadata, nicknames, or other visible identifiers or content that might detract from a friendly, safe, and welcoming environment for all.

Furthermore, abusing, threatening, or inciting violence against any groups or individuals, including Hex team members or other users is not tolerated.

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 specify a license under which users can access and use the package and its contents 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-2.0, BSD-3-Clause, GPL-3.0-or-later, WTFPL and Unlicense. See Open Source Initiative and SPDX License List.

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.

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.