Skip to content

Commit

Permalink
ipip process: final editorial fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
lidel committed Jul 8, 2022
1 parent 1331790 commit f65babb
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 20 deletions.
6 changes: 5 additions & 1 deletion IPIP/0000-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,15 @@ Describe the proposed solution and list all changes made to the specs repository
The resulting specification should be detailed enough to allow competing,
interoperable implementations.

When modifying an existing specification file, this section should provide a
summary of changes. When adding new specification files, list all of them.

## Test fixtures

List relevant CIDs. Describe how implementations can use them to determine
specification compliance. This section can be skipped if IPIP does not deal
with the way IPFS handles content-addressed data.
with the way IPFS handles content-addressed data, or the modified specification
file already includes this information.

## Design rationale

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# IPIP 0001: Lightweight "RFC" Process for IPFS Specifications
# IPIP 0001: Lightweight Improvement Process for IPFS Specifications

- Start Date: 2022-06-10
- Related Issues:
Expand Down Expand Up @@ -27,12 +27,6 @@ or implementation of IPFS.
Adopt an informal IPIP process for the [ipfs/specs][1] repository, providing a
minimal structure for opening, reviewing, and merging specification changes.

## Opening an improvement proposal (IPIP)

Changes to IPFS specifications can be proposed by opening a Git pull-request
(PR) against the repository. In addition to specification changes, such PR must
include a short IPIP document based on the template in `IPIP/0000-template.md`.

The purpose of IPIP documents is to **document motivation** behind the change
applied to the spec. **IPIP is not to be the spec itself**.

Expand All @@ -49,9 +43,19 @@ To illustrate:
`ipfs/specs/IPIP/000M-webdav-fix-for-foo.md` explaining why we make the
breaking spec change, compatibility/migration considerations etc.

## Opening an improvement proposal (IPIP)

Changes to IPFS specifications can be proposed by opening a Git pull-request
(PR) against the `ipfs/specs` repository.

In addition to specification changes, such PR must include a short **IPIP
document** based on the template in `ipfs/specs/IPIP/0000-template.md`.

When a new specification is added, `ipfs/specs/template.md` can be used.

## Reviewing IPIPs

[Specs Stewards] will review new IPIP PRs during weekly triage.
[Specs Stewards] will review new IPIP PRs during periodical (best-effort) triage.

IPFS Community is encouraged to participate in the review process.

Expand Down
46 changes: 35 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
# IPFS Specifications

[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)
[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/)
[![Matrix](https://img.shields.io/badge/matrix-%23ipfs%3Amatrix.org-blue.svg?style=flat-square)](https://matrix.to/#/#ipfs:matrix.org)
[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)
[![Discord](https://img.shields.io/discord/475789330380488707?color=blueviolet&label=discord&style=flat-square)](https://discord.gg/24fmuwR)

> This repository contains the specs for the IPFS Protocol and associated subsystems.
# Table of Contents

- [IPFS Specifications](#ipfs-specifications)
- [Table of Contents](#table-of-contents)
- [Documentation and Community](#documentation-and-community)
- [Understanding the meaning of the spec badges and their lifecycle](#understanding-the-meaning-of-the-spec-badges-and-their-lifecycle)
- [Index](#index)
- [Contribute](#contribute)
- [InterPlanetary Improvement Process (IPIP)](#interplanetary-improvement-process-ipip)

## Documentation and Community

Looking for user documentation and community support?

See https://docs.ipfs.io, https://discuss.ipfs.io/ and https://docs.ipfs.io/community/ instead.

## Understanding the meaning of the spec badges and their lifecycle

We use the following label system to identify the state of each spec:
Expand All @@ -23,19 +33,23 @@ Nothing in this spec repository is `permanent` or even `stable` yet. Most of the

## Index

The specs contained in this repository are:
The specs contained in this and related repositories are:

- **IPFS Protocol:**
- [Protocol Architecture Overview](./ARCHITECTURE.md) - the top-level spec and the stack
- [Other IPFS Overviews](/overviews) - quick overviews of the various parts of IPFS
- **User Interface (aka Public APIs):**
- [HTTP Gateways](./http-gateways/README.md) - implementation agnostic interfaces for accessing content-addressed data over HTTP
- [HTTP Gateways](./http-gateways/) - implementation agnostic interfaces for accessing content-addressed data over HTTP
- [REFRAME](./reframe/) - protocol designed for request-response messages that is sufficiently generic and extensible to evolve over time as new needs for it arise
- IPFS implementations may provide additional interfaces, for example:
- [HTTP RPC API exposed by go-ipfs](https://docs.ipfs.io/reference/http/api/)
- [Legacy HTTP RPC API exposed by Kubo (go-ipfs)](https://docs.ipfs.io/reference/http/api/)
- [Programmatic Core API for JavaScript](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api#readme)
- **Data Formats:**
- [IPLD](https://ipld.io/specs/) - InterPlanetary Linked Data.
- [Merkle DAG (Deprecated)](./MERKLE_DAG.md)
- [DAG-CBOR](https://ipld.io/docs/codecs/known/dag-cbor/) - binary format, supporting the complete IPLD Data Model, with excellent performance, and suitable for any job.
- [DAG-JSON](https://ipld.io/docs/codecs/known/dag-json/) - human-readable format, supporting almost the complete IPLD Data Model, and very convenient for interoperability, development, and debugging.
- [DAG-PB](https://ipld.io/docs/codecs/known/dag-pb/) - a binary format for specific limited structures of data, which is highly used in IPFS and [UnixFS](./UNIXFS.md).
- [CAR](https://ipld.io/specs/transport/car/) - transport format used to store content addressable objects in the form of IPLD block data as a sequence of bytes; typically as an [application/vnd.ipld.car](https://www.iana.org/assignments/media-types/application/vnd.ipld.car) file with a `.car` extension
- Self Describing Formats ([multiformats](http://github.com/multiformats/multiformats)):
- [multihash](https://github.com/multiformats/multihash) - self-describing hash digest format.
- [multiaddr](https://github.com/multiformats/multiaddr) - self-describing addressing format.
Expand All @@ -45,7 +59,7 @@ The specs contained in this repository are:
- [UnixFS](./UNIXFS.md)
- [Mutable File System (the Files API)](./MUTABLE_FILE_SYSTEM.md) - Virtual File System interface, unix like, on top of the MerkleDAG
- **Storage Layer:**
- Pinning
- [Pinning Service API](https://ipfs.github.io/pinning-services-api-spec/)
- [Repo](./REPO.md) - IPFS node local repository spec
- [FileSystem Repo](./REPO_FS.md) - IPFS node local repository spec
- **Block Exchanges:**
Expand All @@ -57,6 +71,7 @@ The specs contained in this repository are:
- [libp2p](https://github.com/libp2p/specs) - libp2p is a modular and extensible network stack, built and use by IPFS, but that it can be reused as a standalone project. Covers:
- **Records, Naming and Record Systems:**
- [IPNS](./IPNS.md) - InterPlanetary Naming System
- [DNSLink](https://dnslink.dev)
- **Other/related/included:**
- [PDD](https://github.com/ipfs/pdd) - Protocol Driven Development

Expand All @@ -66,3 +81,12 @@ The specs contained in this repository are:

Suggestions, contributions, criticisms are welcome. Though please make sure to familiarize yourself deeply with IPFS, the models it adopts, and the principles it follows.
This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).

### InterPlanetary Improvement Process (IPIP)

- Want to propose a change to an existing specification?
- Or add a new protocol?

See [IPIP 0001: Lightweight Improvement Process for IPFS Specifications](./IPIP/0001-lightweight-improvement-proposal-process.md).

Accepted proposals can be found in the [`IPIP/`](./IPIP/) directory.

0 comments on commit f65babb

Please # to comment.