FFmpeg is great software. It is unbelievably flexible and has a ton of functionality out of the box. It has a bit of a steep learning curve, but the user manual is quite comprehensive.
I have used it for transcoding video/audio to HLS and it has worked very well.
Ffmpeg is indeed incredible. It was the workhorse behind Remote Potato, a previous project of mine that allowed remote control and streaming of Windows Media Center TV recordings to smartphones, back in the day when that kind of thing was a novel.
FSF GPL Licenses are the only open source licenses that protect the freedom of the creator and the users (the end user who actually uses the software as a product).
Most permissive licenses only seek to protect coder / author attribution. Programmers who use such license for their code don't mind if you use it in open or closed source project as long as they are credited for creating the code used.
But the goal behind FSF GPL is to ensure both author attribution and more importantly that the source code is always available to the user. So from a user perspective, FSF GPL license guarantees more freedom to a user because using a GPL license software means the user will always have access to the source code. And so they will always have the freedom to modify it.
As a programmer, GPL gives you the right to use or modify the GPL licensed code as you want. You have to share the modifications (make your source code open and available) only if you decide to distribute your application to others. That means if I buy the application from you, GPL says I as a user must also get the complete source code of the application (if I so desire).
> But the goal behind FSF GPL is to ensure both author attribution and more importantly that the source code is always available to the user.
if I close some MIT-licensed code, and make changes, how exactly is that denying attribution or taking code away from anyone?
the code I started with is there for anyone else, untouched by me or my closed variant. if the license requires attribution, I will attribute, no problem. how does anything one person does privately with open code change anything about that code elsewhere? exactly how, please?
The GPL doesn't force you to give anything away if you've just modified the code for personal use. You only need to provide source code if you're distributing your modified software.
You're free to avoid using GPL code if you disagree with the philosophy but it is undeniable that GPL greatly improves software (for users, not corporations) like linux and ffmepg.
> The GPL doesn't force you to give anything away if you've just modified the code for personal use. You only need to provide source code if you're distributing your modified software.
I'm not free to keep my changes, though, and if I don't have those rights, it is because I've given them away at the behest of the GPL. My changes are GPL even if I never distribute them. I'm prevented from licensing that code how I choose. GPL takes my effort and forces me to either never do anything with it or to give it away to everyone.
I will never work on code that is licensed under any GPL variant. I will not donate my time to expand the functionality of that code or to fix any problem for software which supports a license that removes freedoms from the people who maintain it.
The GPL is viral and parasitic and I will not contribute to that.
Maybe I would have freely given my code away if it was MIT licensed. Maybe I would keep it for myself.
Maybe I would turn it into a commercial product.
My point is that THE CHOICE IS MINE if I work on code that is MIT licensed.
The choice is what matters to me, and the GPL forces me to give up that choice. I can't agree to that.
> I'm not free to keep my changes ... I'm prevented from licensing that code how I choose.
You seem to believe that your rights trumps everyone else's. You are ignoring that it is not just your code.
If somebody has released the source code under the GPL license, they are the original copyright holder(s) giving you permission to reuse the code under certain conditions (as outlined in the GPL license). They choose the GPL license because they believe GPL protects their rights, and the open source philosophy best, as the GPL license ensures that the code they created will always be open source when changed and distributed by other coders.
Instead of complaining about other people's choice of license (GPL or MIT), think instead of how you would like your open source code to be used by others and what license you would choose to achieve those goals. You are free to do whatever you want with your original code and thus can license it however you want. But once you start reusing other people's code, their rights and beliefs also matter. If you don't subscribe to their belief, then obviously you have no choice but to not use their code.
> once you start reusing other people's code, their rights and beliefs also matter. If you don't subscribe to their belief, then obviously you have no choice but to not use their code.
The only way I know for sure about their rights and beliefs is via the requirements in the license. If they want me to comply with further ideals, codify those in the license. I am not obligated to believe that the code is in use by aliens from planet Xobnar, as an extreme example.
If I comply with the license, the requirements are met, and I am free to use the code.
> The only way I know for sure about their rights and beliefs is via the requirements in the license.
Yes, and so you have to comply with the license or not use their code. If you distribute some code with some conditions for its reuse described in a license, would you like it if I called your conditions / license "stupid", ignore it and still use your code as I see fit (which would be illegal)? Obviously no.
> you're making up events that are not part of this
Part of what?
You've asked how does person not contributing changes upstream hurt the community. I gave an example of a real-world scenario which has happened with permissive software many times. How is it a strawman?
No company of any significance would ever use it, for licensing issues. Now that is totally the choice of ffmpeg, and they are more that free to chose it. They may believe in the "all software should be free mantra", and again, that is totally fine. But it does significantly limit it's use, which again they may not care about.
I've certainly worked at companies which used LGPL software without any concern at all. Arguably, they weren't "significant" but they did examine the license and what it meant and felt it posed no risk.
I have used it for transcoding video/audio to HLS and it has worked very well.