README: reworked section about OpenSSL-3.0.0

This commit is contained in:
fduncanh
2021-11-21 16:10:12 -05:00
parent 622b5e773e
commit 286e04d82b
3 changed files with 58 additions and 22 deletions

View File

@@ -4,7 +4,12 @@
<p><em><strong>New:</strong> UxPlay &gt; 1.38 now also supports the Airplay audio-only protocol as well as AirPlay Mirror protocol, and (when the client screen is not being mirrored) can play Apple Lossless (ALAC) 44100/16/2 audio streamed from the client in 2-channel stereo without video (the accompanying cover-art and metadata is received by the server, but not displayed). The initial connection to the client can be in AirPlay audio mode, or an initial Airplay Mirror connection can be switched to Airplay audio by closing the Mirror window and reconnecting in audio-only mode (this changes back to AAC audio if screen mirroring is (re)started).</em></p>
<p>UxPlay is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. (UxPlay only uses GStreamer, and does not contain the alternative Raspberry-Pi-specific audio and video renderers also found in RPiPlay.) Tested on Ubuntu 20.04, Linux Mint 20.2, OpenSUSE 15.3, macOS 10.15, FreeBSD 13.0.</p>
<p>Features: 1. Based on Gstreamer. 2. Video and audio are supported out of the box. 3. Gstreamer decoding is plugin agnostic. Uses accelerated decoders if available. VAAPI is preferable, (but dont use VAAPI with nVidia). 4. Automatic screen orientation.</p>
<p><strong>Note for packagers: UxPlay can be built to use the “libcrypto” shared library from the recently-released OpenSSL- 3.0.0, which has a new Apache v2 license that is explicitly compatible with GPL v3 (see <a href="https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/">this announcement</a> and <a href="https://www.openssl.org/blog/blog/2017/03/22/license/">this</a>). The new license resolves a long-standing controversy over whether OpenSSL is a “System Library” to which GPL code can be freely linked, or not, in which case an explicit “GPL exception” must added to the GPL license by all the authors (the historical origins of the UxPlay code make this impossible). Packagers for distributions such as Debian that do not allow exception-free linking of GPL v3 code to OpenSSL-1.1.1 under its old “dual OpenSSL/SSLeay” license should use the “Apache v2” backwards-compatible OpenSSL-3.x (or replace the AES decryption code in lib/crypto.[c,h], that is a wrapper for OpenSSL, with a GPL implementation). The license issue only involves distribution of compiled code, not source code.</strong></p>
<h3 id="note-to-packagers-openssl-3.0.0-solves-gpl-v3-license-issues.">Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.</h3>
<p>UxPlay can be built to use the “libcrypto” shared library from the recently-released OpenSSL- 3.0.0, which has a new Apache v2 license that is explicitly compatible with GPL v3 (see <a href="https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/">this announcement</a> and <a href="https://www.openssl.org/blog/blog/2017/03/22/license/">this</a>).</p>
<p>The new license resolves a long-standing controversy over whether OpenSSL is a “System Library” to which GPL code can be freely linked, or not, in which case an explicit “GPL exception” must be added to the GPL license by all the authors (the historical origins of the UxPlay code make this impossible). <strong>The license issue only involves distribution of compiled code, not source code.</strong></p>
<p>Packagers for distributions such as Debian that do not allow exception-free linking of GPL v3 code to OpenSSL-1.1.1 under its old “dual OpenSSL/SSLeay” license should use the “Apache v2” OpenSSL-3.x, which is backwards-compatible with UxPlay.</p>
<p>As a possible help for packaging the uxplay binary for distributions that do not allow linking GPL v3 code to OpenSSL-1.1.1, and have not yet provided OpenSSL-3.0.0 packages, “cmake -DSTATIC_OPENSSL3=ON ….” will build uxplay that is statically linked to libcrypto.a that has been built from OpenSSL-3.x source, and installed in the default location (/usr/local/…); this can be uninstalled after UxPlay is compiled.</p>
<p>An alternative is to replace the AES decryption code in lib/crypto.[c,h] (which is a wrapper for calls to OpenSSLs libcrypto) with a GPL implementation).</p>
<h1 id="getting-uxplay">Getting UxPlay:</h1>
<p>Either download and unzip <a href="https://github.com/FDH2/UxPlay/archive/refs/heads/master.zip">UxPlay-master.zip</a>, or (if git is installed): “git clone https://github.com/FDH2/UxPlay”.</p>
<p><em>This is a pull request on the original site https://github.com/antimof/UxPlay ; it may or may not ever get committed into the codebase on the antimof site, as that project appears to no longer be active. If the pull request ever gets committed, replace “FDH2” by “antimof” in the above.</em></p>

View File

@@ -37,19 +37,36 @@ Features:
available. VAAPI is preferable, (but don't use VAAPI with nVidia).
4. Automatic screen orientation.
**Note for packagers: UxPlay can be built to use the "libcrypto" shared library
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
UxPlay can be built to use the "libcrypto" shared library
from the recently-released OpenSSL- 3.0.0,
which has a new Apache v2 license that is explicitly compatible with GPL v3
(see [this announcement](https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/) and
[this](https://www.openssl.org/blog/blog/2017/03/22/license/)). The new license resolves a
long-standing controversy over whether OpenSSL is a "System Library" to which GPL code can be
freely linked, or not, in which case an explicit "GPL exception" must added to the GPL license
[this](https://www.openssl.org/blog/blog/2017/03/22/license/)).
The new license resolves a long-standing controversy over whether OpenSSL is a
"System Library" to which GPL code can be freely linked, or not, in which case
an explicit "GPL exception" must be added to the GPL license
by all the authors (the historical origins of the UxPlay code make this impossible).
**The license issue only involves distribution of compiled code, not source code.**
Packagers for distributions such as Debian that do not allow exception-free linking
of GPL v3 code to OpenSSL-1.1.1 under its old "dual OpenSSL/SSLeay" license should use the
"Apache v2" backwards-compatible OpenSSL-3.x (or replace the AES decryption code in
lib/crypto.[c,h], that is a wrapper for OpenSSL, with a GPL implementation).
The license issue only involves distribution of compiled code, not source code.**
"Apache v2" OpenSSL-3.x, which is backwards-compatible with UxPlay.
As a possible help for packaging the uxplay binary for distributions that do not allow
linking GPL v3 code to OpenSSL-1.1.1, and have not yet provided OpenSSL-3.0.0 packages,
"cmake -DSTATIC_OPENSSL3=ON ...." will build uxplay that is statically
linked to libcrypto.a that has been built from OpenSSL-3.x source, and installed in the default
location (/usr/local/...); this can be uninstalled after UxPlay is compiled.
An alternative is to replace the AES decryption code in
lib/crypto.[c,h] (which is a wrapper for calls to OpenSSL's libcrypto)
with a GPL implementation).
# Getting UxPlay:

View File

@@ -44,23 +44,37 @@ the box. 3. Gstreamer decoding is plugin agnostic. Uses accelerated
decoders if available. VAAPI is preferable, (but don't use VAAPI with
nVidia). 4. Automatic screen orientation.
**Note for packagers: UxPlay can be built to use the "libcrypto" shared
library from the recently-released OpenSSL- 3.0.0, which has a new
Apache v2 license that is explicitly compatible with GPL v3 (see [this
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
UxPlay can be built to use the "libcrypto" shared library from the
recently-released OpenSSL- 3.0.0, which has a new Apache v2 license that
is explicitly compatible with GPL v3 (see [this
announcement](https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/)
and [this](https://www.openssl.org/blog/blog/2017/03/22/license/)). The
new license resolves a long-standing controversy over whether OpenSSL is
a "System Library" to which GPL code can be freely linked, or not, in
which case an explicit "GPL exception" must added to the GPL license by
all the authors (the historical origins of the UxPlay code make this
impossible). Packagers for distributions such as Debian that do not
allow exception-free linking of GPL v3 code to OpenSSL-1.1.1 under its
old "dual OpenSSL/SSLeay" license should use the "Apache v2"
backwards-compatible OpenSSL-3.x (or replace the AES decryption code in
lib/crypto.\[c,h\], that is a wrapper for OpenSSL, with a GPL
implementation). The license issue only involves distribution of
and [this](https://www.openssl.org/blog/blog/2017/03/22/license/)).
The new license resolves a long-standing controversy over whether
OpenSSL is a "System Library" to which GPL code can be freely linked, or
not, in which case an explicit "GPL exception" must be added to the GPL
license by all the authors (the historical origins of the UxPlay code
make this impossible). **The license issue only involves distribution of
compiled code, not source code.**
Packagers for distributions such as Debian that do not allow
exception-free linking of GPL v3 code to OpenSSL-1.1.1 under its old
"dual OpenSSL/SSLeay" license should use the "Apache v2" OpenSSL-3.x,
which is backwards-compatible with UxPlay.
As a possible help for packaging the uxplay binary for distributions
that do not allow linking GPL v3 code to OpenSSL-1.1.1, and have not yet
provided OpenSSL-3.0.0 packages, "cmake -DSTATIC\_OPENSSL3=ON ...." will
build uxplay that is statically linked to libcrypto.a that has been
built from OpenSSL-3.x source, and installed in the default location
(/usr/local/...); this can be uninstalled after UxPlay is compiled.
An alternative is to replace the AES decryption code in
lib/crypto.\[c,h\] (which is a wrapper for calls to OpenSSL's libcrypto)
with a GPL implementation).
Getting UxPlay:
===============