e2fsprogs (GPL-2.0) required as macOS host dependency — request for configurable path and permissive alternatives
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Problem Statement
e2fsprogs (GPL-2.0) required as macOS host dependency — request for configurable path and permissive alternatives
Summary
The OpenShell sandbox rootfs (sandbox-bootstrap-rootfs-ext4-v3-openshell-*) bundles e2fsprogs binaries and libraries, some of which are licensed under GPL-2.0. We need clarification on:
- Why these GPL binaries are included in the rootfs
- What compliance obligations apply when distributing the rootfs
- Whether these binaries can be removed or replaced with permissively-licensed alternatives
Bundled Files
Analysis of the rootfs shows 13 filesystem entries from e2fsprogs:
| File | Type | License |
|---|---|---|
bin/mke2fs |
binary | GPL-2.0 |
bin/debugfs |
binary | GPL-2.0 |
bin/mkfs.ext4 |
symlink → mke2fs | — |
sbin/mke2fs |
binary (bit-identical to bin/mke2fs) | GPL-2.0 |
sbin/debugfs |
binary (bit-identical to bin/debugfs) | GPL-2.0 |
sbin/mkfs.ext4 |
symlink → mke2fs | — |
lib/libext2fs.2.1.dylib |
dylib | LGPL-2.0 |
lib/libe2p.2.1.dylib |
dylib | LGPL-2.0 |
lib/libblkid.2.0.dylib |
dylib | LGPL-2.1 |
lib/libcom_err.1.1.dylib |
dylib | MIT-derived |
lib/libss.1.0.dylib |
dylib | MIT-derived |
lib/libuuid.1.1.dylib |
dylib | BSD-3-Clause |
lib/libintl.8.dylib |
dylib (gettext) | LGPL-2.1 |
Environment
- OpenShell version: 0.0.74, 0.0.83
- Rootfs:
sandbox-bootstrap-rootfs-ext4-v3-openshell-0.0.74 - Platform: macOS (Apple Silicon)
Impact
This is blocking enterprise distribution of products built on OpenShell until compliance approach is clarified.
References
- e2fsprogs upstream: https://e2fsprogs.sourceforge.net/
- e2fsprogs source: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
- GPL-2.0 license: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Proposed Design
Questions
-
Purpose: What functionality in OpenShell requires
mke2fsanddebugfs? Are they used at runtime or only during rootfs build? -
Removal: Can these binaries be excluded from the distributed rootfs if they're only needed at build time?
-
Compliance approach: If these must be distributed, what is NVIDIA's recommended compliance approach?
- Include license text in rootfs?
- Provide source code URL in documentation?
- Other?
-
Alternatives: Are there plans to replace GPL-2.0 tools with permissively-licensed alternatives (e.g., for ext4 operations)?
Alternatives Considered
GPL-2.0 Compliance Requirements
When distributing GPL-2.0 binaries, the following obligations apply:
- Include GPL-2.0 license text with the distribution
- Provide access to source code — either bundled or via written offer valid for 3 years
- No additional restrictions beyond the GPL
Agent Investigation
No response
Checklist
- I've reviewed existing issues and the architecture docs
- This is a design proposal, not a "please build this" request
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the architecture docs and the bundled sandbox-bootstrap-rootfs-ext4-v3-openshell-* contents listed in the issue. Determine whether bin/mke2fs, debugfs, and their libraries are needed at runtime or only during rootfs construction, then document the required compliance approach and whether configurable paths or replacements are feasible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100