Web服务和开源库 - 许可

Bar*_*ter 32 licensing gpl

能否请你提出这是众所周知的"开源"许可证允许我使用专有的Web服务,这些牌照(互联网向公众开放),这我不会让开源下库.

我可以在某处说明我正在使用该库,我可以分享我在库中所做的更改.

我猜GPL在这里不起作用,因为我不打算将整个产品作为GPL发布,还有什么其他选择?

这就是我发现的关于Meebo和libpurple的内容:

我有一个许可问题.你觉得,鉴于libpurple代码库的GPL状态,Meebo使用libpurple是可以接受的吗?据Meebo的网站上后,他们觉得自己并不需要发布自己的源代码,因为他们不直接分发二进制程序给客户(因为Meebo的是一个Web应用程序).我想问的原因是因为我想使用的libpurple的代码库开始一个项目,我想知道的许可限制是什么.

libpurble开发人员回答说没关系:-S

另外,我发现了这个:

该漏洞被称为是一个"应用服务提供商"(因此"ASP"),通过运行程序和(大概)获得任何好处来自于让人们在整个访问正在运行的程序了然于胸的copyleft许可证的自由的好处网络; 但是提供者可以争辩说他们自己并没有重新分配这些工作,所以他们没有义务为收件人提供同样的自由.

这表示我们可以在Web服务中使用GPL v2和v3代码,而我们不会自行分发应用程序(例如像google那样).那是对的吗?

Bri*_*ell 37

对于那些不想全部阅读的人来说,这是一个很长的答案:

tl; dr:除非许可证是AGPL,否则您不必担心在自己的服务器上运行代码.如果使用GPLed JavaScript库,则必须发布源代码,但这些并不常见.在某些情况下,即使您不需要,也可以发布修改.

这表示我们可以在Web服务中使用GPL v2和v3代码,而我们不会自行分发应用程序(例如像google那样).那是对的吗?

是的,这是正确的.许多公司在内部使用他们自己的GPL代码修改版本,而不必分发修改.

来自GPLv3:

"宣传"作品意味着对作品采取任何行动,未经许可,将使您根据适用的版权法直接或二次承担侵权责任,但在计算机上执行或修改私人副本除外.传播包括复制,分发(有或没有修改),向公众提供,以及在一些国家也有其他活动.

"传达"作品意味着任何类型的传播,使其他方能够制作或接收副本.仅仅通过计算机网络与用户进行交互而不传送副本,不会传达.

...

只要您的许可证仍然有效,您可以无条件地制作,运行和传播您未传达的有盖作品.您可以将承保的作品传达给他人,其唯一目的是让他们专门为您进行修改,或者为您提供运行这些作品的设施,前提是您遵守本许可证的条款,以传达您无法控制的所有材料版权.那些为您制作或运行有盖作品的人必须在您的指导和控制下,专门代表您这样做,禁止他们在与您的关系之外制作您受版权保护的材料的任何副本.

这意味着您有权在自己的服务器上使用和修改程序,即使用户远程与其进行交互,也没有任何附加条件,例如提供源代码,如果您"传达"了将自己编程给另一个用户.因此,只要您在自己的服务器上内部使用它,就可以将修改后的GPL代码运行到您的内容中,而无需将修改后的源代码分发给其他任何人.

GPLv2许可也不会限制运行自己的服务器上的代码,因此不要求你发布你的修改的源代码,但它是一个有点不太明确这个案子比GPLv3的(这是很清楚的):

本许可不包括复制,分发和修改以外的活动; 它们超出了它的范围.运行本程序的行为不受限制,只有当本程序的内容构成基于本程序的作品(独立于运行本程序时)时,才涵盖本程序的输出.这是否真实取决于该计划的作用.

来自GPLv2 FAQ:

一家公司正在网站上运行GPL程序的修改版本.GPL是否说他们必须发布修改后的来源?
GPL允许任何人制作修改版本并使用它而无需将其分发给其他人.该公司正在做的是一个特例.因此,该公司不必发布修改后的来源.
人们必须有自由进行修改并私下使用它们,而不必发布这些修改.

AGPL是设计需要您将源代码发布给你的用户,即使你只是运行它的服务器上的许可证.它的创建是因为GPL没有提供这样的限制,有些人希望对他们的软件有这样的限制.然而,在AGPL下发布的软件并不像GPLv2和v3那么多.

FSF列出的几乎所有免费软件许可证或OSI列出的开源许可证对在您自己的服务器上运行代码没有任何限制.

现在,需要注意的一点是,以上所有内容仅适用于在您自己的服务器上运行的代码.发送到客户端并在其计算机上运行的JavaScript代码完全不同.在这种情况下,GPL 确实适用.大多数JavaScript库(jQuery,Prototype,Dojo,MooTools)都是在许可许可(MIT/BSD风格)下发布的,但请务必检查您使用的任何库的许可; 有些人可能会根据GPL或LGPL发布库.

即使您不需要发布源代码,在某些情况下这样做也许是有益的.特别是,如果您对项目进行了大量修改,然后他们发布了新版本,则可能需要做很多工作并将所有这些修改重新应用到新版本中.如果您将补丁发送回原始项目,并且他们认为您的补丁足以应用,那么您的更改将成为上游项目的一部分,并且他们所做的任何更改都将包括您的修改.

现在,如果您正在使用库,那么这个原因可能不适用于刚刚使用它的代码,但它将适用于您对库本身所做的任何修复或增强.

标准免责声明:我不是律师,这不是法律建议.如果您需要实际的法律建议,请咨询律师.


Ofi*_*fir 5

我不是律师,这不是法律建议,但我认为除了AGPL之外,您几乎可以使用所有许可证,因为您不会分发软件 - 仅在您的服务器上使用它.