4 ms·
Be careful how you use ffmpeg. ffmpeg is LGPLed. you can call it like a DLL. You can not run some compiler/transpiler on top of it that combines it with other n
by greggman3 7y ago
Be careful how you use ffmpeg. ffmpeg is LGPLed. you can call it like a DLL. You can not run some compiler/transpiler on top of it that combines it with other non GPLable code. AFAICT you must keep the LGPLed code a separate file and connect at runtime. Which means sticking in npm and running a standard bundler over it so it gets all put into a single file would either make your code illegal or require you to also release your app as LGPL (assuming the 650 other deps you probably pulled in were LGPL compatible)
- TrevorSundberg 7y agoThis is a good point, actually this might be what ffmpeg.js is already doing. I was wondering why they went out of the way to run the worker and pull ffmpeg code from unpkg.com, but I suppose that makes sense now! Thanks for the tip, I'm certainly no legal expert!
- FraKtus 7y agoIf you use the GPL license what codec are you using when encoding? If I remember right the H264 encoder is not in the GPL version.
- TrevorSundberg 7y agoI am using H264, but I'm now considering other options!
- abetusk 7y agoThis is the standard for GPL licenses and your focus on this particular aspect of the license amounts to FUD. LGPL, GPL and many other copyleft licenses are in common usage across the ecosystem, including the Linux kernel. From Wikipedia[1]: "... The license allows developers and companies to use and integrate a software component released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. ... " " ... For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. ..." [1] https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_Lice...
- greggman3 7y agoI am not spreading FUD and I am not dissing the license. FFmeg is great software. My only point is the standard build process for JavaScript versions will go against the license. If you just do the equivalent of npm install --save ffmpeg.js webpack You've may have just built something that must be LGPLed. That's a good thing to know so you can take steps to honor the license and either LGPL your stuff or keep ffmeg out of your build process and just link it at runtime as the license requires
- pwdisswordfish2 7y agoLGPL does not require dynamic linking; what it requires is to distribute the application in a form which allows the user to replace the LGPL-covered parts. Dynamic linking is one way to accomplish this, but not the only one.
- greggman3 7y agoDo you have links to shipping examples of these other methods short of making your app open source?