gstreamer/subprojects/gst-plugins-bad/ext/openaptx/meson.build

21 lines
573 B
Meson
Raw Normal View History

openaptx_sources = [
'openaptx-plugin.c',
'gstopenaptxdec.c',
'gstopenaptxenc.c',
]
openaptx: Fix to v0.2.0 due to license change openaptx has recently changed its license to explicitly exclude 'Freedesktop projects' from using it, which would include GStreamer, as well as shifting to base terms of GPLv3: https://github.com/pali/libopenaptx/commit/811bc18586d634042618d633727ac0281d4170b8 This unilateral license change is legally dubious in many ways. The original work came from ffmpeg under the LGPL v2.1, to which third parties may not add additional restrictions (per sections 2 and 7 of the LGPL v2.1), so LGPLv2.1 + may-not-use restrictions are not permissible without the explicit consent of the original copyright holder. The upgrade to LGPL v3.0 without explicit consent from the original copyright holder is in itself permissible through the upgrade terms of the LGPL, however the additional restrictions imposed again conflict with sections 7 and 10 of the GPLv3 (as the base of the LGPLv3, with those sections not being invalidated by the additional LGPLv3 text). Though it does not impact the legal validity of the redeclaration of licensing, the claims that freedesktop.org has violated the terms of the openaptx license in the past are false; the work was contributed to the PulseAudio project with an explicit open license, with the original contributor later attempting to revoke permission for its use, despite the explicit terms of the license giving no ability to do so as they lack a change-of-heart provision. The claims that Collabora violated the license are even more baseless; they are based on an assertion that when I (acting on behalf of freedesktop.org rather than Collabora, in my own unpaid time) banned users from freedesktop.org's GitLab instance due to sustained violations of the Code of Conduct users agree to when creating an account on that platform, this somehow constituted a violation of the license. Even if Collabora were somehow involved in this - which they were not at all - there is no requirement under open licenses that users be given unlimited access under all terms to any platform on the internet. Such terms would mean that open development could only be conducted on completely unmoderated platforms, which does not stand up to any scrutiny. Regardless of the declared license having no legal validity, the LGPL's explicit provision in both v2.1 and v3.0 for such additional restrictions to be stripped, and the low likelihood of it ever being used together with GStreamer as its licensing terms would not be acceptable to any distribution, enforcing a version check seems like the safest way to ensure complete legal clarity, not put users or downstreams in any jeopardy, and comply with the author's stated wishes for v0.2.1 and above to not be used by GStreamer. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235>
2021-05-11 12:57:59 +00:00
openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
if openaptx_dep.found()
gstopenaptx = library('gstopenaptx',
openaptx_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, openaptx_dep],
install : true,
install_dir : plugins_install_dir,
)
pkgconfig.generate(gstopenaptx, install_dir : plugins_pkgconfig_install_dir)
plugins += [gstopenaptx]
endif