rust-lang / rust-lang/mdBook

mdbook-html: missing license texts for favicon (CC-BY-4.0) and JavaScript libraries (MIT, BSD-3-Clause)

Open
#2,956 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
22.2k
Forks
1.9k
PR merge metrics
PR metrics pending

Description

We've been looking into packaging mdbook for Fedora Linux since it's a nice and approachable tool for writing pretty documentation (and it's also used for generating docs for the nix package manager, the package for which currently needs to skip this step because mdbook is not yet available as a package from our repositories).

During review of the package sources, we noticed that as-is, several license texts and SPDX license expressions seem to be missing from the repository - and from the contents of published mdbook-html crates:

  • crates/mdbook-html/front-end/images/favicon.{svg,png}: CC-BY-4.0
  • crates/mdbook-html/front-end/js/clipboard.min.js: MIT
  • crates/mdbook-html/front-end/js/highlight.js: BSD-3-Clause
  • crates/mdbook-html/front-end/playground_editor/ace.js: BSD-3-Clause - includes a copy of the license text in the .js source file, so this one should be fine
  • crates/mdbook-html/front-end/searcher/elasticlunr.min.js: MIT
  • crates/mdbook-html/front-end/searcher/mark.min.js: MIT
  • crates/mdbook-html/front-end/searcher/elasticlunr.min.js: MIT

All of CC-BY-4.0, MIT, and BSD-3-Clause licenses require that (re)distributed sources contain a copy of the original license text - this is not the case for the files redistributed by the mdbook-html crate.

Please ensure that license texts for the CC-BY-4.0, MIT, and BSD-3-Clause licenses are present in this git repository and included when publishing the mdbook-html crate to crates.io to be compliant with the license terms of the listed projects.

Additionally, it would be good to adapt the package.license from license.workspace = true for this crate to ensure that consumers of the crate are aware that it not only contains content that is available under the MPL-2.0 license, but also content that is available under the other three listed licenses (i.e. use license = "MPL-2.0 AND BSD-3-Clause AND CC-BY-4.0 AND MIT" in crates/mdbook-html/Cargo.toml).

PS: I also see references to the MIT-licensed "fontawesome" project in project sources and other places, but I don't see any actual files included from it. It appears that the fontawesome icon font used to be included in this repository in <v0.5.0 but has now been moved to an external dependency (font-awesome-as-a-crate), so it appears that these references are stale.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the listed files under crates/mdbook-html/front-end and the package metadata in crates/mdbook-html/Cargo.toml. Add the required CC-BY-4.0, MIT, and BSD-3-Clause license texts and update the crate license expression; done means the repository and published mdbook-html package contain the required notices.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.