Skip to content

Should ArchiveBox be using the GPL2 due to mutagen dependency? #1655

@erwin

Description

@erwin

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:

def get_audio_size(audiopath):
    extension = audiopath.rpartition(".")[-1].lower()
    if extension not in {"mp3", "wav", "flac"}:
        raise RuntimeError(f"The audio format {extension} is not supported, please convert the audio files to mp3, flac, or wav format!")

    audio_info = mutagen.File(audiopath).info
    return int(audio_info.length * audio_info.sample_rate)

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

Issue is related to licensing.

Logs or errors

No log steps are necessary.

ArchiveBox Version

v0.8.5

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?

  • some of data/ is on a local SSD or NVMe drive
  • some of data/ is on a spinning hard drive or external USB drive
  • some of data/ is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.)
  • some of data/ is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.)

Docker Compose Configuration

ArchiveBox Configuration

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions