Skip to content

Commit a515b90

Browse files
Matt Zumwaltdaviddias
Matt Zumwalt
authored andcommitted
distinguish goals from approaches
1 parent 23ac76e commit a515b90

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

addresses-scheme/readme.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ The discussions around `ipfs:` vs. `dweb:` is a confusing one that's been going
99

1010
There are a few goals tugging against each other:
1111
1. The Noble Goal: Unify the filesystem-database-web rift
12-
2. The Quick Fix: Follow URL orthodoxy
12+
2. The Quick Fix: Conform to URL orthodoxy
1313
3. The Design Goal: Create Addresses that People will Love Using
14+
4. The Clean-Namespaces Goal: Avoid polluting the scheme namespace with multiple schemes
1415

15-
Regardless of which goals resonate with you, there are a number of important factors that have to be handled by any schema. A number of those factors are collected & discussed in these issues:
16+
This has led to some competing approaches -- mainly the 'dweb:' Approach and the 'ipfs:' Approach -- and some possible compromises.
17+
18+
Regardless of which goals and approaches resonate with you, there are a number of important factors that have to be handled by any schema. A number of those factors are collected & discussed in these issues:
1619
https://github.com/ipfs/in-web-browsers/issues?q=is%3Aissue+label%3Aspecs
1720

1821
## The Noble Goal: Unify the filesystem-database-web rift
@@ -43,6 +46,20 @@ also
4346
@jbenet agreed to that pragmatism:
4447
> **These goals are secondary in time to getting browser adoption. Meaning that we CAN do things like recommend ipfs:// ipns:// ipld://** IF browser vendors think that it's unlikely to get adoption this way now. We can work on unifying the fs-db-web rift later. **We're not dogmatic, we're pragmatic.** But we want to make sure we push in the right places and try to make as much as we can better.
4548
49+
## The Quick Fix: Conform to URL orthodoxy.
50+
51+
The short-term fix that people reach for is to create an `ipfs:` schema, as proposed in https://github.com/ipfs/specs/pull/139. This would conform to established habits around the use of URLs.
52+
53+
## The Design Goal: Create Addresses that People will Love Using
54+
55+
From a design perspective, the challenge is to create a schema that makes intuitive sense, maximizes possibilities, and allows people to identify content with addresses that are reliable, powerful, and pleasant to use.
56+
57+
## The Clean-Namespaces Goal: Avoid polluting the scheme namespace with multiple schemes
58+
59+
If we do this wrong, the growth of decentralized web technologies will cause a proliferation of schemes that will quickly become unwieldy, will discourage interoperability, and will maintain a high barrier to innovation in the protocol space.
60+
61+
## The `dweb:` Approach
62+
4663
### Strengths of this Approach
4764

4865
_PLEASE HELP FILL THESE_
@@ -57,29 +74,24 @@ as @lidel [comments](https://github.com/ipfs/specs/pull/153#discussion_r10429128
5774
### Criticisms of this Approach
5875
_PLEASE HELP FILL THESE_
5976

60-
6177
### Designing the `dweb:` Schema
6278

6379
A draft spec for the `dweb:` schema is under way at https://github.com/ipfs/in-web-browsers/issues/28
6480

65-
## The Quick Fix: Follow URL orthodoxy.
81+
## The `ipfs:` Approach
6682

6783
The short-term fix that people reach for is to create an `ipfs:` schema, as proposed in https://github.com/ipfs/specs/pull/139. That approach seems simple at first, but it's got problems.
6884

6985
### Criticisms of this Approach
7086

71-
#### Reason 1: We want IPFS, IPNS and IPLD to be handled by a single schema
87+
#### Criticism 1: We want IPFS, IPNS and IPLD to be handled by a single schema
7288
Creating an `ipfs:` schema would not be enough because `ipfs:` only refers to mutable content. You would, at the very least, need an `ipns:` schema too.
7389

7490
The `dweb:` schema dodges this by treating IPFS and IPNS as namespaces within a single `dweb` address scheme
7591

76-
#### Reason 2: This would worsen the filesystem-database-web rift
92+
#### Criticism 2: This would worsen the filesystem-database-web rift
7793
See [The Noble Goal: Unify the filesystem-database-web rift](#the-noble-goal-unify-the-filesystem-database-web-rift) above.
7894

79-
## The Design Goal: Create Addresses that People will Love Using
80-
81-
From a design perspective, the challenge is to create a schema that makes intuitive sense, maximizes possibilities, and allows people to identify content with addresses that are reliable, powerful, and pleasant to use.
82-
8395
## Possible Compromises
8496

8597
### Treat `/ipfs:/` and `/ipfs/` as equivalent

0 commit comments

Comments
 (0)