x264/x265 licensing #1333
-
In #869 there was talk of not being able to use x264 / x265 in OME due to licensing conflicts, wherein it was suggested that x264 and x265 are GPLv2 only rather than "GPLv2 or later". I wanted to share some information in case it's useful. It would appear that both x264 and x265 are actually "GPLv2 or later", rather than "GPLv2 only". That being the case, I believe it is okay from a licensing perspective to use both x264 and x265 in OME. OME is AGPLv3. x264
x265
GNU Compatability Matrix: I might be missing something, but figured this might be important information for the community to be aware of, and might enable OME to make use of x264 and x265 encoders for live transcoding. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 3 replies
-
Thank you for the detailed clarification. Disclaimer - I am not a licensing expert, so I may not be accurate. If I'm mistaken about this, please let me know. :) |
Beta Was this translation helpful? Give feedback.
-
I am also not someone who can give legal advice on open source licenses. But I read the FAQ URL below and thought that as long as OME maintains AGPLv3, GPLv2+ cannot be combined. |
Beta Was this translation helpful? Give feedback.
-
The FAQ section mentions "Please note that the GNU AGPL is not compatible with GPLv2". This is true, it is not compatible with GPLv2, but I believe the crux of the matter is that you can treat x264 and x265 as GPLv3 (because their licenses are "GPLv2 or later") and in doing so, can use them in an AGPLv3 project like OME:
The part of the FAQ that @getroot referred to states:
I believe this means that whilst you can't take AGPLv3 code and directly relicense or distribute it as GPLv3 (or vice versa), you can have AGPLv3 and GPLv3 side-by-side in a project. Additionally, on the GNU website above the compatability matrix screenshot in my previous comment, it states "Each place that the matrix states GPLv3, the same statement about compatibility is true for AGPLv3 as well." I am not a lawyer, but I do think this is a way to include x264/x265 in OME whilst maintaining AGPLv3. |
Beta Was this translation helpful? Give feedback.
-
Might be helpful in the considerations here: I am still using a 1+ year old OME codebase where ffmpeg is used for encoding instead of openh264, because of the result of ffmpeg encoder being a LOT better quality at similar settings when streaming content with music visualizations that have lots of bright -> dark -> bright changes and lots of fragments while using quite low video bitrates (1.1Mb/s) and quite low resolution (360p). ffmpeg encoder gives a good result even at preset faster, while the result of openh264 is what I would call potato-quality even at preset medium, while using same streamed video and same other settings. Would be cool to be able to maybe specify different licensed-build-targets which then use the best allowed encoder/decoder for it, so that someone who is not a big company can still use ffmpeg, while a big company would for example have to pay license fees or use the free/open encoder which has lower encoding quality. |
Beta Was this translation helpful? Give feedback.
-
For some added clarification, I contacted VideoLan for their thoughts and Jean provided the below
So, from VideoLan's perspective, OME are fine to use libx264 |
Beta Was this translation helpful? Give feedback.
-
What is required to re-introduce x264? I guess reversing 2044f7e and updating the versions wouldn't be enough? |
Beta Was this translation helpful? Give feedback.
For some added clarification, I contacted VideoLan for their thoughts and Jean provided the below
So, from VideoLan's perspective, OME are fine to use libx264