it-swarm.cn

我可以在商业应用程序中使用GPL软件吗

我对GPL有3个问题:

  1. 如果我在应用程序中使用GPL软件,但不修改或分发该软件,是否必须在GPL下发布我的应用程序?

  2. 如果我修改了应用程序使用的某些软件怎么办。然后,我是否必须根据GPL发布我的应用程序,或者我可以仅根据GPL条款提供经过修改的软件。

  3. 如果我使用GPL软件但不修改它,该如何在我的应用程序中分发呢?

我的例子是,我有一个PHP)框架,我使用GeSHi库突出显示了一些输出。

  1. 因为GeSHi是GPL,我的框架是否必须是GPL?

  2. 如果我将修改返回给GeSHi维护者,是否可以针对应用的特定用例修改GeSHi?

  3. 我可以使用GeSHi重新分发我的框架吗?

223
Petah

如果我在应用程序中使用GPL软件,但不修改或分发该软件,是否必须在GPL下发布我的应用程序?

答案:您的问题有点模棱两可。两种情况:

(a)如果您不分发您的应用程序,那么答案是“否”,因为您没有分发您的应用程序。例如,如果仅在公司内部使用,则您没有义务做任何事情。

(b)如果您确实分发了您的应用程序,并且使用了GPL作为应用程序的一部分(即使仅在运行时链接到库),即使您不收取任何费用,即使您不进行更改该GPL软件以任何方式出现-那么您必须使您的应用程序的源可用。

提供源代码并不意味着下载。可能是您必须收到书面请求,然后发送清单的复印件(请参阅评论:您实际上无法发送清单。这有点夸张了)。您可以收取“合理”的处理/复印费用。但是您不能逃避提供自己的源代码的义务。

如果我修改了应用程序使用的某些软件该怎么办。然后,我是否必须根据GPL发布我的应用程序,或者我可以仅根据GPL条款提供经过修改的软件。

答案:见上文。如果您使用的是GPL软件,则必须提供源代码。这包括修改后的GPL代码。

如果我使用GPL软件但不修改它,该如何在我的应用程序中分发呢?

答案:见上文。您可以分发它(GPL代码),前提是您可以使用它。

因为GeSHi是GPL,我的框架是否必须是GPL?

解答:如果您分发框架,则可以。

如果我将修改返回给GeSHi维护者,是否可以针对应用的特定用例修改GeSHi?

解答:如果需要,可以。不用了您可以对其进行修改,但是在分发应用程序时,您必须使源可用,并且还必须对库进行修改的源。

我可以使用GeSHi重新分发我的框架吗?

解答:如果需要,可以。如果您的应用程序未随GPL代码一起分发,而是让用户单独下载使用该代码,那么您的情况会有些特殊,可能会引起一些争论,但最终还是会采用相同的原则:您必须使您的资源可用。

如果要避免这些问题,则需要使用具有不同许可的东西,或者至少要使用LGPL,这将允许运行时调用库,而不会将GPL条件的病毒传播回代码。

如有疑问,您需要法律咨询。您从我这里或其他任何人那里得到的任何建议都应谨慎对待。只有律师才能给您适当的法律建议。

185
quickly_now

如果您在网站上使用它而不是重新分发可执行文件,这似乎非常不同意。

您可以复制,分发和修改软件,只要您跟踪源文件中的更改/日期并将修改保留在GPL下。您可以使用GPL库以商业方式分发应用程序,但还必须提供源代码。 GPL v3试图弥补GPL v2中的一些漏洞。

特别

如果您以可执行文件的形式分发此库,则必须通过在分发的同时提供源代码来公开源代码,或者列出一种可访问的方式(URL,物理副本)以获取源代码,为期3年。如果您通过Web门户提供服务,则不适用。

https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29

12
Maslow

免责声明:我不是律师,而且我有一段时间没读过任何版本的GPL,因此此答案在法律上可能不准确。

如果发布/分发包含GPL组件的软件(例如静态链接库),则GPL必须涵盖您的软件。 (这是对版本2的印象;版本3可能有所不同。)

如果您使用LGPL的库发布/分发软件,则GPL无需涵盖您的软件,但是这些库必须保留LGPL。

对[L] GPL组件的修改建议对创建者/维护者的贡献。我不清楚这如何影响您产品的许可。

2
Agi Hammerthief