ipfs / kubo

An IPFS implementation in Go
https://docs.ipfs.tech/how-to/command-line-quick-start/
Other
16.04k stars 3k forks source link

Minimal rename of go-ipfs in 2022Q2 #8959

Closed lidel closed 1 year ago

lidel commented 2 years ago

This is part of https://github.com/ipfs/ipfs/issues/470, read that first.

What

IPFS Stewards are renaming go-ipfs to something else :snowflake:

:point_right: Feel free to comment in https://github.com/ipfs/ipfs/discussions/471 with name (and logo like one in https://github.com/ipfs/go-ipfs/pull/8958).

Note: we reserve the right to ignore every instance of Boaty McBoatface.

Why

This is part of a wider, long ecosystem epic (see https://github.com/ipfs/ipfs/issues/470) where we clarify that IPFS is a set of interoperable protocols and conventions, and not a specific implementation, like go-ipfs.

tl;dr:

When

This will take time, but we want to do the basic rename of project / repo (scope tbd) before July 2022

How

The scope is TBD, we are identifying potential breakage in https://github.com/ipfs/go-ipfs/pull/8958.

Current proposal is to:

:green_circle: Rename before July

:+1: :-1: :thinking: Need analysis and decision

:stop_sign: Keep or rename at a later date

Things that use go-ipfs name, that we don't plan breaking at this time:


WANT TO PROPOSE THE NEW NAME?

:point_right: Feel free to comment in https://github.com/ipfs/ipfs/discussions/471 with name (and logo like one in https://github.com/ipfs/go-ipfs/pull/8958).

hello-smile6 commented 2 years ago

Maybe golang-ipfs?

hello-smile6 commented 2 years ago

@aschmahmann Why not?

ajnavarro commented 2 years ago

greenblock :rofl:

BigLep commented 2 years ago

2022-05-10 notes:

  1. We need to set and communicate timeline
  2. Deduplicate/close between this issue and https://github.com/ipfs/ipfs/issues/470 and the corresponding GitHub Discussion.
  3. Determine the set of options for voting.

@lidel is owning on getting decisions wrapped up by the week of 2022-05-16.

Destroyinator69420 commented 2 years ago

I think go-ipfs is great name, go-ipfs describes perfectly that the program is an ipfs implementation in golang, I was not aware that the name minimizes other implementations such as rust-ipfs or js-ipfs, I think those names are fine too.

All the best Destroyinator

bertrandfalguiere commented 2 years ago

I think the idea behind it is to open up the ecosystem to multiple implementations even in the same langage. To make go-ipfs a go implementation of IPFS, not THE go implementation of IPFS. Just like for HTTP, many implementations may coexist, for exemple to specialize on different usecases. It would also remind people that IPFS is a protocol, not a software. I think this a first step for IPFS (the protocol), to reach the next level of popularity.

waleedmebane commented 2 years ago

deleted (noticed I was posting in the wrong place)

lidel commented 2 years ago

Quick update:

WANT TO PROPOSE THE NEW NAME for go-ipfs?

:point_right: Comment in https://github.com/ipfs/ipfs/discussions/471

lidel commented 2 years ago

IPFS Stewards voted on names proposed here to see which names make the majority happy. We got top 3-4 selected, go-ipfs team will make final decision later this week.

RubenKelevra commented 2 years ago

@lidel good luck! There are some pretty compelling suggestions :)

lidel commented 2 years ago

Summary of community proposals from discussion thread:

Most popular (captured on 2022-06-14):

  1. Kubo +22 / -2
  2. Aster +15 / -1
  3. Orchid +12 / -1

Long tail:

IPFS Stewards voted, and discussed results internally. Identified some concerns around names that clash with other "Web3" / "Dweb" projects, and potential problems when it comes to hearing / pronunciation and non-native speakers (namely, "orchid protocol" exists, and "aster" phonemes are.. problematic)

Stewards narrowed it down to three "safe" choices:

We will now consult with historical maintainers and project leaders, the final decision will be announced later this week.

lidel commented 2 years ago

we will be renaming go-ipfs to:

kubo

safe and popular, comes with a suiting Japanese meaning:

久 long time, old story./ 保 protect, guarantee, keep, preserve, sustain, support.

thank you all for participating in the discussion!

RubenKelevra commented 2 years ago

Cool!

Will ipfs-desktop become kubo-desktop?

Will ipfs-cluster become kubo-cluster?

bertrandfalguiere commented 2 years ago

I guess it will depend on the plans for these projects. Does PL want to nudge people to write alternative implementations on ipfs-cluster or not, will it be tightly coupled with kubo or will the ipfs daemon of ipfs-desftop be swappable, etc. Same for ipfs-cluster.

RubenKelevra commented 2 years ago

Well ipfs-desktop and ipfs-cluster are completely dependent on go-ipfs.

I would vote for a rename of these too, as it "streamlines" what the user will see as naming and makes clear they are coupled with the go implementation.

RubenKelevra commented 2 years ago

Well ipfs-desktop and ipfs-cluster are completely dependent on go-ipfs.

I would vote for a rename of these too, as it "streamlines" what the user will see as naming and makes clear they are coupled with the go implementation.

@hsanjuan would you rename ipfs-cluster to kubo-cluster? :)

b5 commented 2 years ago

@lidel did @Kubuxu have any hand in your name suggestion 😛?

lidel commented 2 years ago

@b5 no, but just in case, we have his blessing ;)

@RubenKelevra renaming other projects is discussed in https://github.com/ipfs/ipfs/issues/470, but to answer here, there are no plans to rename Cluster, Companion and Desktop (afaik).

Long term, we will be deprecating kubo-specific RPC API at /api/v0 in favor of web-compatible things like http gateways, writable gateways, pinning service api etc, making it easier to swap implementation where it makes sense (desktop, browser).

RubenKelevra commented 2 years ago

@lidel hm I think the companion and the Desktop app should be renamed as well. They (at least currently) fully depend on Kubo - so there's no way to not use kubo with them. I can see that one could argue that "cluster" is doing clustering in the IPFS network and thus should keep the name.

But I don't think that the same argument holds true for the Desktop app, which is just a pretty nice wrapper around the WebGui of Kubo.

One could also make the argument that it's confusing to have the network name as part of the application title in one program but not use it for "keeping the namespace clean" on the other one. So I will create dedicated tickets in all three projects (see below) for the renaming – to not go too far off-topic here.

Thanks for the fast, uncomplicated response, despite being off-topic! :)

lidel commented 2 years ago

PSA: we are planning to rename https://github.com/ipfs/go-ipfs repository next Wednesday, July 6th (date may change, there is an event in IPFS Calendar)

When that happens, we will be able to (in order, over following weeks):

lidel commented 2 years ago

The repository is now https://github.com/ipfs/kubo :sparkles: If you see anything breaking in the following days, let us know by commenting here :pray:

lidel commented 2 years ago

Published artifacts for 0.14.0-rc1 use kubo now, and are available at:

To minimize the impact on infrastructure that autoupdates on a new release, the same binaries are still published under the old name at:

RubenKelevra commented 2 years ago

Great!

I pinned the development version of go-ipfs for Arch Linux on the last stable release until all the kinks are gone (only regarding my packaging).

Will push a Kubo-git package soon. :)

lidel commented 2 years ago

@RubenKelevra thanks! Makes perfect sense for package maintainers like you to wait until Kubo 0.14.0 (final) is released – that will be the first stable release under the new name. But feel free to test with 0.14.0-rc1 and lmk if anything needs fixing before 0.14.0 :pray:

RubenKelevra commented 2 years ago

I've released a preliminary package with the info that it's currently not expecting to work, but should be considered a work in progress. This way people can test it ASAP. :)

https://aur.archlinux.org/packages/kubo-git

And as the kubo-git package has the "replace" tag set, it will automatically replace the go-ipfs-git package when selected. So the old package won't receive any updates anymore.

I think that's the best "clean cut" solution.

lidel commented 2 years ago
lidel commented 1 year ago

Closing this one as we've finally got kubo on NPM (https://github.com/ipfs/npm-kubo/issues/51) and deprecated the old name.