Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KERNEL: Replace ST for license issue. #907

Closed
winlinvip opened this issue May 29, 2017 · 4 comments
Closed

KERNEL: Replace ST for license issue. #907

winlinvip opened this issue May 29, 2017 · 4 comments
Assignees
Labels
Enhancement Improvement or enhancement. TransByAI Translated by AI/GPT. Won't fix We won't fix it.
Milestone

Comments

@winlinvip
Copy link
Member

winlinvip commented May 29, 2017

Please read https://github.com/ossrs/srs/wiki/LicenseMixing, we want to replace ST with some library or create a new one, because ST uses MPL 1.1 or GPLv2 LICENSE.

@winlinvip winlinvip added the Enhancement Improvement or enhancement. label May 29, 2017
@winlinvip winlinvip added this to the srs 4.0 release milestone May 29, 2017
@winlinvip
Copy link
Member Author

winlinvip commented May 29, 2017

SRS won't replace ST, because the MPL LICENSE is ok.

@winlinvip
Copy link
Member Author

winlinvip commented May 30, 2017

Seems MPL is fine to used in MIT project, so we haven't to replace it.
The modified version of MPL retains the copyright of the original author, but there are no usage restrictions. It can be used in other licenses such as MIT or in commercial software. Reference:

  1. Comparison of free and open-source licenses
  2. Detailed Explanation of Open Source Software Licensing Agreements (GPL/MPL/LGPL/BSD/Apache Licence/Creative Commons/MIT)
  3. License Agreements BSD GPL MPL LGPL APL

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

winlinvip commented Mar 21, 2021

Firefox is licensed under MPL, while Chrome uses the more permissive BSD license.

This video explains it very clearly.

  1. MPL is a file-level license, unlike GPL which is a project-level license. Therefore, ST's files need to comply with the MPL license, while newly added files do not need to comply with the MPL license.
  2. MPL-licensed files can be directly included in SRS (or statically linked), unlike LGPL which requires dynamic linking. This is because MPL is a file-level license, so other files in SRS can be considered as newly added files and will not be infected with MPL.
  3. If you modify a file that was originally licensed under MPL, you must release it under MPL as well. This requirement is similar to GPL. So, if you modify SRS, it's not a problem, but if you modify ST's code, you must open-source it. Otherwise, you would be violating the MPL license (but SRS does not violate it because all modifications in SRS comply with MPL).

SRS supports linking ST as both static and dynamic libraries by default, with static linking being the default option. You can enable dynamic linking by using ./configure --use-shared-st=on. Both static and dynamic library linking are compliant with the regulations.

https://youtu.be/YlKtCDJquSw
https://www.mozilla.org/en-US/MPL/
https://blog.csdn.net/xiaoxiao133/article/details/83049959
https://zhuanlan.zhihu.com/p/118582418

Please note that the description of MPL in the following figure is not accurate. It does not clearly express that including files directly or linking MPL with static libraries is also compliant. It only states that newly added files do not have to be MPL.

image

TRANS_BY_GPT3

@winlinvip winlinvip self-assigned this Sep 15, 2021
@winlinvip winlinvip added the Won't fix We won't fix it. label Sep 15, 2021
@winlinvip
Copy link
Member Author

winlinvip commented Sep 15, 2021

The MPL license is ok for SRS MIT, to use --shared-st=on.

sh-3.2$ ./configure -h|grep shared-st
  --shared-st=on|off        Use shared libraries for ST which is MPL license. Default: off

@winlinvip winlinvip added the TransByAI Translated by AI/GPT. label Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvement or enhancement. TransByAI Translated by AI/GPT. Won't fix We won't fix it.
Projects
None yet
Development

No branches or pull requests

1 participant