community icon indicating copy to clipboard operation
community copied to clipboard

IPFS HTTP Client Libraries. Maintenance is here needed!

Open daviddias opened this issue 7 years ago • 17 comments

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?

daviddias avatar Nov 04 '18 11:11 daviddias

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.

mikeal avatar Nov 05 '18 17:11 mikeal

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.

daviddias avatar Nov 14 '18 11:11 daviddias

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

mikeal avatar Nov 20 '18 18:11 mikeal

  • 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!!

daviddias avatar Nov 21 '18 08:11 daviddias

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.

mikeal avatar Nov 21 '18 19:11 mikeal

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?

gkbrk avatar Nov 21 '18 22:11 gkbrk

@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 avatar Nov 22 '18 00:11 mikeal

@mikeal I think you added me to the wrong library, unless the maintainer list isn't supposed to be per library.

gkbrk avatar Nov 22 '18 00:11 gkbrk

@gkbrk oh I see, there's many rust libraries. fixed.

mikeal avatar Nov 22 '18 00:11 mikeal

@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.

gkbrk avatar Nov 22 '18 00:11 gkbrk

@mikeal powers granted, use them wisely :D

daviddias avatar Nov 22 '18 07:11 daviddias

Hello! Feel free to add me as a maintainer to this rust library: https://github.com/ferristseng/rust-ipfs-api.

ferristseng avatar Nov 23 '18 15:11 ferristseng

Hey add me as maintainer of https://github.com/digitalkaoz/php-ipfs-api

digitalkaoz avatar Nov 25 '18 09:11 digitalkaoz

@daviddias thanks! Added 5 new members :)

mikeal avatar Nov 26 '18 19:11 mikeal

Could you add me as a maintainer of https://github.com/ferristseng/rust-ipfs-api ? Thanks!

sameer avatar Dec 31 '18 21:12 sameer

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.

tomibennett avatar Feb 15 '19 10:02 tomibennett

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.

logicminds avatar Feb 15 '19 17:02 logicminds