IPFS HTTP Client Libraries. Maintenance is here needed!
The IPFS Client Libraries are a huge piece of the story in how users interact with IPFS and how IPFS interacts with multiple language communities.
Today, their maintenance is super ad-hoc and mostly based in volunteers writing a client library for their language of preference. It is actually kind of impressive to see the current list https://github.com/ipfs/ipfs#api-client-libraries
That said, most of these are today broken (lack of maintenance), they are integrated in the core devs workflow (testing them before release) and there is no way to notify those language communities that a new version has come out, "please update and give feedback".
Essentially, we need some{one, group} to own this. I've been thinking for a while and wondering if that would fall on the IPFS Community WG responsibilities for now, given other work being done for the JS libraries. Thoughts?
I'm having a hard time figuring out what the expectations are here.
If the goal is to continue to shepard these projects along with "volunteers" but with a little more governance and some committers added based on recent activity, the Community WG can look at that.
If the goal is to have a central entity take on the maintenance burden of more than a dozen languages then I don't see how that's going to work. Not only do we not have the resources to accomplish this, centralizing the governance and decision making away from the projects themselves is likely to discourage the kinds of contributors we're getting now.
If the goal is to continue to shepard these projects along with "volunteers" but with a little more governance and some committers added based on recent activity, the Community WG can look at that.
I believe that this is the way to go and the most valuable thing we can do as the next step.
Ok, here's the plan:
- Improve https://github.com/ipfs/ipfs#http-client-libraries
- Remove Completeness field
- Add "Maintainers" field
- Create "client-maintainer" group in IPFS org
- Ping each project to get a list of maintainers to add to the group
- Let each project know about the newsletter so they can get any updates to their client libraries in
- Improve https://github.com/ipfs/ipfs#http-client-libraries
- Remove Completeness field
- Add "Maintainers" field
👍🏽👍🏽
Also see the improvements made a few days ago https://github.com/ipfs/ipfs/commit/b42a96dc45fca732a4d510abc5c95e2c3361d813 (super simple) and https://github.com/ipfs/ipfs/issues/374
- Create "client-maintainer" group in IPFS org
Done and added you as a Maintainer so that you can add people https://github.com/orgs/ipfs/teams/ipfs-http-client-maintainer/members
- Ping each project to get a list of maintainers to add to the group
Can you take this action item?
- Let each project know about the newsletter so they can get any updates to their client libraries in
This is a great idea!!
Issues have been logged and a WIP PR has been created for the README changes. I'll give everyone week to comment in those issues and add them into the PR and the group as they come in.
Hey, you can write me as the maintainer of rust-ipfs-api. Other than the occasional PR, there are no other official maintainers. Anything I can help with?
@daviddias you've gotta make me an org admin in order to invite people to the org and add them as members. Right now I can only add people that are already org members.
@gkbrk added you to the PR and will add you to the group once David makes me an org admin :) there aren't any action items ATM but we'll ping you via the group when there is.
@mikeal I think you added me to the wrong library, unless the maintainer list isn't supposed to be per library.
@gkbrk oh I see, there's many rust libraries. fixed.
@mikeal I'm adding the APIs as I need them, or when someone opens an issue on GitHub about something they need. You can see the docs here. I have some code examples and blog posts that show how it can be used as well, not posting here because I don't want to spam.
@mikeal powers granted, use them wisely :D
Hello! Feel free to add me as a maintainer to this rust library: https://github.com/ferristseng/rust-ipfs-api.
Hey add me as maintainer of https://github.com/digitalkaoz/php-ipfs-api
@daviddias thanks! Added 5 new members :)
Could you add me as a maintainer of https://github.com/ferristseng/rust-ipfs-api ? Thanks!
You can add me too to the list for Ruby, here's my repo https://github.com/tbenett/ruby-ipfs-http-client
I plan to discuss with the author of the https://github.com/Fryie/ipfs-ruby to see if a collaboration could exists. I'll keep in touch.
EDIT :
Ok @Fryie didn't plan to maintain its library. Just saw this reply.
EDIT :
@logicminds whish to continue his work, so I contacted him to speak about collaboration.
Yep, please add me as a maintainer for ruby specific bits. @tbenett has an api as well which looks way more complete than ipfs-ruby.