允许在 OpenLibs.dev 目录中安全使用在线服务和 Client-Side 库的开源许可证政策
我们在流行的开源解决方案之上开发自己的交互式 Web 应用程序和用户界面 (UI),而不修改库本身的原始源代码。我们严格监控所用组件的法律合规性,仅选择安全的宽松(permissive)许可证。这为我们服务的使用者以及在商业项目中使用我们示例的开发人员确保了 100% 的法律安全。
面向用户 应用
面向开发者 库
开源许可证兼容性快速指南
| 许可证 | 准入状态 | 商用许可 | 闭源自有代码 (UI) |
|---|---|---|---|
| Unlicense | 允许 | 是 | |
| MIT | 允许 | 是 | 是 (需保留版权声明) |
| Apache 2.0 | 允许 | 是 | 是 (需保留版权声明) |
| BSD-2-Clause | 允许 | 是 | 是 (需保留版权声明) |
| BSD-3-Clause | 允许 | 是 | 是 (需保留版权声明) |
| ISC | 允许 | 是 | 是 (需保留版权声明) |
| MPL 2.0 | 有条件 (安全) | 是 | 是 (若未修改模块本身代码) |
| LGPLv3 | 有条件 (安全) | 是 | 是 (采用动态连接时) |
| GPLv3 | 禁止 | 存在风险 | 否 (要求公开整个网站的源码) |
| AGPLv3 | 禁止 | 存在风险 | 否 (完全传染型 Copyleft) |
| CC-BY-NC | 禁止 | 存在风险 | 不适用 (禁止商用) |
关于许可证的常见问题
是的,100% 安全。我们精心挑选工具,确保它们完全基于宽松型许可证(MIT、Apache 2.0、BSD-2-Clause、BSD-3-Clause、ISC、Unlicense)或弱传染型 Copyleft 许可证(MPL 2.0、LGPLv3)。您可以自由地在您封闭的商业项目中使用这些交互式示例,没有任何隐藏义务。
MPL 2.0 许可证仅在您直接修改库本身的源文件时才要求开源该文件。由于我们是在库的基础上开发自定义用户界面和包装层(Wrapper UI Layer),完全不触碰其原始代码,因此不会触发 Copyleft 条件。您的专有代码将保持完全封闭。
在传统软件中,LGPLv3 要求动态链接库,以便用户能够自主更换其版本。在代码由打包工具(Vite、Webpack 等)合并的客户端 Web 领域中,这一界限在法律上较为模糊。然而在 OpenLibs.dev 上使用是完全安全的:我们不将它们集成到核心中,而是将其作为完全隔离的外部模块连接。由于库的源码未被修改,且您的网站仅通过外部 API 与其进行交互,因此 Copyleft 效果不会延伸到您自己的成果中——网站的商业代码可以保持 100% 封闭。
Client-Side Only
宽松型许可证 (最大自由度)
MIT License
最理想JS 环境中最流行的许可证。允许对代码进行任何操作:修改、出售、闭源或嵌入到商业软件中。
客户端:开发人员只需在页面的代码中保留原始的作者署名声明即可。
ISC License
npm 默认MIT 的法律等价物,但文本被缩短为一个段落。由 npm init 命令生成的法律基准许可证。
客户端:对 Web 应用程序完全安全。除了保留版权声明外,没有任何限制。
Apache 2.0
专利保护允许商用和代码闭源,但此外还能保护开发人员免受专利纠纷和专利流氓的侵害。
客户端:如果直接在网站上修改了库的代码,则必须指明哪些文件已被修改。
BSD (2/3-Clause)
安全允许自由使用、修改和销售。3-Clause 版本明确禁止将库作者的名字用于网站的广告宣传。
客户端:与任何商业前端项目完全兼容。
Unlicense / CC0 (公有领域)
公有领域在全世界范围内完全且无条件地放弃任何版权。代码转为公共使用,不属于任何人。
客户端:我们网站的用户有权复制一个 JS 函数、擦除所有提及并将其作为自己的代码呈现。完全没有任何限制。
安全型 Copyleft (弱相互协议)
MPL 2.0 (Mozilla Public License)
文件级 Copyleft该许可证仅保护库本身,而不保护通过脚本调用它的 Web 应用程序代码。非常适合隔离的 JS 模块。
客户端:开发人员可以在其商业网站上自由使用此 JS 库。但如果修改了库本身文件内的代码,则必须公开这些修改后的文件(例如在 GitHub 上创建 Fork)。网站的主代码受到保护并保持封闭。
LGPLv3 (GNU Lesser General Public License)
动态连接许可证要求用户能够自主更换库的版本。在代码被打包的 Web 环境中,这会产生法律细节,但在正确的架构下它仍然是安全的。
客户端:如果在不与应用程序主代码进行静态合并(打包)的情况下,将其作为隔离的外部模块(例如通过 CDN)连接,或通过其 API 进行交互,则可以在商业网站上自由使用此库。只要不修改原始库代码,Copyleft 条件就不会激活,您的商业代码将保持完全封闭。
许可证详情 (双重许可)
双重许可 (例如 MIT / GPLv3)
选择 MIT 时安全一些 JS 库(如流行的 JSZip)会同时在两个许可证下提供。这样做是为了与大型 GPL 项目(如 WordPress)保持兼容。
客户端:您拥有选择 MIT 许可证的法律权利。您的 Web 应用程序代码将保持私有和封闭,GPLv3 的限制不会影响到您。