1. 关于许可
构建新应用程序时,利用开源的服务。我们必须注意的最重要的事情之一是许可证,尤其是当我们构建闭源、专有应用程序时。
举个例子。假设我们正在尝试为我们的新服务选择合适的 RDMBS。在潜在的选择中,一些突出的可能是 MySQL 和 PostgreSQL。考虑到他们的许可,我们得到了以下注释。
-
MySQL 许可证
-
MySQL 根据 - GNU 通用公共许可证 (GPL) 免费用于商业用途。这意味着您可以免费使用、修改和分发 MySQL 只要您的应用程序也是 - 开源* 且符合 GPL 许可条款。
-
但是,如果您想将 MySQL 集成到闭源 或专有 应用程序中,您可能需要 Oracle 的商业许可证(拥有 MySQL 的公司)以避免 GPL 的义务,例如发布您的源代码。
-
总而言之,对于 MySQL,我们只有当我们开源我们的依赖项目时才能免费使用它,否则我们必须有一个Oracle 的许可证
-
PostgreSQL 许可证
-
PostgreSQL 可免费在闭源应用程序中使用。它是在PostgreSQL许可证下发布的,这与MIT许可证非常相似。
这意味着:
- 您可以使用、修改和分发 PostgreSQL 而无需支付任何费用。
- 您可以将 PostgreSQL 作为专有、闭源应用程序的一部分而无需发布应用程序的源代码。
- 许可证不要求您开源您的软件(如果您使用 PostgreSQL 作为软件的一部分)。
-
PostgreSQL 被认为是一个宽容的开源数据库,使其成为开源和专有软件的绝佳选择。
2. 一些常见的软件许可证
以下是一些最常见的软件许可证,包括开源和商业许可证:
-
麻省理工学院许可证
-
类型:宽容
-
主要功能:允许用户使用、复制、修改、合并、发布、分发、再许可和销售软件副本。
-
限制:需要归属(即保留原始许可和版权声明)。
-
GNU 通用公共许可证 (GPL)
-
类型:Copyleft
-
主要功能:用户可以在同一许可证下使用、修改和分发软件。
-
限制:要求衍生作品在同一 GPL 许可证下获得许可。用户在分发软件时必须提供源代码。
-
Apache 许可证 2.0
-
类型:宽容
-
主要功能:允许用户使用、修改和分发软件,并明确授予专利权。
-
限制:需要归属和许可证副本,以及任何修改的通知。
-
BSD 许可证(2 条款和 3 条款)
-
类型:宽容
-
主要功能:允许用户使用、修改和分发软件。
-
限制:需要归属。 3 条款 BSD 许可证还包含一项条款,禁止使用项目或贡献者的名称进行推广。
-
Mozilla 公共许可证 (MPL) 2.0
-
类型:弱 Copyleft
-
主要功能:允许用户使用、修改和分发软件,但对 MPL 覆盖的代码的修改必须在同一许可证下可用。
-
限制:源代码更改必须在 MPL 下共享,但可以与其他专有或许可代码结合。
-
知识共享许可证(CC0、BY、BY-SA)
-
类型:变化(公共领域、许可、copyleft)
-
主要功能:更常用于文档或图像等创意作品,而不是软件。 CC0 是公共领域奉献,而 BY 需要归属。
-
限制:根据许可证类型而变化; BY-SA 要求衍生作品使用相同的许可证。
-
Eclipse 公共许可证 (EPL)
-
类型:弱 Copyleft
-
主要功能:与 MPL 类似,它允许使用、修改和分发,但要求修改后的文件保留在 EPL 下。
-
限制:如果分发,修改必须是开源的,但可以与专有软件结合。
-
专有许可证
-
示例:Microsoft 软件许可证、Adobe 最终用户许可协议 (EULA)
-
类型:商业/专有
-
主要功能:允许在公司定义的特定条件下使用该软件。
-
限制:用户不能修改、分发,有时甚至不能检查软件的源代码。
-
公共领域(例如无许可证、CC0)
-
类型:公共领域奉献
-
主要功能:将软件置于公共领域,允许任何人不受限制地使用、修改或分发。
-
限制:无,但不适合需要一定程度的保护或归属的项目。
-
GNU 较宽松通用公共许可证 (LGPL)
-
类型:弱 Copyleft
-
主要功能:允许软件链接到专有软件,只要对 LGPL 许可的组件本身的修改是开源的。
-
限制:需要对 LGPL 库进行修改才能使用,但允许与闭源软件链接。
这些许可证在处理分发、修改和归属要求的方式上有所不同,提供不同程度的自由度和限制。
3. 闭源专有应用程序的许可证。
对于闭源、专有应用程序,不要求您披露您的源代码的许可 合适。用于此目的的一些常见许可证包括:
MIT 许可证:虽然主要用于开源项目,但它允许其他人自由使用、修改和分发软件,即使在专有应用程序中也是如此,而无需披露其源代码.
Apache License 2.0:与 MIT 许可证类似,它允许在闭源项目中使用,并具有额外的专利保护。它不需要分发源代码。
否则您将必须为以下许可证之一付费。
专有许可证:您可以从 Oracle(适用于 MySQL)等供应商购买专有许可证,这允许您以闭源方式使用他们的软件。
商业许可证:许多公司提供明确允许闭源使用的商业许可证,并且可能包括其他支持或功能。
以上是使用开源时必须注意的事项的详细内容。更多信息请关注PHP中文网其他相关文章!