Skip to content
This repository has been archived by the owner on Dec 5, 2019. It is now read-only.

[Refactor] swap cacache with another cache #120

Closed
filipesilva opened this issue Sep 5, 2017 · 17 comments
Closed

[Refactor] swap cacache with another cache #120

filipesilva opened this issue Sep 5, 2017 · 17 comments

Comments

@filipesilva
Copy link
Contributor

Heya, would you be receptive to swaping the cacache dependency with another cache library? I can do the PR with the work for it.

I ask because I was trying to update uglifyjs-webpack-plugin to the latest beta in @angular/cli, and a couple of new licenses came up.

Both cacache@9.2.9 and ssri@4.1.6 (a dependency of cacache) use the CC0-1.0 license (https://spdx.org/licenses/CC0-1.0.html). This license is problematic to use in Angular because it does not allow transfer of copyright and does not address some required formalities.

@TheLarkInn
Copy link
Contributor

This would leave me to believe this is likely incompatible with JSF license also.

@alexander-akait
Copy link
Member

alexander-akait commented Sep 6, 2017

@filipesilva sounds reasonably, but first we should merge #108, because this PR done breaking changes (separate cache and parallel), also repair logic around cache (now cache and parallel is broken and can output invalid data from cache, also parallel works incorrect too).

@filipesilva
Copy link
Contributor Author

@evilebottnawi SGTM, I put a #121 but marked it as WIP and blocked by #108.

@joshwiens
Copy link
Member

@TheLarkInn - Replace likely with is. I'll get it on the working list to add license checking of dependencies as a part of our validations.

@michael-ciniawsky michael-ciniawsky changed the title Refactor request: swap cacache with another cache [Refactor] swap cacache with another cache Oct 21, 2017
@mikesherov
Copy link

May I suggest using license-to-fail for license checking?

@alexander-akait
Copy link
Member

@mikesherov please create issue about this in webpack-defaults (https://github.com/webpack-contrib/webpack-defaults)

@michael-ciniawsky
Copy link
Member

michael-ciniawsky commented Oct 21, 2017

cacache (#109) && ssri (#8)

@michael-ciniawsky
Copy link
Member

🤞

@joshwiens
Copy link
Member

joshwiens commented Oct 21, 2017

cacache is still overkill & quite frankly, the issue driving all of this ( performance refactoring ) is blocking the 1.5 release of the angular/cli.

We have a tool that is capable & can get the job done now, unless flat-cache comes with an unacceptable performance hit or is lacking in features (we don't use anyway) this is moving forward as discussed in #121

@TheLarkInn
Copy link
Contributor

Yes let's do this

@zkat
Copy link
Contributor

zkat commented Oct 21, 2017

tbh I've been meaning to relicense both of these, so that might happen soon. If you feel like it's overkill, that's sensible. I'd love to hear why you think it's a bit much for this use case, out of curiosity (and I'm not at all challenging the idea here! cacache does a bit!)

@joshwiens
Copy link
Member

@zkat - It's honestly more about trying to avoid hangups with lawyers ( shiver ) & not blocking a release for the angular group in the mean time.

I'm always down with sticking with what works & cacache is already proven to get the job done. And for reference, cacache is far from overkill, i use it professionally & love it. This plugin doesn't leverage a lot of it's bells & whistles so perhaps underutilized would be a better word.

So ... if you are down to swap that out with something we & the Angular group can consume ( I don't know their licensing constraints //cc @filipesilva ) && they don't mind waiting X number of days for the change and what I am sure will require a quick email to legal folks to verify every thing is cool then it's should be a simple as changing the minimum version and calling it a day.

@filipesilva
Copy link
Contributor Author

@zkat did you have a specific license in mind? MIT works for us but it's not the only one.
/cc @hansl

@michael-ciniawsky
Copy link
Member

@filipesilva I just suggested MIT out of the blue in the meantime :), since there shouldn't be any issues with that licenses at all. But ISC is prefer by @zkat and npm related projects in general as it seems and if that works with the JSF && Google policies. Otherwise can we try to find consensus/agree upon just simply going with MIT 🙃 ? Would be highly appreciated🙏

@hansl
Copy link

hansl commented Oct 21, 2017

ISC, Apache v2 and BSD are also acceptable by most lawyers (if not all). The problem might be timing since we need this done over the weekend.

@zkat
Copy link
Contributor

zkat commented Oct 21, 2017

The license would be either ISC or MIT. We tend to prefer ISC mostly 'cause that's the one we use, but that shouldn't make much of a difference, I don't think.

I've already pinged our own legal folks about it -- the CC0 "license" is largely my fault for being kind of "quirky" about licensing before, but it seems to cause more trouble than it's worth. ssri should be pretty quick to switch over, since it's only npm employees who used it, and cacache should take a bit longer 'cause I need to seek approval from a few outside contributors, but it should still be tenable (once I get the 👍 from our folks to start, I imagine it wouldn't take more than like a week or so).

As far as underutilized? I think you probably use more of it than you think! Considering that the main API is really just put and get -- a lot of the magic is in the cache verification and concurrency (did you know that you can hit cacache in parallel without needing any sort of lock?)

@zkat
Copy link
Contributor

zkat commented Oct 23, 2017

There are now PRs which should be landing soon relicensing both projects:

zkat added a commit to zkat/uglifyjs-webpack-plugin that referenced this issue Oct 23, 2017
joshwiens pushed a commit that referenced this issue Oct 23, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants