mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-25 17:16:00 +03:00
[GH-ISSUE #1655] Should ArchiveBox be using the GPL2 due to mutagen dependency? #2503
Labels
No labels
expected: maybe someday
expected: next release
expected: release after next
expected: unlikely unless contributed
good first ticket
help wanted
pull-request
scope: all users
scope: windows users
size: easy
size: hard
size: medium
size: medium
status: backlog
status: blocked
status: done
status: idea-phase
status: needs followup
status: wip
status: wontfix
touches: API/CLI/Spec
touches: configuration
touches: data/schema/architecture
touches: dependencies/packaging
touches: docs
touches: js
touches: views/replayers/html/css
why: correctness
why: functionality
why: performance
why: security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ArchiveBox#2503
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @erwin on GitHub (Feb 10, 2025).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1655
Originally assigned to: @pirate on GitHub.
Provide a screenshot and describe the bug
I noticed that you're using the GPL2 licensed "mutagen" to grab wav/flac/mp3 audio file info:
Since Mutagen is GPL2 licensed, and this is runtime use of the GPL2 licensed code directly by your app, I believe that you are also obligated to use the GPL2 license.
I believe that MIT licensed tinytag should provide similar functions, if you're interested in preserving your MIT license.
Hopefully that's helpful to you! If you need any help with that, let me know.
Steps to reproduce
Logs or errors
ArchiveBox Version
How did you install the version of ArchiveBox you are using?
Other
What operating system are you running on?
Linux (Ubuntu/Debian/Arch/Alpine/etc.)
What type of drive are you using to store your ArchiveBox data?
data/is on a local SSD or NVMe drivedata/is on a spinning hard drive or external USB drivedata/is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.)data/is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.)Docker Compose Configuration
ArchiveBox Configuration
@pirate commented on GitHub (Feb 10, 2025):
ok added to backlog.
I'd gladly take a PR if anyone wants to take a crack at it (o3 or Cladue could probably swap it out easily).
@Intralexical commented on GitHub (Feb 10, 2025):
I think MIT should be fine.
But downstream proprietary versions that bundle Mutagen might not.
You can also just cut and paste any code that interacts with Mutagen into its own module, and run it with
subprocess.run()instead ofimport.@Intralexical commented on GitHub (Feb 10, 2025):
...Also, where is this code using Mutagen? GitHub and
grepdon't find it.https://github.com/search?q=repo%3AArchiveBox%2FArchiveBox%20mutagen&type=code
Google says it's actually from a TTS program? Not ArchiveBox?
github.com/coqui-ai/TTS@5dcc16d193/TTS/tts/datasets/dataset.py (L47-L53)@pirate commented on GitHub (Feb 10, 2025):
ahh yeah after more digging the only mutagen dependency we have is through
yt-dlp, closing because ArchiveBox doesn't directly use mutagen at all and ArchiveBox definitely qualifies as an aggregate. All communication with extractors is done by spawning separate subprocesses, we don't import extractor code directly.