1. SPDX Document Metadata

−
Document name
FOSSology CI Report
SPDX version
SPDX-2.3
Data license
CC0-1.0
Created
2026-09-23T06:13:10Z
Namespace
https://fossology.org
Creator
Organization: FOSSology (fossology@fossology.org)

2. Packages

−

dashboards

SPDX ID
SPDXRef-Package-dashboards
Download URL
git://github.com/zephyrproject-rtos/littlefs.git
Originator
Organization: zephyrproject-rtos
Release date
2026-09-23T06:13:10Z
Verification
309f2fb83b2189f3b65d1eadf7bef208016a9f50

Declared licenses (1):

BSD-3-Clause

3. Executive Summary

−
34
Total files
1
Distinct licenses
34
Files with license
0
No license info
33
Files with copyright
1
No copyright info
0
Multi-license files
34
Non-allowlisted
0
Copyright violations
0
Keyword violations

4. License Distribution

−
BSD-3-Clause: 100.0%34files
  • BSD-3-Clause (100.0%)
LicenseFiles%Distribution
BSD-3-Clause34100.0%

5. Custom / Non-SPDX Licenses (LicenseRef-*)

−

None found.

Files carrying custom license references

None.

6. Copyright Holders (top 50)

−

Distinct holders: 10    Distinct copyright strings: 11

Normalized holderFiles
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause12
The littlefs authors. , Arm Limited12
The littlefs authors. , Arm Limited. for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: m = size_pattern.m for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: note that files for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: state machine he2
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: note that files for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: state machine he1
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause for c in perf + command)) err = sp.call(perf + command, close_fds=False) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: m = symbol_pattern.match(line) if m: for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: m = line_pattern.match(line) if m: for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False)1
The littlefs authors. , Arm Limited. for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) data = json.load(proc.stdout) proc.wait()1
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause for c in cmd)) return sp.call(cmd) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( P<case>[^\s]+)' s+(?P<flags>[^\s]+) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( P<case>[^\s]+)' s+(?P<path>[^:]+):( for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( P<case>[^\s]+)' s+(?P<path>[^:]+):( for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) defines = co.OrderedDict() pattern = re.compile('^(?P<define>\w+)=(?P<value>.+) for c in cmd)) for c in runner_)) for c in runner_), failure) for c in cmd)) os.execvp(cmd[0], cmd)1
The littlefs authors. , Arm Limited. for c in cmd)) paths = subprocess.check_output(cmd, encoding='utf8').split() else: print('no paths?', file=sys.stderr) sys.exit(1) for c in cmd)) subprocess.check_call(cmd) cmd = git_path + ['add', to_path] if verbose: for c in cmd)) subprocess.check_call(cmd)1
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause for c in cmd)) return sp.call(cmd) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( r'^(?P<case>[^\s]+)' r'\s+(?P<flags>[^\s] for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( r'^(?P<case>[^\s]+)' r'\s+(?P<path>[^:]+) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) pattern = re.compile( r'^(?P<case>[^\s]+)' r'\s+(?P<path>[^:]+) for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) defines = co.OrderedDict() pattern = re.compile(r'^(?P<define>\w+)=(?P<value>.+ for c in cmd)) for c in runner_)) for c in runner_), failure) for c in cmd)) os.execvp(cmd[0], cmd)1
The littlefs authors. SPDX-License-Identifier: BSD-3-Clause for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: m = symbol_pattern.match(line) if m: for c in cmd)) proc = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE if not args.get('verbose') else None, universal_newlines=True, errors='replace', close_fds=False) for line in proc.stdout: m = line_pattern.match(line) if m:1

7. Directory-Level License Breakdown

−
DirectoryFilesPrimary license(s)
scripts18BSD-3-Clause(18)
bd6BSD-3-Clause(6)
runners4BSD-3-Clause(4)
lfs_util.h1BSD-3-Clause(1)
LICENSE.md1BSD-3-Clause(1)
README.md1BSD-3-Clause(1)
lfs.c1BSD-3-Clause(1)
lfs_util.c1BSD-3-Clause(1)
lfs.h1BSD-3-Clause(1)

8. Files with Multiple Licenses

−

None found.

9. Files Without License Information

−

All files have license information.

10. Files Without Copyright Information

−
File
README.md

11. License Concluded vs. Detected Mismatch

−

No mismatches found.

12. FOSSology Non-Allowlisted License Report

−

Following licenses found which are not allow listed:

Total flagged files: 34

  • runners/bench_runner.h
    • BSD-3-Clause at line 6
  • runners/bench_runner.c
    • BSD-3-Clause at line 6
  • runners/test_runner.h
    • BSD-3-Clause at line 6
  • runners/test_runner.c
    • BSD-3-Clause at line 6
  • lfs_util.h
    • BSD-3-Clause at line 6
  • scripts/structs.py
    • BSD-3-Clause at line 6
  • scripts/perf.py
    • BSD-3-Clause at line 6
  • scripts/plotmpl.py
    • BSD-3-Clause at line 6
  • scripts/cov.py
    • BSD-3-Clause at line 6
  • scripts/code.py
    • BSD-3-Clause at line 6
  • scripts/bench.py
    • BSD-3-Clause at line 6
  • scripts/data.py
    • BSD-3-Clause at line 6
  • scripts/tailpipe.py
    • BSD-3-Clause at line 6
  • scripts/summary.py
    • BSD-3-Clause at line 6
  • scripts/changeprefix.py
    • BSD-3-Clause at line 6
  • scripts/test.py
    • BSD-3-Clause at line 6
  • bd/lfs_filebd.h
    • BSD-3-Clause at line 6
  • bd/lfs_filebd.c
    • BSD-3-Clause at line 6
  • scripts/prettyasserts.py
    • BSD-3-Clause at line 6
  • scripts/teepipe.py
    • BSD-3-Clause at line 6
  • scripts/plot.py
    • BSD-3-Clause at line 6
  • LICENSE.md
    • BSD-3-Clause at line 6
  • scripts/watch.py
    • BSD-3-Clause at line 6
  • scripts/tracebd.py
    • BSD-3-Clause at line 6
  • scripts/perfbd.py
    • BSD-3-Clause at line 6
  • bd/lfs_emubd.c
    • BSD-3-Clause at line 6
  • bd/lfs_rambd.c
    • BSD-3-Clause at line 6
  • scripts/stack.py
    • BSD-3-Clause at line 6
  • bd/lfs_emubd.h
    • BSD-3-Clause at line 6
  • bd/lfs_rambd.h
    • BSD-3-Clause at line 6
  • README.md
    • BSD-3-Clause at line 6
  • lfs.c
    • BSD-3-Clause at line 6
  • lfs_util.c
    • BSD-3-Clause at line 6
  • lfs.h
    • BSD-3-Clause at line 6

13. FOSSology Copyright Violation Report

−

No copyright violation found

No copyright violations found.

14. FOSSology Keyword Violation Report

−

No keyword violation found

No keyword violations found.

15. Compliance Findings Summary

−

Copyleft Licenses

No copyleft licenses detected.

Custom / Unresolved Licenses

No custom license references detected.

Non-Allowlisted Files

34 file(s) — see Section 12.

Files Missing License Information

None.