libp2p / notes

libp2p Collaborative Notebook for Research
MIT License
37 stars 4 forks source link

Discussion of go-libp2p file bloat, vendoring issues #4

Open ghost opened 6 years ago

ghost commented 6 years ago

(Raw notes from discussion 8-Oct-2018 @lgierth @raulk @mgoelzer @Kubuxu @vyzo +add yourself)

History

What about pulling interfaces out into an interfaces package?

What about go modules?

Mono repo - would it help downstreams?

Could Ethereum Whisper exclude all non-dotgo files?

Competing libraries on HN:

What about just having a go-libp2p-interface package?

Central location for how to use libp2p for different use case

What is eth's goal?

Short-term actions we could take

lanzafame commented 6 years ago

I will quickly add a few points I raised with @raulk over lunch in Glasgow.

What about just having a go-libp2p-interface package?

Technically, this already exists, in part, in the specs repo, they obviously need further detail and I think the should fill the role of the place to go to figure out what libp2p module to use for different use cases. I believe that placing the concrete go definition of those interfaces in a single repo on serves to separate them further from the code that is the reference implementation for that interface.

At the end of the day, eth maybe vendoring a lot of files but that is the trade-off for the modularity of libp2p which as another user of libp2p (ipfs-cluster), it is super useful knowing what is being used by each package and only having to bring in what is required.