Practical ways around the GPL?

My company makes an extremely specialized piece of software which costs a lot of money for those few who need it. On our current release we have no choice but to use a few libraries which are released only under the GPL.

Releasing the code is not an option and it would take months, if not years to implement the functionality the libraries provide.

What do companies do in this situation? Are there practical and legal ways around the GPL?


Contact the copyright holder. Ask them for a different license (and expect to pay for it).


The GPL only requires that you make the code available to anyone you distribute the software to . This is not exactly the same as releasing it to the whole world for free. From the GPL FAQ:

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

So if you only need the GPL libraries for building an internal tool, then there shouldn't be a problem. But from your question it seems that you actually do need to distribute your work to third parties.

Interestingly enough, the above also applies if you only make the software available as a web application hosted on your own web servers . Since you aren't technically distributing the application to the users, you don't have to give them the code. The Affero General Public License (AGPL) was designed specifically to close this loophole.

edit : The definition of a "derived work" is also very important for your question; if your application is not a derived work then the GPL would only require that you release any patches you made to the libraries. However, there is some controversy about the definition of "derived work". See the wikipedia article on the GPL, section Linking and Derived works.


If the GPL'd code is used as a library linked with your application, then your only chance is to ask the copyright holders for an alternative license.

If the GPL'd code is utilities that are/can be run as separate processes with a clean and natural interface (text I/O over a pipe is probably OK; COM/CORBA is probably not), then you can GPL those and your modifications to them without having to GPL the rest of your code base.

IANAL, so take with a grain of salt.

链接地址: http://www.djcxy.com/p/79508.html

上一篇: GPL和LGPL开源许可限制

下一篇: 有关GPL的实用方法?