Display open-source license acknowledgements (#193)

* Add script to generate license disclaimers for all dependencies

* update readme

* Upload current acknowledgements

* Add acknowledgements link to about, remove unnecessary width setting

* revert gitignore

* update readme wording

* i was wrong, we can output for both backend mods at the same time

* update wording

* remove license button in about modal (replaced with acknowledgements)
This commit is contained in:
Evan Simkowitz 2023-12-24 11:41:51 -08:00 committed by GitHub
parent 019eaecdaa
commit 9980a6b204
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 22390 additions and 5 deletions

View File

@ -0,0 +1,20 @@
# Open-Source Acknowledgements
We make use of many amazing open-source projects to build Wave Terminal. Here are the links to the latest acknowledgements for each of our components, including license disclaimers for each dependency:
- [Frontend](./disclaimers/frontend.md)
- [Backend](./disclaimers/backend.md)
## Generating license disclaimers
The license disclaimers for the backend are generated using the [go-licenses](https://github.com/google/go-licenses) tool. We supply a template file ([`go_licenses_report.tpl`](./go_licenses_report.tpl)) to generate a pretty print of the disclaimers for each dependency. This outputs to the file [`backend.md`](./disclaimers/backend.md).
The license disclaimers for the frontend are generated using the [`yarn licenses` tool](https://classic.yarnpkg.com/lang/en/docs/cli/licenses/). This outputs to the file [`frontend.md`](./disclaimers/frontend.md).
These three disclaimer files linked above will be periodically regenerated to reflect new dependencies.
The [`scripthaus.md` file](../scripthaus.md) contains scripts to genrate the disclaimers and package them. To manually generate the disclaimers, run the following from the repository root directory:
```bash
scripthaus run generate-license-disclaimers
```

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
# Wave Terminal Backend Acknowledgements
The following sets forth attribution notices for third party software that may be contained in portions of the Wave Terminal product.
{{ range . }}
## {{ .Name }}
* Name: {{ .Name }}
* Version: {{ .Version }}
* License: [{{ .LicenseName }}]({{ .LicenseURL }})
```txt
{{ .LicenseText }}
```
-----
{{ end }}

View File

@ -100,3 +100,15 @@ scripthaus run fullbuild-waveshell
echo building wavesrv
scripthaus run build-wavesrv
```
```bash
# @scripthaus command generate-license-disclaimers
DISCLAIMER_DIR="./acknowledgements"
DISCLAIMER_OUTPUT_DIR="$DISCLAIMER_DIR/disclaimers"
if [ -d "$DISCLAIMER_OUTPUT_DIR" ]; then
rm -rf "$DISCLAIMER_OUTPUT_DIR"
fi
mkdir "$DISCLAIMER_OUTPUT_DIR"
go run github.com/google/go-licenses@latest report ./wavesrv/... ./waveshell/... --template "$DISCLAIMER_DIR/go_licenses_report.tpl" --ignore github.com/wavetermdev/waveterm > "$DISCLAIMER_OUTPUT_DIR/backend.md"
yarn licenses generate-disclaimer > "$DISCLAIMER_OUTPUT_DIR/frontend.md"
```

View File

@ -267,8 +267,6 @@
}
.about-modal {
width: 382px;
.wave-modal-content {
gap: 24px;

View File

@ -453,12 +453,12 @@ class AboutModal extends React.Component<{}, {}> {
</a>
<a
className="wave-button wave-button-link color-standard"
href={util.makeExternLink("https://github.com/wavetermdev/waveterm/blob/main/LICENSE")}
href={util.makeExternLink("https://github.com/wavetermdev/waveterm/blob/main/acknowledgements/README.md")}
rel={"noopener"}
target="_blank"
>
<i className="fa-sharp fa-light fa-book-blank"></i>
License
<i className="fa-sharp fa-light fa-heart"></i>
Acknowledgements
</a>
</div>
<div className="about-section text-standard">&copy; 2023 Command Line Inc.</div>