libp2p / py-libp2p

The Python implementation of the libp2p networking stack 🐍 [under development]
https://libp2p.io
Other
481 stars 105 forks source link

Is this project abandoned #438

Closed robertsdotpm closed 7 months ago

robertsdotpm commented 1 year ago

From looking at the commit messages it seems that only the cryptography dependencies have been updated (probably a third-party library anyway?) The roadmap seems to show no planned development for many features that would be useful for p2p networking.

I thought it would be good to have a solid peer-to-peer library for Python. So I built one from scratch. My library supports the following main features:

The Github for it is here and the docs are here

dhuseby commented 9 months ago

I would like to help @pacrob get this project back out of the inactive list. @robertsdotpm, it would be great if you had some spare cycles to help us out. Keep an eye on the discussions in this repo for more to come. Reply here if you'd like to help.

dhuseby commented 9 months ago

It would be awesome to fold in some of your code to get py-libp2p caught up.

robertsdotpm commented 7 months ago

@dhuseby It would be awesome to fold in some of your code to get py-libp2p caught up.

Libp2p does not properly implement RFC 3489 for NAT prediction and its hole punching is very basic. For this reason it will fall back to relaying when it doesn't have to. Not exactly p2p and quite wasteful.

In the past I've tried to help Protocol Labs with p2p networking. I applied to open roles on the Libp2p team where the excellent hiring manager failed me because he thought my Discord experience was lacking. I kid you not, your hiring manager failed me because 'part of the role was talking to the community on discord' which it seemed that for a networking engineer, I was lacking in.

It seems that since Protocol Labs does not want my help they can do it without me.

dhuseby commented 7 months ago

In the past I've tried to help Protocol Labs with p2p networking. I applied to open roles on the Libp2p team where the excellent hiring manager failed me because he thought my Discord experience was lacking. I kid you not, your hiring manager failed me because 'part of the role was talking to the community on discord' which it seemed that for a networking engineer, I was lacking in.

Man that sucks. I'm sorry to hear that.

It seems that since Protocol Labs does not want my help they can do it without me.

Well, the good news is I don't work for Protocol Labs and the libp2p Project is now an independent open source project under the libp2p Foundation. The people working on and maintaining it do so because they care about it.

@pacrob and I are trying to revive this implementation of the libp2p specifications. We could use your help and I personally would like to get to know you better.

Thank you for your suggested fixes and example code. Is there any way you'd consider attending the next py-libp2p maintainers meeting on April 25th? Here's the event page for the meeting: https://lu.ma/2024-04-25-py-libp2p

dhuseby commented 7 months ago

@robertsdotpm with your help I think we could make py-libp2p actually useful. If you want to help with the code and are willing to show up to a meeting every month, I'd be happy to make you a maintainer of this project and support you in any way I can.

robertsdotpm commented 7 months ago

@robertsdotpm with your help I think we could make py-libp2p actually useful. If you want to help with the code and are willing to show up to a meeting every month, I'd be happy to make you a maintainer of this project and support you in any way I can.

I appreciate the sentiment for open source but Protocol Labs has done everything they can to keep contributors out. They even managed to block my grant from the Ethereum Foundation by bullshitting them about Libp2p's technical capabilities. This is what they said in regards to their broken NAT implementation:

"We appreciate your points regarding LibP2P's NAT and hole punching capabilities, and although the solution doesn't cover all scenarios, there are several techniques in use to address the challenges posed. More testing is required and new integration tests will be developed over time, ..."

The methods they refer to are port forwarding / pin hole rules and relaying. If it were a solution people wouldn't still have trouble with p2p networking in online games. The trouble with Protocol Labs is its a circle jerk of non-experts who reinvent everything poorly. They do not have a culture that encourages experts to participate and actively keep them out. Ironically, its these non-experts that are deferred to in such discussions from non-technical people. Protocol Labs are the kings of bullshitting.

You're wasting your time.

pacrob commented 7 months ago

@robertsdotpm I'm sorry you've had a bad experience. That does sound frustrating. I wish you all the best.

The conversation has moved away from what's helpful to py-libp2p itself, so I'll close the issue.

dhuseby commented 7 months ago

They do not have a culture that encourages experts to participate and actively keep them out. Ironically, its these non-experts that are deferred to in such discussions from non-technical people.

I don't work for Protocol Labs. Neither does @pacrob. I have been empowered to independently grow this community however I can. I'm personally inviting you to try again. I think you'll find things are different now that the libp2p community is independent.