mailgun / groupcache

Clone of golang/groupcache with TTL and Item Removal support
Apache License 2.0
484 stars 72 forks source link

Authorization to refactor this library #68

Closed Tochemey closed 6 months ago

Tochemey commented 7 months ago

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.

Tochemey commented 7 months ago

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

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.

Tochemey commented 7 months ago

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

thrawn01 commented 7 months ago

These changes look very nice! A few points though.

@Baliedge @Jvb182

Tochemey commented 7 months ago

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

Tochemey commented 7 months ago

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

udhos commented 6 months ago

Hi guys

I am also interested in efforts to improve this lib.

udhos commented 6 months ago

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

Tochemey commented 6 months ago

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?

thrawn01 commented 6 months ago

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. https://github.com/groupcache/groupcache-go/issues/1

cc: @udhos @Tochemey

Tochemey commented 6 months ago

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