mui / mui/material-ui

Third-party license information for Google Material Icons is not machine-detectable

Open
#47,699 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

docs scope: icons
Dominant language
JavaScript
Stars
99.1k
Forks
32.5k
Avg merge
2d 17h
Merged PRs (30d)
106

Description

I understand that @mui/icons-material is a library that is also intended to be
used in websites that are distributed statically.

In statically distributed websites, browsers access and render the distributed
artifacts directly (HTML / JavaScript / SVG, etc.).
From a licensing perspective, this is generally understood as “distribution
(or redistribution)” of the resulting artifacts.

Therefore, OSS and third-party materials included in the distributed artifacts
need to be organized and presented as third-party license information.
This affects not only MUI itself, but also downstream users who publish websites.

The README of @mui/icons-material includes the following statement:

"This package contains Google's Material Icons converted to Material UI SVG Icon components."

From this description, it is explicit that @mui/icons-material uses
Google Material Icons as its source material.
Google Material Icons are provided under the Apache License 2.0.

However, in the currently distributed @mui/icons-material package, it appears
that the following information is not included:

  • The Apache-2.0 LICENSE text corresponding to Google Material Icons
  • Machine-detectable information indicating the presence of third-party materials

As a result, downstream users who rely on common license collection tools,
SBOM generators, or CI-based automated checks may not be able to correctly
identify third-party license information by inspecting node_modules alone.


I believe there may be room to consider providing third-party material information
in a form other than README-only documentation.

Possible approaches could include, for example:

  • Bundling the Apache-2.0 LICENSE text corresponding to Google Material Icons
  • Explicitly listing third-party materials in a THIRD_PARTY_NOTICES / NOTICE file
  • Providing third-party material information in a machine-readable form

Notes
  • Google Material Icons themselves do not include a NOTICE file, so my understanding
    is that only the Apache License 2.0 LICENSE text would need to be added.
  • I also considered managing Google Material Icons as a dependency, but since
    Google Material Icons are not designed to be consumed as an npm dependency,
    this approach does not seem practical.

Reference: https://github.com/google/material-design-icons/blob/master/LICENSE

Search keywords:

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

Start with the @mui/icons-material README and inspect the published package contents in node_modules, focusing on how its Google Material Icons source is documented. Check whether license collection or SBOM tools can detect the information; done means the distributed package includes the Apache-2.0 text and machine-detectable third-party material details.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.