-
Notifications
You must be signed in to change notification settings - Fork 100
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
[Design/discussion/decision] Whether to "migrate" or "copy" repos into go-libipfs #191
Comments
Note: the above issue description is just a starting point. @ipfs/kubo-maintainers please update/correct/add a will. Other interested parties and folks expected are welcome to comment as well. |
My vote is to go with "Alternative approach 2: copy (don't migrate) but deprecate the types". I don't think we have the TPM communication power for the "existing migration approach", we're not being as disruptive, and we're still giving consumers clarity on where they can find maintained code. 6 months from now if this experiment was fruitful we can come through and archive the old repos. |
@ipfs/kubo-maintainers met on 2023-03-07 about this. Here is the outcome of that conversation: What approach are we planning to take?We're planing to do "Alternative approach 2: copy (don't migrate) but deprecate the types" from above. When is this going to happen?We expect to make tangible headway the week of 2023-03-13 but we are ensuring we have all our ducks in a row first. Updates will be posted in the tracking issue #196. #174 will be creating the tracking checklist/table where the incremental progress will be reported. What if someone is annoyed by the deprecation warnings?They have a path forward. They have to explicitly add a commit/PR that includes:
This satisfies the requirement about being clear to users about who owns and its status. Are we archiving repos?No, we're not archiving repos. If 4 months from now there hasn't been any activity on the repo, we'll go ahead and archive the repo. This is being tracked in #201 What are we going to do with the issues in the repos that we're copying in?To not disrupt the repo, we’re not going to transfer the issues. Instead, we’ll read the repo's issues and for the relevant items, create a new issue in go-libipfs and link to the original. What messaging are we putting on the repo READMEs?This will get handled in #174 What about repos we’ve already migrated into go-libipfs?We're going to leave these repos as is (fully migrated over and original archived):
We will "revert" the migration of https://github.com/ipfs/go-block-format meaning:
What are we importing explicitly?This will be answered in #174 How will someone find the repos that have been imported?This will be self-service from the tooling being developed in #181. That tooling will end up living in go-lifipfs main. |
#174 has been updated based on the plan in #191 (comment) |
I pointed at this from ipfs/kubo#8543 (comment) I'm not planning to do any additional communication on this. Additional comms will happen in the parent tracking issue (#196 ) and the other issues therein. |
It was briefly stated in the 2023-03-09 PL EngRes All Hands It is surfaced in the 2023-03-10 IP Stewards sitrep: https://www.notion.so/pl-strflt/2023-03-10-IP-Stewards-SitRep-51463e1d1283495c91289dfe576596b9?pvs=4#a25873a00eab427282f50a1a6f59fd4e |
2023-05-10: this content has been moved into https://github.com/ipfs/boxo/wiki/Copied-or-Migrated-Repos-FAQThis comment serves as the pointer in the "not maintained README notice" for repos that were copied into Boxo. This can be updated as needed. A more durable location will be found, but currently the best source of information about these "not maintained" repos is in #190. The FAQ covers the following questions as of 2023-03-27:
If you have other questions or need help, please reach out to @ipfs/kubo-maintainers at https://github.com/ipfs/boxo#help |
Given the decision to copy, having a mechanism for knowing if the source has made "important updates" will be handled in #270 |
Purpose
Given concerns raised by others within PL EngRes about the IPFS repo consolidation effort, this issue is being used to solicit/design/discuss/decide alternatives that can be followed while still meeting the primary goals of the consolidation effort being spearheaded by the EngRes IPFS Stewards. The EngRes IPFS Stewards is planning to push forward with more repo consolidation in 2023Q1, but are up for considering alternative approaches before doing so.
Background (on the existing migrate approach)
The limited effort so far of consolidating various ipfs/* repos into go-libipfs has used https://github.com/guseggert/repo-migration-tools largely following the Example Workflow section of the README.
This has included:
Pros of the existing migrate approach
Cons of the existing migrate approach
Alternative approach 1: copy (don't migrate)
Leave the repos as they were (i.e., don't archive) and instead just copy them into go-libipfs. Specifically, this would mean:
Pros of copy approach
Cons of copy approach
If there is a security issue in a repo, what will happen?
EngRes IPFS Stewards will certainly handle patching go-libipfs. If there are maintainers for the existing repos, they will need to handle patching/disclosing. EngRes IPFS Stewards will certainly coordinate and share work, but won't handle communication with or updating of the affected consumer. If there are no maintainers for the existing repos, there will likely be internal private PL EngRes chats analyzing which projects are impacted, and it will then be up to those projects to determine whether they want to patch the existing repos or migrate to go-libipfs.
Alternative approach 2: copy (don't migrate) but deprecate the types
This is the same as "Alternative approach #1: copy (don't migrate)", but also deprecates the Go types with a clear signal as to where the maintained version is. This has the same pros before in addition to providing a better signal for consumers.
What do we gain from these approaches
EngRes IPFS Stewards primary goals are still satisfied. TODO: link to what these are (since I don't want to duplicate them here).
Next Steps
2023-03-09: @BigLep didn't present this as a vote given taking a more lax approach and have a clear path for anyone who doesn't want the deprecated messages.
Note: regardless of what path is chosen, EngRes IPFS Stewards still have key work they can do, specifically around:
as these are needed for all paths.
Cases where concerns about the existing migration approach have been raised
The text was updated successfully, but these errors were encountered: