openwebrtc Dependencies and Licenses


本文列举了在openwebrtc 构建  framework 过程中 依赖的三方库,  以及这些  三方库的licenses。



There are many projects required by OpenWebRTC to provide different parts of the functionality needed for WebRTC. This page is meant to help summaries the dependencies that are used by the project as well as their software licenses. For specific licenses, you need to find each project's license text - see here for an outdated list.

This page is not intended to be an introduction to how to work with Open Source software, rather a helping hand once you know that.

Also, the authors of this page are not lawyers. As when using any software in your own application, it is your responsibility to adhere to the licenses of that software.

Overview

OpenWebRTC has a mix of licenses amongst its dependencies - BSD, LGPL, MIT, etc. Each license has its own requirements, normally the copyright and license needs to be presented in any application written using the software. Some licenses have more significant requirements.

OpenSSL

OpenWebRTC uses OpenSSL for various encryption/decryption tasks. The OpenSSL licenses are said to be incompatible with GPL. You therefore cannot use OpenSSL as part of a GPL application and must modify the various dependencies of OpenWebRTC to use other cryptography libraries, such as gnutls if you wish to write a GPL application. This does not impact applications whose own license is not GPL.

LGPL v2 / v2.1

When packaged together, the requirements of all licenses must be met. However, BSD, MIT and similar licenses tend to only require that you present the copyright and license text in your application. LGPL v2 / v2.1 and later have stronger requirements. You must adhere to these requirements if you wish to use OpenWebRTC in an application.

It is recommended that you read the LGPL license texts:

To our non-lawyer eyes, an application using OpenWebRTC needs to adhere to at least one of the points in Section 6. As our attempt to help, when making releases, we also publish source code tarballs that include the cerbero build system as well as all the source code that gets downloaded when building for that target. This then contains all of the source code that is actually built by cerbero to make the OpenWebRTC binary releases.

Build System

ProjectLicense
cerberoLGPLv2.1

Build Tools

ProjectLicense
android-sdkApache 2.0 (/GPLv2 for some code portions)
autoconfGPLv3+
automakeGPLv2+
bisonGPLv3+
bzip2BSD
flexBSD
gas-preprocessorGPLv2
gettextGPLv3
gnome-commonGPLv2
gperfGPLv2
gtk-doc-liteGPLv2+ / GPLv3
intltoolGPLv2
libtoolGPLv2
m4GPLv2
ndkApache 2.0 (/GPLv2 for some code portions)
pkg-configGPLv2
sed 
tarGPLv3
xzGPLv3
yasmGPLv3

Dependencies

ProjectLicense
bionic-fixupApache 2.0
glibLGPLv2+
gnustlLGPLv2.1
gobject-introspectionGPLv2 tools / LGPLv2.1 library
gst-plugins-bad-1.0Mixed, depends on the plugin
gst-plugins-base-1.0LGPLv2.1+
gst-plugins-good-1.0LGPLv2.1+
gstreamer-1.0LGPLv2.1+
icuICU License: http://source.icu-project.org/repos/icu/icu/trunk/license.html
javascriptcoregtkLGPLv2.1/BSD
json-glibLGPLv2.1+
libffiBSD
libiconvGPLv3+ tools / LGPLv2+ library
libniceLGPLv2.1+ and MPL 1.1
libsoupLGPLv2
libsrtpBSD
libusrsctpBSD
libvpxBSD
libxml2MIT
openh264BSD
opensslBSD-style but incompatible with GPL https://github.com/openssl/openssl/blob/master/LICENSE
opusBSD
orcBSD
seedLGPLv2+
zlibBSD

GStreamer Plugins

ProjectPluginLicense
gst-plugins-badvideoparsersbadLGPLv2.1+
gst-plugins-goodalawLGPLv2.1+
gst-plugins-goodmulawLGPLv2.1+
gst-plugins-baseappLGPLv2.1+
gstreamercoreelementsLGPLv2.1+
gst-plugins-badinterLGPLv2.1+
gst-plugins-basevideorateLGPLv2.1+
openwebrtc-gst-pluginsandroidvideosourceBSD 2-clause
gst-plugins-badapplemediaLGPLv2.1+
gst-plugins-badopenslesLGPLv2+
gst-plugins-goodosxaudioLGPLv2.1+
gst-plugins-goodvideo4linux2LGPLv2.1+
gst-plugins-baseaudioconvertLGPLv2.1+
gst-plugins-baseaudioresampleLGPLv2.1+
openwebrtc-gst-pluginsercolorspaceBSD 2-clause
gst-plugins-basevideoconvertLGPLv2.1+
gst-plugins-goodvideocropLGPLv2.1+
gst-plugins-goodvideofilterLGPLv2.1+
gst-plugins-basevideoscaleLGPLv2.1+
gst-plugins-basevolumeLGPLv2.1+
gst-plugins-goodrtpLGPLv2.1+
gst-plugins-goodrtpmanagerLGPLv2.1+
gst-plugins-baseaudiotestsrcLGPLv2.1+
gst-plugins-basevideotestsrcLGPLv2.1+
gst-plugins-badopenglLGPLv2.1+
gst-plugins-goodvpxLGPLv2.1+
gst-plugins-bad (was in openwebrtc-gst-plugins)dtlsBSD 2-clause
libniceniceLGPLv2.1+
gst-plugins-bad (was in openwebrtc-gst-plugins)openh264BSD 2-clause
gst-plugins-goodpulseaudioLGPLv2.1+
openwebrtc-gst-pluginssctpBSD 2-clause
gst-plugins-badsrtpLGPLv2.1+
gst-plugins-badopusLGPLv2.1+
openwebrtc-gst-pluginsvideorepairBSD 2-clause

OpenWebRTC Project

ProjectLicense
openwebrtcBSD 2-clause
openwebrtc-gst-pluginsBSD 2-clause
openwebrtc-android-sdkBSD 2-clause
openwebrtc-ios-sdkBSD 2-clause
openwebrtc-examplesBSD 2-clause
bowserBSD 2-clause






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dependencies是指在项目中所需的依赖包。在npm中,有两个区块可以用来管理依赖包,分别是devDependenciesdependencies。devDependencies是用于开发环境的依赖,而dependencies是用于生产环境的依赖。\[1\] 使用npm i命令安装依赖包时,可以使用--save或-S参数来将依赖写入dependencies区块,使用--save-dev或-D参数来将依赖写入devDependencies区块。如果不写任何参数,则默认是本地安装,依赖会被写入dependencies区块。\[1\] 在package.json文件中,devDependencies区块中的依赖只用于开发环境,不会被用于生产环境。而dependencies区块中的依赖不仅可以在开发环境使用,也可以在生产环境使用。具体使用哪种环境的依赖是通过配置文件中的NODE_ENV来指定的。\[1\] 总结一下,如果开发的是一个工程项目,可以根据规范将依赖包安装在devDependenciesdependencies中,虽然没有实质性的区别,但为了规范起见,建议进行区分。如果开发的是一个组件库,建议将代码运行引用的库放在dependencies中,其他编译打包、eslint校验、开发相关的包放在devDependencies中。\[2\] 在安装一个组件时,使用npm install A命令,A组件依赖的devDependencies不会被下载,只会下载A组件的dependencies。在构建服务器配置的执行命令是npm install时,无论依赖包安装在devDependencies还是dependencies中,都没有区别,都会被下载。但是如果开发的项目作为一个组件库,建议严格管理好devDependenciesdependencies。\[3\] #### 引用[.reference_title] - *1* *2* *3* [dependencies和devDependencies的区别](https://blog.csdn.net/Selina_lxh/article/details/127573921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值