-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Critical Notice: The mutagen library (v1.47.0) is licensed under GPL v2 or later, which is a copyleft license. This requires special attention:
- May require source code disclosure when distributing
- Could affect commercial distributions
- Recommended to consider making it an optional dependency or finding MIT/BSD-licensed alternatives
All Other Dependencies:
✅ Are compatible with MIT License (BSD, Apache 2.0, MIT, etc.)
✅ Suitable for both commercial and non-commercial use
The document is production-ready and provides all necessary information for compliance, legal review, and distribution planning.
What is the mutagen library?
⏺ Based on the dependency information and project context, mutagen is a Python library for reading and writing audio file metadata (tags). Here's what you need to know:
What is Mutagen?
Mutagen is a Python library that handles audio metadata for various audio file formats. It allows you to:
- Read and write ID3 tags (MP3 files)
- Handle metadata for various formats: MP3, MP4, FLAC, Ogg Vorbis, Ogg Opus, etc.
- Extract audio file properties (duration, bitrate, sample rate, etc.)
- Modify audio file tags programmatically
Why is it in vCon Library?
In the vCon Library context, mutagen is used for audio metadata extraction when dealing with audio recordings in dialogs. The vCon specification supports audio/video recordings as part of conversations, and
mutagen helps extract technical details about these audio files.
The GPL License Issue
This is the important part:
- License: GPL v2 or later (strong copyleft)
- Issue: GPL requires derivative works to also be GPL-licensed
- Impact: While the vCon Library is MIT-licensed, including mutagen creates a licensing complication
Alternatives to Consider
If you want to avoid GPL licensing concerns, here are MIT/BSD-licensed alternatives:
- tinytag (MIT License) - Lightweight audio metadata reader
- mediafile (MIT License) - Audio file metadata handling
- eyed3 (GPL - same issue)
- Make it optional - Only load mutagen if the user explicitly installs it
Recommendation
You might want to:
- Make mutagen an optional dependency (only needed for advanced audio metadata features)
- Switch to tinytag (MIT-licensed alternative)
- Keep it but clearly document the GPL requirement in your distributions