搜索
首页数据库mysql教程使用开源时必须注意的事项

Must Notes When Using Open Sources

1. 关于许可

构建新应用程序时,利用开源的服务。我们必须注意的最重要的事情之一是许可证,尤其是当我们构建闭源专有应用程序时。

举个例子。假设我们正在尝试为我们的新服务选择合适的 RDMBS。在潜在的选择中,一些突出的可能是 MySQL 和 PostgreSQL。考虑到他们的许可,我们得到了以下注释。

  1. MySQL 许可证

    • MySQL 根据 - GNU 通用公共许可证 (GPL) 免费用于商业用途。这意味着您可以免费使用、修改和分发 MySQL 只要您的应用程序也是 - 开源* 且符合 GPL 许可条款。
    • 但是,如果您想将 MySQL 集成到闭源专有 应用程序中,您可能需要 Oracle 的商业许可证(拥有 MySQL 的公司)以避免 GPL 的义务,例如发布您的源代码。
    • 总而言之,对于 MySQL,我们只有当我们开源我们的依赖项目时才能免费使用它,否则我们必须有一个Oracle 的许可证
  2. PostgreSQL 许可证

    • PostgreSQL 可免费在闭源应用程序中使用。它是在PostgreSQL许可证下发布的,这与MIT许可证非常相似。 这意味着:
    • 您可以使用、修改和分发 PostgreSQL 而无需支付任何费用。
    • 您可以将 PostgreSQL 作为专有闭源应用程序的一部分而无需发布应用程序的源代码。
    • 许可证不要求您开源您的软件(如果您使用 PostgreSQL 作为软件的一部分)。
    • PostgreSQL 被认为是一个宽容的开源数据库,使其成为开源和专有软件的绝佳选择。

2. 一些常见的软件许可证

以下是一些最常见的软件许可证,包括开源和商业许可证:

  1. 麻省理工学院许可证

    • 类型:宽容
    • 主要功能:允许用户使用、复制、修改、合并、发布、分发、再许可和销售软件副本。
    • 限制:需要归属(即保留原始许可和版权声明)。
  2. GNU 通用公共许可证 (GPL)

    • 类型:Copyleft
    • 主要功能:用户可以在同一许可证下使用、修改和分发软件。
    • 限制:要求衍生作品在同一 GPL 许可证下获得许可。用户在分发软件时必须提供源代码。
  3. Apache 许可证 2.0

    • 类型:宽容
    • 主要功能:允许用户使用、修改和分发软件,并明确授予专利权。
    • 限制:需要归属和许可证副本,以及任何修改的通知。
  4. BSD 许可证(2 条款和 3 条款)

    • 类型:宽容
    • 主要功能:允许用户使用、修改和分发软件。
    • 限制:需要归属。 3 条款 BSD 许可证还包含一项条款,禁止使用项目或贡献者的名称进行推广。
  5. Mozilla 公共许可证 (MPL) 2.0

    • 类型:弱 Copyleft
    • 主要功能:允许用户使用、修改和分发软件,但对 MPL 覆盖的代码的修改必须在同一许可证下可用。
    • 限制:源代码更改必须在 MPL 下共享,但可以与其他专有或许可代码结合。
  6. 知识共享许可证(CC0、BY、BY-SA)

    • 类型:变化(公共领域、许可、copyleft)
    • 主要功能:更常用于文档或图像等创意作品,而不是软件。 CC0 是公共领域奉献,而 BY 需要归属。
    • 限制:根据许可证类型而变化; BY-SA 要求衍生作品使用相同的许可证。
  7. Eclipse 公共许可证 (EPL)

    • 类型:弱 Copyleft
    • 主要功能:与 MPL 类似,它允许使用、修改和分发,但要求修改后的文件保留在 EPL 下。
    • 限制:如果分发,修改必须是开源的,但可以与专有软件结合。
  8. 专有许可证

    • 示例:Microsoft 软件许可证、Adobe 最终用户许可协议 (EULA)
    • 类型:商业/专有
    • 主要功能:允许在公司定义的特定条件下使用该软件。
    • 限制:用户不能修改、分发,有时甚至不能检查软件的源代码。
  9. 公共领域(例如无许可证、CC0)

    • 类型:公共领域奉献
    • 主要功能:将软件置于公共领域,允许任何人不受限制地使用、修改或分发。
    • 限制:无,但不适合需要一定程度的保护或归属的项目。
  10. GNU 较宽松通用公共许可证 (LGPL)

    • 类型:弱 Copyleft
    • 主要功能:允许软件链接到专有软件,只要对 LGPL 许可的组件本身的修改是开源的。
    • 限制:需要对 LGPL 库进行修改才能使用,但允许与闭源软件链接。

这些许可证在处理分发、修改和归属要求的方式上有所不同,提供不同程度的自由度和限制。

3. 闭源专有应用程序的许可证。

对于闭源专有应用程序不要求披露您的源代码的许可 合适。用于此目的的一些常见许可证包括:

  1. MIT 许可证:虽然主要用于开源项目,但它允许其他人自由使用、修改和分发软件,即使在专有应用程序中也是如此,而无需披露其源代码.

  2. Apache License 2.0:与 MIT 许可证类似,它允许在闭源项目中使用,并具有额外的专利保护。它不需要分发源代码。

否则您将必须为以下许可证之一付费。

  1. 专有许可证:您可以从 Oracle(适用于 MySQL)等供应商购买专有许可证,这允许您以闭源方式使用他们的软件。

  2. 商业许可证:许多公司提供明确允许闭源使用的商业许可证,并且可能包括其他支持或功能。

以上是使用开源时必须注意的事项的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何使用Alter Table语句在MySQL中更改表?如何使用Alter Table语句在MySQL中更改表?Mar 19, 2025 pm 03:51 PM

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

如何为MySQL连接配置SSL/TLS加密?如何为MySQL连接配置SSL/TLS加密?Mar 18, 2025 pm 12:01 PM

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

您如何处理MySQL中的大型数据集?您如何处理MySQL中的大型数据集?Mar 21, 2025 pm 12:15 PM

文章讨论了处理MySQL中大型数据集的策略,包括分区,碎片,索引和查询优化。

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么?Mar 21, 2025 pm 06:28 PM

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

如何使用Drop Table语句将表放入MySQL中?如何使用Drop Table语句将表放入MySQL中?Mar 19, 2025 pm 03:52 PM

本文讨论了使用Drop Table语句在MySQL中放下表,并强调了预防措施和风险。它强调,没有备份,该动作是不可逆转的,详细介绍了恢复方法和潜在的生产环境危害。

您如何用外国钥匙代表关系?您如何用外国钥匙代表关系?Mar 19, 2025 pm 03:48 PM

文章讨论了使用外国密钥来代表数据库中的关系,重点是最佳实践,数据完整性和避免的常见陷阱。

如何在JSON列上创建索引?如何在JSON列上创建索引?Mar 21, 2025 pm 12:13 PM

本文讨论了在PostgreSQL,MySQL和MongoDB等各个数据库中的JSON列上创建索引,以增强查询性能。它解释了索引特定的JSON路径的语法和好处,并列出了支持的数据库系统。

如何保护MySQL免受常见漏洞(SQL注入,蛮力攻击)?如何保护MySQL免受常见漏洞(SQL注入,蛮力攻击)?Mar 18, 2025 pm 12:00 PM

文章讨论了使用准备好的语句,输入验证和强密码策略确保针对SQL注入和蛮力攻击的MySQL。(159个字符)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具