New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Renaming ipfs implementations 2022Q1 edition #470
Comments
|
2022-01-05: this didn't get off the ground beyond setup during lab week 2021. Minor, but when it gets picked back up, it may worth moving this to discuss.ipfs.io rather than introducing GitHub Discussions. It's possible to get who liked a given post via the API: https://meta.discourse.org/t/getting-who-liked-a-post-from-the-api/103618/2 |
|
For anyone watching, the "What is the scope here? Are we renaming binaries, repos, etc.?" section was updated to reflect the latest thoughts / proposal of the go-ipfs renaming effort. This is an attempt to be pragmatic about getting a name that we can start to refer to without committing to all the renaming work right now. We'd rather put the effort in to making it easier for other go IPFS implementations to spring up. A good example of such a project is ipfs/kubo#8543 |
|
Renamed from "Renaming ipfs implementations 2021Q4 edition" to account for this work happening in 2022Q1. |
|
go-ipfs renaming plan in ipfs/kubo#8959 (comment), will happen between v0.13 and v0.14 |
|
Any update on the plans to rename the js-ipfs project @BigLep @achingbrain? |
BigLep commentedNov 2, 2021
•
edited
Background
“IPFS” is an ambiguous term in part because multiple “things” are called “IPFS”, including the Go and JS reference implementations of the “IPFS bundling” that were sponsored by Protocol Labs being named “go-ipfs” and “js-ipfs”. Protocol Labs wants to make space for additional implementations to be made, including in Go and JS. PL found with the Filecoin protocol that the “one protocol multiple implementations” conversation was helped when implementations didn’t use “filecoin” in the name. This is why the original “go-filecoin” implementation was renamed to “venus” and the mainnet reference implementation was named “lotus”, even though it also is written in Go.
In addition, IPFS nodes have varying levels of compliance among them. For example, the ipfs.io gateways can be considered to have two types of content routing: the IPFS Public DHT, and peering agreements with Pinata, Infura, Textile, etc. This leads to user confusion when a partner’s data loads on the gateways but not via Brave's local go-ipfs node. We believe it’ll be useful for users to be able to say that a provider’s nodes are not X (a TBD name) compliant since they do not advertise their data in the IPFS Public DHT, and Brave nodes currently only support X compliant data providers.
Problems To Solve
Proposed Method
Create 2 separate GitHub discussions in https://github.com/ipfs/ipfs:
The discussions will link to this document explaining the purpose and rationale. Anyone who wants to propose an idea, can start a discussion “answer” following a template like:
Submissions should be in by EOD Wednesday, 2021-11-03, so can vote Thursday and Friday.
Others can then:
Many naming idea can be seeded from Sheet of IPFS-related Names.
We’ll announce after Lab Week in the discussions the decided names and the timeline for making the repo/doc naming updates.
FAQ
What is the scope here? Are we renaming binaries, repos, etc.?
The exact scope/plan of renames (particularly with regard to go-ipfs) is TBD. We need to think through the implications on the community of changing these things. There is non-trivial work to:
The beachhead to start is to pick a name for the current "go-ipfs" IPFS implementation. For examples, let's call it "banana". At the top of the of the ipfs/go-ipfs repo, we'd have a note that says something like:
What order will the rename happen?
Per above, there are different layers to the rename. The order/timeline is still TBD, but needs to account for:
Why do this on GitHub?
Why don’t we use the GitHub “upvote” functionality?
We’re not proposing to use the official “upvote” functionality because it doesn’t give visibility to the voter.
Why now?
Protocol Labs is kicking off Lab Week where it and other partners in the ecoyostem are gathered to discuss “PLv8” and its principles around scaling our networks and doubling down on ecosystem growth & agency. In this context, actually getting decisions made and a plan made for a rename in 2021 seem appropriate.
What about renaming “js-ipfs”?
This will likely happen as well, and we’ll be having conversations on 2021-11-03 about the the different parts of js-ipfs, which parts are reusable, and which parts should get a new name. For reference, js-ipfs has:
The HTTP interface mirrors the current go-ipfs HTTP API, and we will talk through how renaming elements on the go side should affect the JS side.
What about naming the “spec for an IPFS client”?
If someone wanted to implement a new IPFS client and still maintain network compatibility, where might they might look and how they might refer to "network compatibility"? There's nothing today stating that all nodes must be able to communicate via TCP + Noise + Mplex (the most widely supported libp2p combination) whether directly or via some proxy. Similarly, there's nothing saying nodes need to support protocols like identify or Bitswap. We believe it might be helpful to have a spec + name for the thing most people implicitly think of when they're talking about "the network" which is the minimal subset of protocols that a greenfield IPFS client would need to implement to be compatible with existing clients in a growing way. That said, this “spec + name” is not in the current renaming effort, but we’ll have a parallel conversation about this during Lab Week 2021.
Actions
- [ ] @momack2 or @BigLep solicit votes/nominations during LabWeek.The text was updated successfully, but these errors were encountered: