forked from DecentralizedClimateFoundation/DCIPs
68 lines
3.2 KiB
Markdown
68 lines
3.2 KiB
Markdown
---
|
|
eip: 5757
|
|
title: Process for Approving External Resources
|
|
description: Requirements and process for allowing new origins of external resources
|
|
author: Sam Wilson (@SamWilsn)
|
|
discussions-to: https://ethereum-magicians.org/t/eip-5757-process-for-approving-external-resources/11215
|
|
status: Final
|
|
type: Meta
|
|
created: 2022-09-30
|
|
requires: 1
|
|
---
|
|
|
|
## Abstract
|
|
|
|
Ethereum improvement proposals (EIPs) occasionally link to resources external to this repository. This document sets out the requirements for origins that may be linked to, and the process for approving a new origin.
|
|
|
|
## Specification
|
|
|
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
|
|
|
|
### Definitions
|
|
|
|
- **Link**: Any method of referring to a resource, including: markdown links, anchor tags (`<a>`), images, citations of books/journals, and any other method of referencing content not in the current resource.
|
|
- **Resource**: A web page, document, article, file, book, or other media that contains content.
|
|
- **Origin**: A publisher/chronicler of resources, like a standards body (eg. w3c) or a system of referring to documents (eg. Digital Object Identifier System).
|
|
|
|
### Requirements for Origins
|
|
|
|
Permissible origins **MUST** provide a method of uniquely identifying a particular revision of a resource. Examples of such methods may include git commit hashes, version numbers, or publication dates.
|
|
|
|
Permissible origins **MUST** have a proven history of availability. A origin existing for at least ten years and reliably serving resources would be sufficient—but not necessary—to satisfy this requirement.
|
|
|
|
Permissible origins **MUST NOT** charge a fee for accessing resources.
|
|
|
|
### Origin Removal
|
|
|
|
Any approved origin that ceases to satisfy the above requirements **MUST** be removed from [EIP-1](./eip-1.md). If a removed origin later satisfies the requirements again, it MAY be re-approved by following the process described in [Origin Approval](#origin-approval).
|
|
|
|
Finalized EIPs (eg. those in the `Final` or `Withdrawn` statuses) **SHOULD NOT** be updated to remove links to these origins.
|
|
|
|
Non-Finalized EIPs **MUST** remove links to these origins before changing statuses.
|
|
|
|
### Origin Approval
|
|
|
|
Should the editors determine that an origin meets the requirements above, EIP-1 **MUST** be updated to include:
|
|
|
|
* The name of the allowed origin;
|
|
* The permitted markup and formatting required when referring to resources from the origin; and
|
|
* A fully rendered example of what a link should look like.
|
|
|
|
## Rationale
|
|
|
|
### Unique Identifiers
|
|
|
|
If it is impossible to uniquely identify a version of a resource, it becomes impractical to track changes, which makes it difficult to ensure immutability.
|
|
|
|
### Availability
|
|
|
|
If it is possible to implement a standard without a linked resource, then the linked resource is unnecessary. If it is impossible to implement a standard without a linked resource, then that resource must be available for implementers.
|
|
|
|
### Free Access
|
|
|
|
The Ethereum ecosystem is built on openness and free access, and the EIP process should follow those principles.
|
|
|
|
## Copyright
|
|
|
|
Copyright and related rights waived via [CC0](../LICENSE.md).
|