-
Notifications
You must be signed in to change notification settings - Fork 1.1k
remove some packages from the package table #405
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
Conversation
* go-libp2p-coral-dht is currently being written and shouldn't go in this list until it's reasonable usable (unless I'm missing the point of this list). * go-libp2p-ping is an unmaintained extraction of go-libp2p/p2p/ping * go-libp2p-pubsub is slated to be removed. * go-libpp2-dummy-conn was implemented to test go-libp2p-pnet. (1) go-libp2p-pnet can now be tested with normal `io.ReadWriteCloser`s so it doesn't need this package and (2) I didn't bother updating this package when I did the libp2p transport refactor.
@raulk unfortunately, our documentation is a bit sparse. That means we need to be extra careful when merging unless we're sure something is ready. Basically, merge if:
When in doubt, just ask: can we merge this already! Note 1: When someone approves a PR, that means "LGTM", not necessarily "this is ready to merge". @diasdavid please review changes before signing off on them. People trust your judgment. |
If it is not a prototype that is usable yet, yeah, no need to "distract" our users.
Wouldn't it be better to take this opportunity to fully extract? Perhaps this is something that @raulk can ship while he navigates and absorbs all the code in the libp2p stack.
Ref: libp2p/go-libp2p-pubsub#89. Can we have this tracked in a issue that explain next steps? I feel that there is a lot of ideas and plans that fall into oblivion which might not seem harmful by the core developers that the entire knowledge of the stack, but it is this kind of tiny blockers that can steel hours a way from new contributors and make them give up.
If go-libp2p-dummy-conn is not used, then archive and deprecate the repo. |
Apologies for tripping up with the merge policies so soon, @Stebalien! I had assumed an approval meant a LGTM as far as merging is concerned, but you're right that I should've checked with you first. Will secure the additional/relevant sign offs where necessary going forward.
I do feel there's value in capturing WIP modules. It enables the community to discover inflight work and get involved if they want to. Otherwise, the Coral DHT impl would stay buried somewhere in a 140 item list inside the libp2p org until it was ready, and we could be forgoing opportunities to engage potential collaborators that may want to help. Naturally this would entail marking which packages are WIP. Personally I find the fruit nomenclature in this PR pretty visual and digestible. Besides, a maintenance status/lifecycle badge on the README.md of each module could help convey the status quo, e.g. "actively maintained", "deprecated", "experiment”. Or just a keyword on the project title may suffice (like we do sometimes with [DEPRECATED])
I'm happy to take another stab at this ;-) Any clue what blockers were found in the first attempt? Feel free to shoot them here, and I’ll open an issue on the repo with a proposal for a plan.
It would be handy for such modules to display a "Planned refactoring" section/badge on the README.md, linking to the relevant issue. libp2p is a highly granular multi-repo, and it’s not always easy to find the issues that significantly affect the roadmap of components. P.S. The merge policy LGTM, but new arrivals to the team may find it hard to know who somebody with sufficient knowledge is in each case. Erring on the side of prudence and calling "can we merge this" frequently is OK for now, but I suspect we might need a system as the team scales (e.g. making sure all modules list maintainers on the frontpage). Nothing for immediate action here, just wanted to point that out. In a related note, could we post these rules as a notice somewhere for new members to see? Would a "For maintainers" subsection under Contribute in the go-libp2p README be a reasonable place? |
You're absolutely right about this. libp2p/go-libp2p-pubsub#4
Done.
Sounds like a useful project. Don't worry about it, I just wanted to slow things down a bit. Really, this is our fault; we've been scaling without scaling our processes. Eventually, we should move to a "lead maintainer protocol" which should help both clarify and streamline this.
For something a bit further along, I'd agree. However, when a project is this young, "help" usually just slows things down.
That would be awesome. See: ipfs-inactive/docs#54
(ref ping) It just wasn't finished, really. I'm not sure why. You can go ahead and try re-extracting it (I'd do it again from scratch).
Ideally, we'd do proper quarterly planning and then post a roadmap. I've also floated the idea of closing all issue trackers except the top-level go-libp2p one but we haven't really discussed that much.
I agree (see my answer above wrt the lead maintainers protocol). This situation was unusually confusing because @diasdavid is the project lead but has been mostly watching go-libp2p from a distance until now. Usually, for new contributors, I'd recommend erring on the side of caution and waiting for someone else to either merge the PR or say "merge when ready". Basically, if you do know, merge it; if you don't know, just wait and someone who does to come along and do so.
We probably should. In the past this hasn't really come up because pretty much everyone we've given write access to has been an existing community member. |
👍 to all.
Yeah, when projects are too young and not formally specified, there's a chance that collaboration can introduce noise.
Will take a look this week! Pushing a tiny typo correction in |
License: MIT Signed-off-by: Raúl Kripalani <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, good discussion.
I would +1 this. Personally, I find it sensible from several perspectives:
Waffle does provide useful insight, but I suspect it's more useful to align related projects through a single board, e.g. frontend, backend, middleware, mobile apps, etc. Us having so many trackers may just be an artefact of the module/repo set up IMHO. If I only want to see Go libp2p issues and PRs, I have to manually select all go-* repos. I have a bookmark for that, but I'll need to manually manage the filters as repos come, go, are renamed, or are deprecated :-( Note: If eventually we do decide to migrate to a single issue tracker, our commits and PRs will need to cross reference the go-libp2p project explicitly. |
io.ReadWriteCloser
s so it doesn't need this package and (2) I didn't bother updating this package when I did the libp2p transport refactor.