Skip to content

LicenseMixing

Winlin edited this page Jul 15, 2021 · 67 revisions

HOME > License

SRS used some third party libraries, which are distributed using their own licenses. This wiki describes the licenses about SRS and related libraries.

SRS用到了第三方库,可能是有自己授权,这个WIKI介绍了SRS和相关库的LICENSE问题。

I am not a lawyer and this is not legal advice!

注意我不是个律师,所以这不是法律建议,请找相关专业人士确认。

FOSSA Status

SRS

SRS 1/2/3/4/5

SRS uses MIT license that is very liberal. SRS 4.0(and later) use SPDX-License-Identifier: MIT, to make it more simple, by following the specification of SPDX, which is also used by POCO and Linux Kernel, etc.

SRS使用的是MIT协议,非常宽松,可以在商业化中使用的。 SRS 4.0(以及后续版本),简化和规范了LICENSE申明,参考Use SPDX-License-Identifier: MITSPDX是Linux基金会的规范,被POCOLinux Kernel等广泛使用。

State Threads

The State Threads library is a derivative of the Netscape Portable Runtime library (NSPR) and therefore is distributed under the Mozilla Public License (MPL) version 1.1 or the GNU General Public License (GPL) version 2 or later.

State Threads库是由Netscape发起的项目,采用双LICENSE授权,可以用MPL 1.1,或者GPL v2(或更新)。

You can choose which of the two licenses you want or you can continue the dual license. Commercial interests probably will choose the MPL, and free software advocates likely will prefer the GPL.

你可以选择这两个授权中的任意一个LICENSE,商业应用可能会选择MPL,而开源软件也可以选择GPL。

SRS自己是MIT,所以选择的ST的LICENSE也是MPL,这样协议上才能兼容。

For more information, please read LICENSE of ST.

ST(State Threads) is forked from SourceForge and SRS uses the patched ST. ST uses GPLv2 or MPL. Well, MPL is nice for commercial products, please read #907.

Remark: For MPL license, please use ./configure --shared-st=on to link ST by shared library.

注意SRS如果需要使用State Threads的MPL授权,那么要开启./configure --shared-st=on,采用库的方式链接。

OpenSSL

OpenSSL(May be used for SSL/TLS support) Uses an Original BSD-style license with an announcement clause that makes it "incompatible" with GPL. You are not allowed to ship binaries that link with OpenSSL that includes GPL code (unless that specific GPL code includes an exception for OpenSSL - a habit that is growing more and more common). If OpenSSL's licensing is a problem for you, consider using another TLS library.

Remark: SRS can be built with system ssl library libssl.so and libcrypto.so by ./configure --use-sys-ssl.

OpenSSL是BSD风格的LICENSE,如果有疑问可以用动态库链接./configure --use-sys-ssl

http-parser

http-parser is part of NGINX, that uses 2-clause BSD-like license.

http-parser是NGINX的一部分,授权是用的BSD授权。

JSON

SRS2

NXJSON uses LGPL LICENSE.

SRS2 depends on NXJSON. SRS3 has replaced NXJSON with json-parser which uses BSD license.

SRS2用到了NXJSON,是用的LGPL授权。

SRS3+

The JSON library json-parser uses BSD 2-clause "Simplified" License.

SRS3+ uses json-parser, read #904.

SRS3换成了json-parser,是用的BSD授权。

SRT

SRS4

libsrt use MPL 2.0, please read #1147.

For SRS to use shared library libsrt.so, please use ./configure --srt=on --shared-srt=on, please see f44224a.

libsrt是MPL 2.0授权,可以用./configure --srt=on --shared-srt=on动态库链接。

FFmpeg

SRS4

FFmpeg use LGPL, we will support ./configure --ffmpeg-fit=on --shared-ffmpeg=on to build and link in so, see d526672.

  • Opus uses BSD, to transcode RTC(opus) to Live(aac).

FFmpeg是LGPL,如果用--enable-gpl开启了GPL就是GPL了。SRS未来会支持./configure --ffmpeg-fit=on --shared-ffmpeg=on来动态库链接FFmpeg。

USRSCTP

SRS4

The usrsctp is BSD-3-Clause, for WebRTC DataChannel, #1809.

usrsctp是BSD授权。

Utility

SRS forks FFMPEG process to transcode or ingest, however user can use other encoders.

SRS2

SRS2 uses the following functions, which have license problems and have been replaced in SRS3+:

  1. ff_hex_to_data: For RTSP to parse the hex string. SRS3 replaced by golang hex at 41c6e833 and #917.
  2. srs_av_base64_decode: For RTSP to parse the base64 by FFMPEG. SRS3 replaced by golang base64 at 84f81983 and #917.
  3. srs_crc32_mpegts: For TS to build the crc32 checksum by FFMPEG. SRS3 replaced by pycrc at 0a63448 and #917.
  4. srs_crc32_ieee: For kafka to build the crc32 checksum. SRS3 replaced by pycrc code at 0a63448 and #917.

Please read #917.

SRS2有些函数用到了FFmpeg的函数,这些是有LICENSE问题;在SRS3之后全部改掉了。

Welcome to SRS wiki!

SRS 5.0 wiki

Please select your language:

SRS 4.0 wiki

Please select your language:

SRS 3.0 wiki

Please select your language:

SRS 2.0 wiki

Please select your language:

SRS 1.0 wiki

Please select your language:

Clone this wiki locally