【发布时间】:2020-01-07 08:04:03
【问题描述】:
我们想在我们的网站上使用 phpmailer https://github.com/PHPMailer/PHPMailer。我在 GitHub 和 Google 上阅读了所有我能找到的内容,但无法理解如何在我们的网站上使用 phpmailer 给予适当的评价。
它必须在网站上可见还是可以是 hmtl 源代码中的注释?
措辞应该怎么写?
【问题讨论】:
我们想在我们的网站上使用 phpmailer https://github.com/PHPMailer/PHPMailer。我在 GitHub 和 Google 上阅读了所有我能找到的内容,但无法理解如何在我们的网站上使用 phpmailer 给予适当的评价。
它必须在网站上可见还是可以是 hmtl 源代码中的注释?
措辞应该怎么写?
【问题讨论】:
您不需要给予任何信任,但如果你这样做当然很好 - 一个简单的“我们使用 PHPMailer”和 github 项目的链接将是合适的。这同样适用于您使用的任何其他开源项目。
the LGPL 2.1 license that PHPMailer uses 的主要限制是,如果您对库本身进行任何更改(您通常不需要这样做),这些更改将继承 LGPL 许可证,并且应按需提供源代码。请注意,这并不意味着您需要发布应用程序的源代码或 使用 PHPMailer 的代码 - 这是完整 GPL 许可证的要求,PHPMailer 不使用;这是 GPL 和 LGPL 许可的主要区别。
当然,支持开源项目的另一种方式是通过GitHub、Patreon 和类似网站捐赠/赞助它们及其维护者,或者如果您是一家公司,请考虑Tidelift。
【讨论】:
您提供的链接清楚地说明了(检查您链接的页面标题中的信息):
条件
如果您提供一个链接到已经在 LGPL 下安装在服务器上的库,那么根本没有问题,因为它将是动态链接的。但是,如果您在分发包中将 PHPMailer 作为“供应商”库提供,您需要在文档中添加一个部分,该部分清楚地说明并描述如何用您自己的库或修改后的库替换此库,而不会丢失整体功能除非它像库本身一样在 LGPL 下获得许可,否则不需要此脚本。正如 Synchro 已经提到的,您在 PHP 邮件程序上所做的所有更改都继承了 LGPL 许可证,并且还必须提及您对原始代码所做的更改。
阅读许可证的第 2d) 点!
d) 如果修改后的库中的设施引用了一个函数或一个 由应用程序提供的数据表,该应用程序使用 设施,而不是作为当设施时传递的参数 被调用,那么您必须真诚地努力确保, 如果应用程序不提供此类功能或 表,该设施仍在运行,并执行任何部分 它的目的仍然有意义。
在 PHPMailer 的情况下,这可能很容易实现,因为您不需要 oh-mailer 作为基本工具,它可以轻松动态链接,但即像 Smarty 这样的模板引擎,甚至更密集的 php-gettext 不能很容易被“删掉”,并且应用程序可能不再以有意义的方式工作!如果您将 GNU-GPL 代码信息复制粘贴到一个空文件并简单地删除标题并且不再提及 GNU GPL 代码的原始开发者,这也无济于事。
即(抱歉,这是一个 php-gettext 示例,但它说明了在您的软件产品中使用 GPL 或 LGPL 许可部分的主要问题。
Header of the GNU GPL version which clearly states its developers and the GNU GPL license
【讨论】: