-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Open
Labels
[Feature] Client Side MediaMedia processing in the browser with WASMMedia processing in the browser with WASM[Type] Tracking IssueTactical breakdown of efforts across the codebase and/or tied to Overview issues.Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Description
What problem does this address?
WordPress is licensed “GPLv2 or later" and we must ensure that all libraries used for client side media processing are used compatibly. Based on media experiments and reviewing the initial requirements, several potential incompatibilities arose that require further investigation.
External dependencies requiring review
Library: libultrahdr built into libvips image library
Issue: Google's libultrahdr for HDR (High Dynamic Range) image support libultrahdr is licensed under Apache 2.0
Library: libheif-js
Issue: LGPL-3.0 is incompatible with WordPress license. Cannot be bundled directly in WordPress core.
Potential solutions
- Exclude the library (for example by creating a custom libvips build)
- Don’t include the library at all, continue using server (for example for HEIC support)
- Load the incompatible library from a feature plugin - by shipping the library in a separate feature plugin, we can choose a different license to avoid the incompatibility
- Load the library from a CDN at runtime - by avoiding shipping/bundling the library with WordPress, we avoid the license incompatibility
Compatible libraries
Client side media can leverage several libraries that do use incompatible licenses. Those are included here for completeness:
- wasm-vips: MIT license
- @ffmpeg/ffmpeg: MIT
- @ffmpeg/core: LGPL/GPL
- @shopify/web-worker: MIT (although officially deprecated, this library is stable)
- exifreader: MPL-2.0 (requires attribution)
- blurhash: MIT
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
[Feature] Client Side MediaMedia processing in the browser with WASMMedia processing in the browser with WASM[Type] Tracking IssueTactical breakdown of efforts across the codebase and/or tied to Overview issues.Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Type
Projects
Status
No status