Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.

Migrate this repo to FINOS #24

Open
7 of 10 tasks
ColinEberhardt opened this issue Oct 21, 2019 · 6 comments
Open
7 of 10 tasks

Migrate this repo to FINOS #24

ColinEberhardt opened this issue Oct 21, 2019 · 6 comments

Comments

@ColinEberhardt
Copy link
Contributor

ColinEberhardt commented Oct 21, 2019

This project is being contributed to FINOS. This issue tracks the various tasks around this move.

Steps required for the move to FINOS:

@ColinEberhardt
Copy link
Contributor Author

@maoo can you please provide some guidance around how license validation should be run as part of the CI process? I executed the commands at linked in CONTRIB-57, but see many failures:

> npx node-license-validator . --allow-licenses MIT Apache-2.0
Warning: dependency "react" probably not installed.
please install dependencies from npm before running nlf
Warning: dependency "react" probably not installed.
please install dependencies from npm before running nlf
Identified licenses: (MIT OR CC0-1.0), Apache-2.0, BSD, [BSD, BSD-2-Clause], [BSD, BSD-3-Clause], [BSD, ISC], CC-BY-3.0, CC0-1.0, ISC, MIT
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: BSD, BSD-3-Clause
Invalid license: [email protected]: BSD, BSD-2-Clause
Invalid license: [email protected]: BSD
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: BSD, BSD-2-Clause
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: CC-BY-3.0
Invalid license: [email protected]: CC0-1.0
Invalid license: [email protected]: BSD, BSD-3-Clause
Invalid license: [email protected]: BSD, ISC
Invalid license: [email protected]: ISC
Invalid license: [email protected]: ISC

@maoo
Copy link
Member

maoo commented Oct 22, 2019

Depending on the build stage, the project may already be installed also with build dependencies, therefore the license validator will also take those in consideration. I see spdx-license-ids mentioned in the list, which is normally pulled at build time.

Please try with:

npm clean
npm install --prod
npx node-license-validator . --allow-licenses MIT Apache-2.0

Alternatively, we can "whitelist" all build-time dependencies using (for example) --allow-packages spdx-license-ids spdx-exceptions , but IMO this would be harder to maintain.

HTH!

@ColinEberhardt
Copy link
Contributor Author

Thanks @maoo that worked.

The demo project includes quite a few additional licenses, for reference these are as follows:

MIT Apache-2.0 BSD-2-Clause BSD-3-Clause ISC

Do these need to be validated as well? And are the above acceptable?

@maoo
Copy link
Member

maoo commented Oct 22, 2019

Do these need to be validated as well? And are the above acceptable?

All these licenses are acceptable, as they're labelled as "Category A" licenses, see https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Contribution+Compliance+Requirements#ContributionComplianceRequirements-Identifyingacceptablelicenses

Feel free to add them into the command, as long as they are listed as Category A. For "Category B" licenses, it's probably better to use allow-packages, instead of whitelisting all packages, given that these licenses normally require changes to the NOTICE file too.

@ColinEberhardt
Copy link
Contributor Author

@maoo are you happy for us to move this repo into the FINOS org now?

@maoo
Copy link
Member

maoo commented Oct 24, 2019

@ColinEberhardt , the contribution criteria expect that code is clean from high and critical CVEs at any time, so I'd like to enable an ongoing CVE scanning before moving forward; we don't have to start with WhiteSource, given that we're discussing - on a separate thread - how we simplify the bot configuration. But adding an npm audit command in the CircleCI build would already be a good start to ensure that no CVEs are shipped with the code; happy to help defining the build step.

What about migrating the npmjs package? Do you want to use the @finos scope for future releases, and therefore instruct all consumers to update their coordinates? Do you prefer to redirect the previous npmjs package to the new package coordinates? Or to use npm-deprecate?

I'd suggest to address these 2 topics prior to the repo move, to make sure that consumers have a clear understanding of what is going to change after this migration.

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants