mailgun/groupcache

Authorization to refactor this library

Closed this issue · 10 comments

Hello @thrawn01,

Thanks for the great piece of work of cloning the original version and enhancing it. I would like to know whether I can copy this library, refactor it and publish using the same license, however under a different module name.

@thrawn01, These are some of the refactoring I am planning to add:

  • Service Discovery Provider that can help integrate with tools like k8, NATs, mSDN and co
  • Upgrade the protocol buffer API
  • Hide the HTTPPool and make use of a Cluster engine where a discovery provider will be required.

I am glad to open a PR in that respect if these changes seem necessary. Otherwise I can move them into a particular repo given I have the right permission.

@thrawn01 I have pushed the modifications I am talking about here https://github.com/Tochemey/groupcache.

These changes look very nice! A few points though.

  • I'm no longer with mailgun so I no longer have ownership of this repo.
  • I had hoped to put discovery code in separate repo since it's needed in other libraries like mailgun/gubernator. See mailgun/holster/discovery
  • If it is agreeable, perhaps we can fork this repo to a different organization and continue development there.
  • I'm planning on moving mailgun/gubernator to gubernator-io/gubernator as I wish to continue working on that project also.

@Baliedge @Jvb182

@thrawn01 Thanks for the reply. I really appreciate it.

@thrawn01 I am open to any option. I am here to contribute.

Hi guys

I am also interested in efforts to improve this lib.

I am interested in a healthy groupcache ecosystem since I am currently using these:

https://github.com/modernprogram/groupcache - fork from mailgun groupcache with support for user-controlled explicit state

https://github.com/udhos/kubegroup - groupcache peer autodiscovery for k8s

https://github.com/udhos/groupcache_exporter - export groupcache stats as prometheus metrics

https://github.com/udhos/groupcache_oauth2 - store oauth2 client_credentials tokens in groupcache

Huh. This is interesting. I think it is time there is some cleanup in the ecosystem.
@udhos, @thrawn01 can we figure out a plan for this?

I've created a fork of this repo here https://github.com/groupcache/groupcache-go. I added the -go suffix to the repo name as I would eventually like to write a rust version of this library.

I would love to remove all the globals from the library in V3 such that we can run multiple instances of groupcache easily in testing. Here is what I'm thinking.
https://gist.github.com/thrawn01/45131e4c225a13774de6c80618ddd5a8

I'm traveling for the next 2 weeks, and I don't always have access to internet/laptop so my responses might be delayed.

I've created a new issue on the new repo where we can continue this conversation.
groupcache/groupcache-go#1

cc: @udhos @Tochemey

@thrawn01 and @udhos closing this convo since we have a discussion on the other repo.