FlakeHub policies

Short version: Collaboration only works when our users can work together in good faith. You are responsible for using FlakeHub in compliance with all applicable laws, regulations, and these policies. In short, be excellent to each other.

In general, these policies are guidelines. Problems are often contextual, and exceptional circumstances sometimes require exceptional measures. These policies may be updated from time to time as new circumstances arise. If your problem needs to be described below, consider sending an email to support@flakehub.com.

Flake Ownership

Flakes are published under an individual's or organization's account. Upon publishing a flake, the publisher will be made the owner of the flake on FlakeHub.com.

  • Publishing a flake on FlakeHub will grant FlakeHub, and Determinate Systems, Inc. a non-exclusive, perpetual, worldwide license to distribute and display the flake via FlakeHub and any other means we may choose.
  • Nobody can take over an existing flake, but you can transfer ownership via GitHub.
  • If you want to maintain a derivative flake or update one no longer actively maintained, publish your new one.
    • If appropriate, contact the publisher of unmaintained flakes and ask that they sign-post your flake in their README.
    • The FlakeHub team may contact inactive maintainers and help mediate promoting well-maintained flakes.

We do not have any policies to define 'squatting' and FlakeHub will never act as arbitrators or intermediaries in these disputes and will not take any action without the appropriate legal orders. These disputes must be resolved by the parties involved. See the DMCA policy for more information.

Removals

You can't delete flakes from FlakeHub; they are archived in perpetuity. Any content on FlakeHub that violates the Code of Conduct, infringes copyright or trademark or violates DMCA may be removed.

You can, however, publish a version with a message in the README communicating to FlakeHub users that the flake is no longer maintained or recommending they use a different flake.

Mirroring

Projects can be automatically mirrored to FlakeHub.

  • If you represent a project already mirrored to FlakeHub, you can claim your project and disable mirroring by publishing a single release.
  • We won't accept pull requests to enable mirroring unless the upstream project has declined to publish its project on FlakeHub itself.
  • If upstream maintainers don't want their software mirrored, but the project license allows for redistribution, we will accept mirroring requests from third parties providing there are no trademark concerns.

Renames

  • If the GitHub repository associated with a published flake is deleted or archived, then the flake will remain available from the FlakeHub archive.
  • If the GitHub organisation, user or repository associated with a published flake is renamed, then the flake will remain available from the FlakeHub archive.

The Law

We won't attempt to get into policing what exactly makes a legitimate flake. We will do what the law requires and address violations of the Code of Conduct. For issues such as DMCA violations, and trademark and copyright infringement, FlakeHub will respect our legal counsel concerning the hosted content.

Code of Conduct

The Code of Conduct governs appropriate conduct for the FlakeHub community. Here, content can refer to but is not limited to:

  • Flake Name
  • Flake Metadata
  • Documentation
  • Code

There are two important, related aspects:

  • We will not proactively monitor the site for these violations but rely on the community to draw them to our attention by emailing support@flakehub.com or contact us on the #flakehub channel on Discord.
  • "Does this violate the Code of Conduct" is a contextual question that cannot be directly answered in the hypothetical sense. All of the details must be considered in these kinds of situations.

Security

FlakeHub is governed by the Determinate Systems Team. Safety is one of our core principles, and to that end, we would like to ensure FlakeHub has a secure implementation. To learn more about disclosing security vulnerabilities, please reference the Security Policy for more details.

Thank you for taking the time to disclose any issues you find responsibly.

Crawlers

We allow our API and website to be crawled by commercial crawlers such as GoogleBot. We may allow access to experimental crawlers as long as they limit their request rate to 1 request per second or less.

We also require all crawlers to provide a user-agent header that allows us to identify your bot uniquely. This allows us to monitor your bot's impact on our service accurately. Providing a user agent that only identifies your HTTP client library (such as "request/0.9.1") increases the likelihood that we will block your traffic. Including contact information in your user agent is recommended but optional. This allows us to contact you if we would like a change in your bot's behaviour without having to block your traffic.

Bad: "User-Agent: reqwest/0.9.1"
Better: "User-Agent: my_bot"
Best: "User-Agent: my_bot (my_bot.com/info)" or "User-Agent: my_bot (help@my_bot.com)"

We reserve the right to block traffic from any bot that we determine to violate this policy or cause an impact on the integrity of our service.

Adapted from the Crates.io Package Policy.

We use a single first-party analytics cookie to focus our limited time and energy on the most important parts. Check out our privacy policy.