6 ms·
> FFmpeg compiled to WebAssembly handles final encode FFmpeg's license is the LGPL 2.1. VidStudio looks like closed source software, I couldn't see any indicat
by elpocko 6mo ago
> FFmpeg compiled to WebAssembly handles final encode
FFmpeg's license is the LGPL 2.1. VidStudio looks like closed source software, I couldn't see any indication that it's free software. You're distributing this software to run in the client's browser. I'm not a lawyer but I think you're in breach of the terms of the LGPL.
https://www.ffmpeg.org/legal.html https://www.ffmpeg.org/legal.html
- senko 6mo agoLGPL permits that. However, some popular codecs use GPL, which, if enabled, would require to distribute the rest of the code under it as well.
- elpocko 6mo agoLGPL permits you to distribute binaries, but you can't distribute the software as an opaque binary blob with no reasonable way to modify it. What even is the equivalent of a shared library that a user can replace when software runs in the browser? Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist".
- trinix912 6mo ago> Anyway, OP doesn't do most of the things FFmpeg lists under their "License Compliance Checklist". Legitimately asking, which points and how are they expected to handle it for this type of app (assuming they want to keep it closed source)? As far as I understand it they just need to credit the libraries?
- elpocko 6mo agoThe important thing is there has to be a clear separation between the proprietary parts and the LGPL parts of the app, and they have to provide a way to replace the LGPL parts. I have no idea how this is usually handled in the case of browser-based apps.
- actionfromafar 6mo agoUser must be able to replace the LGPL library with their own version of the library.
- senko 6mo agoNot disagreeing with you, but cases like these really highlight how (L)GPL can nudge vendors into doing more closed solutions with greater lock-in. For example, we're complaining about a licensing issue for an app that can run locally (in your browser, no uploads needed). The licensing issues can easily be side-stepped by the the developer if they chose instead to do all the media manipulation in the backend. In the end, for the user this means they have to upload & trust a random service with their data, potentially can't get raw data out, and other negative side-effects of lock in.
- deleted 6mo ago[deleted]
- prhn 6mo agoClosed source is fine, but there are a few other things that are required of LGPL, some of which are - Provide links to the source of the version of ffmpeg you used in your code - User should be able to replace the ffmpeg libs with his own compatible builds if you're using dynamically linked libs. For statically linked libs, you need to provide the tools to re-link against a compatible build. I went through an LGPL review recently so some of this is fresh in my memory, but please correct me if I'm wrong.
- xixixao 6mo agoDynamically and statically linked libs is hilarious in the context of webassembly running in the browser.
- circuit10 6mo agoYou can have multiple WASM modules communicating with each other (though you would probably need extra interop code?), or statically link them into a single module, the concepts work mostly the same
- giancarlostoro 6mo agoWith a browser plugin I'm sure you could swap out a WASM module on the fly, if said plugin doesn't exist, maybe it should. Would make debugging in a prod URL simpler if you can just load a page with a testing WASM file.
- jaakl 6mo agoIs there a browser plugin enabling to swap out any parts of a website/app with own ones? With prompt/vibe-based input, so any user can customize websites in any imaginable way. Maybe it should.
- mghackerlady 6mo agoI knew about the soft copyleft (the source code requirements) but didn't know there was the requirement to have libs be replaceable. Now I want to know how useful that would be in reverse engineering closed systems (particularly nintendos, since I've always had an interest in the homebrew scene there)
- CodesInChaos 6mo agoIt should be possible to comply with LGPL without publishing the source code of the whole application. Either by running the application and ffmpeg in different isolates (wasm processes), or by offering a way to merge (link) the wasm code of the closed-source application with a user compiled FFmpeg wasm build. Different isolates might even be enough to satisfy GPL, similar to how you can invoke FFmpeg as a command line tool from a closed application. Though that feels like legally shaky ground.
- kolx 6mo agoThanks for sharing. Will look into it
- kolx 6mo agoThank you for pointing this out, to be completely honest, I did not consider licensing because the website started as a collection of tools I built to run locally and get into video/audio codecs then I realised it is already a decent collection of tools that other people might want to use too. But I will be making the needed changes to comply fully tonight. At least I comply with this: `Do not misspell FFmpeg (two capitals F and lowercase "mpeg")` I realised I have some more reading to do regarding GPL vs LGPL because of the wasm project.
- freedomben 6mo agoAny reason not to just open source it? Personally I'd love to hack on it :-) IANAL, but IMHO AGPL would be a good fit here as it complies with LGPL and also ensures nobody besides you (the copyright holder) can stand it up for profit without contributing back).
- netdevphoenix 6mo ago> Any reason not to just open source it? Mmmm...potential commercialisation? Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes).
- freedomben 6mo ago> Mmmm...potential commercialisation? Hence why I asked the question... And not everybody does everything for commercial reasons, so it would be dumb to assume that and therefore not ask the question. > Always find it curious that people expect to get source code for free in ways that they don't do for other work (ask George Martin to release his drafts and notes). Where in my question did you get that I expect to get source code for free in ways that I don't for other work? But regardless, you do know that open source is a common thing right? People open source things all the time, especially on HN. Also OP already says they don't do any uploading of your videos to the cloud, so this thing already runs local-only. It's not like there is a shortage of video editors around (including ... open source ... video editors)
- sreekanth850 6mo agoLGPL allow you to use the library in closed source.
- whateveracct 6mo agoYes but you must distribute in a way where it's trivial to link in another version of the library. So a single wasm blob is a violation.