Closed. This question does not meet
Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为
on-topic用于堆栈溢出。
5年前关闭。
Improve this question
您能否建议哪些是著名的“开放源代码”许可,允许我在专有Web服务中使用这些许可下的库(可通过Internet公众访问),而我不会将其开源。
我可以指出我正在使用库的某个地方,并且可以共享在库中所做的更改。
我想GPL不能在这里工作,因为我不会以GPL形式发布整个产品,还有其他选择吗?
这就是我对Meebo和libpurple的发现:
I have a licensing question. Do you guys feel that Meebo's use of libpurple is acceptable given the GPL status of the libpurple codebase? According to a post on the Meebo website, they feel that they are not required to release their source code because they do not directly distribute binaries to customers (since Meebo is a web application). The reason that I ask is because I am thinking about starting a project using the libpurple codebase and I'm wondering what the licensing restrictions would be.
libpurble开发人员回答说没关系:-S
另外,我发现了这一点:
The loophole referred to is that an “Application Service Provider” (hence “ASP”) gains the benefit of the freedom of a copyleft license, by running the program and (presumably) gaining whatever benefits come from having people access the running program across the network; but the provider can argue that they themselves are not redistributing the work as such, so they are not obliged to offer recipients the same freedom.
也就是说,我们可以在不分发应用程序本身的情况下在Web服务中使用GPL v2和v3代码(例如,像google一样)。那是对的吗?
这是一个很长的答案,所以对于那些不想全部阅读的人来说:
tl;博士:除非许可证是AGPL,否则您不必担心在自己的服务器上运行代码。如果您使用GPLed JavaScript库,则必须发布源代码,但这并不常见。在某些情况下,即使不需要您也可以发布修改内容。
That says that we can use GPL v2 & v3 code in web services while we are not distributing the application itself (for example like google does). Is that correct?
是的,这是正确的。许多公司内部使用自己的GPLed代码修改版本,而不必分发修改。
从
GPLv3:
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
...
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
这意味着即使您有用户与之进行远程交互,您也有权在自己的服务器上使用和修改该程序,而无需“传送”该程序所需的任何其他条件,例如提供源代码。向其他用户自己编程。因此,只要您在自己的服务器上内部使用它,就可以对自己的内心内容运行经过修改的GPL代码,而不必将经过修改的源分发给其他任何人。
GPLv2也不限制在您自己的服务器上运行代码,因此不需要您分发修改的源代码,尽管在这种情况下,它比GPLv3明确得多(很清楚):
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
从GPLv2常见问题解答:
A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources?
The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources.
It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications.
AGPL是一种许可证,旨在即使您仅在服务器上运行它,也要求您将源代码分发给用户。之所以创建它,是因为GPL不提供此类限制,并且某些人希望对自己的软件进行此类限制。但是,AGPL下发布的软件与GPLv2和v3几乎没有一样多。
FSF列出的几乎所有
free software licenses或OSI列出的
open source licenses也几乎没有限制在您自己的服务器上运行代码。
现在,需要注意的一件事是,以上所有内容仅适用于在您自己的服务器上运行的代码。发送到客户端并在其计算机上运行的JavaScript代码完全不同。 GPL确实适用于这种情况。大多数JavaScript库(jQuery,Prototype,Dojo,MooTools)都是在许可许可证(MIT / BSD风格)下发布的,尽管一定要检查您使用的任何库的许可证;有些人可能会根据GPL或LGPL发布库。
即使不需要发布源代码,在某些情况下这样做也可能会有所帮助。特别是,如果您对项目进行了大量修改,然后他们发布了一个新版本,那么将所有这些修改重新应用到新版本中可能需要进行大量工作。如果您改为将修补程序发送回原始项目,并且他们认为您的修补程序足以应用,那么您所做的更改将成为上游项目的一部分,并且所做的任何更改都将包括您的修改。
现在,如果您使用的是库,则该原因可能不适用于仅使用该库的代码,但是它将适用于您对库本身所做的任何修复或增强。
标准免责声明:我不是律师,这不是法律建议。如果您需要实际的法律建议,请咨询律师。
我是一名优秀的程序员,十分优秀!