Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

licenses: Introduce manifest for licenses directory #70141

Open
jlinder opened this issue Sep 13, 2021 · 0 comments
Open

licenses: Introduce manifest for licenses directory #70141

jlinder opened this issue Sep 13, 2021 · 0 comments
Labels
C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-dev-inf

Comments

@jlinder
Copy link
Collaborator

jlinder commented Sep 13, 2021

Originally posted by @bdarnell at DEVINF-182. Moving here.

The licenses directory currently contains a set of license files that apply to various parts of the CRDB codebase and our dependencies, but there's no clear indication of what license applies to what. We should document this in some way (I'm agnostic as to how exactly this would look but I'd probably start with the license reports generated by snyk and merge in the other parts that snyk doesn't know about).

The licenses directory should cover everything that gets included in the source tarball releases, including

  • The main body of cockroach code
  • Any third-party code copied into the main repo and modified
  • External go dependencies in the vendor directory
  • External javascript dependencies
  • C/C++ dependencies in the c-deps directory
  • Embedded fonts and other UI assets

Historically the licenses directory was primarily used for the first two points but #69904 added more licenses for things from the vendor directory. We should make sure we're covering all of these areas and keeping things up to date.

The license directory should generally contain the license text in files named after their SPDX identifier. For licenses such as the BSD family, which have the copyright holder's name substituted into the license itself, we may need to duplicate the license into separate files such as BSD-grpc.txt (which should be renamed to BSD-3-Clause-grpc.txt). We've incorrectly applied this pattern in a few cases where it's not necessary (MIT and OFL); these files can be merged back together. For historical reasons we use BSL.txt for the Business Source License, but its SPDX identifier is BUSL and BSL refers to the Boost Software License which we also use. To avoid having to change all our references to BSL.txt we should rename the boost BSL to Boost-BSL.txt

Epic RE-227
Jira issue: CRDB-9959

@jlinder jlinder added C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-dev-inf labels Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-dev-inf
Projects
None yet
Development

No branches or pull requests

1 participant